Tier-Splitting wird automatisiert

Volta: Web-Entwicklung à la Microsoft

06.12.2007
Microsoft hat die Vorabversion seines Web-Entwickler-Toolsets "Volta" veröffentlicht. Dieses soll die Entwicklung mehrschichtiger Web-Applikationen erleichtern, darunter auch solcher für SaaS-Szenarien (Software-as-a-Service).

Bei Volta können Entwickler C#, Visual Basic, IronPython oder andere .NET-Sprachen verwenden, die Bibliotheken und Werkzeuge von .NET verwenden. Allerdings benötigt man für Volta das neue Visual Studio 2008; mit dem älteren und immer noch populären Visual Studio 2005 funktioniert das neue Toolset nicht.

Interessant für Entwickler ist an Volta, dass sie ihre Applikation zunächst nicht speziell für das Web konzipieren müssen. Beim Prototyping wird zunächst eine reine Client-Anwendung angelegt; erst später wird über das sogenannte deklarative Tier-Splitting definiert, welche Teile des Programms auf dem Server und welche auf dem Client ablaufen sollen. Dabei hilft Volta mit Debugging und Performance-Profiling.

Anschließend erzeugt der Compiler automatisch den Client-Code, Server-Code sowie den Boilerplate-Code, der beide Schichten verbindet und Funktionen wie Kommunikation, Serialisierung und Sicherheit übernimmt. Entwickler können praktisch bis zum Schluss noch sehr rasch und umkompliziert die Architektur ändern.

Mit Volta will Microsoft seine "Software-plus-Services"-Bemühungen verstärken. Es nutzt dazu Techniken wie Microsofts LINQ (Language Integrated Query) und AJAX (Asynchronous JavaScript and XML) und automatisiert bestimmte Low-Level-Aspekte der Verteilung von Anwendungen über mehrere Tier. Die Entwickler können sich voll und ganz auf die Alleinstellungs-Features ihrer Applikation konzentrieren.

Das "Geheimrezept" von Volta ist seine Nutzung der Microsoft Intermediate Language (MSIL), mit der Anwendungen kompiliert werden, die in .NET-Sprachen geschrieben sind. Volta arbeitet mit einer MSIL-zu-MSIL-Rewriting-Technik, bei der nach der Kompilation Client-IL in JavaScript und Server-IL für ASP.NET umgewandelt wird. Die Server-Umwandlung erzeugt dabei auch Web-Services. (tc)