Die Projektwerkstatt.

webC

Das Ziel von webC (webC executes bits of code) ist, eine Softwarearchitektur zu schaffen, mit der man Quelltext mit Hilfe eines Web-Browsers auf einem entfernten Server kompilieren und dort ausführen kann („Mobiler Code“). Das System soll dabei die Interaktion mit den Programmen ermöglichen und dem Anwender Möglichkeiten zur Steuerung geben. Eine spezielle Entwicklungsumgebung wird nicht mehr benötigt, sodass webC Anfängern den Einstieg in die Programmierung erleichtert.
Es können Quelltexte gespeichert, mit Schlagworten versehen und anderen Anwendern zur Verfügung gestellt werden, sodass der Aufbau von Code-Bibliotheken unterstützt wird.

Bei der Entwicklung wurde zunächst ein eigenes Protokoll für den Umgang mit mobilem Code entwickelt. Basierend auf diesem Protokoll wurde eine Server-Software für Linux-Systeme implementiert. Besonders wichtig ist dabei, die Sicherheit des ausführenden Systems zu gewährleisten, da prinzipiell beliebige Programme zur Ausführung gebracht werden können. Bestimmte kritische Operationen wie z.B. der Aufbau von Netzwerkverbindungen, der zu Angriffen über das Internet genutzt werden könnte, werden vom System erkannt und zuverlässig unterbunden.

webC unterstützt derzeit die Programmiersprachen C, C++ und Python und ist um weitere Sprachen modular erweiterbar. Die Integration eines Debuggers, der über das Web gesteuert werden kann, ist angedacht.

Das System „webC“ wurde von den Studenten Patrick Peters und Thilo Spiertz in einem Projekt im Rahmen der Veranstaltung „Fortgeschrittene Internetanwendungen“ konzipiert und entwickelt.