Menü
Developer

Oslo - schleichender Übergang von SOA zu Rapid Application Development

vorlesen Drucken Kommentare lesen 38 Beiträge

Die Reduzierung des "Oslo"-Projekts auf Datenbankmodellierung wirft bei .NET-Entwicklern viele Fragen auf. Die auf der PDC 2009 gezeigten Anwendungen der Modellierungssprache "M" zielen denn auch mehr auf Rapid Application Development (RAD) denn auf SOA für Enterprise-Anwendungen.

Auf der Microsoft SOA Conference im Oktober 2007 hatte Microsoft unter dem Codenamen "Oslo" ein großes Projekt angekündigt, dass die Modellierung, Implementierung und den Betrieb von SOA-Lösungen revolutionieren sollte. Ein Jahr später auf der PDC 2008 reduzierte Oslo sich dann schon auf den Modellierungsaspekt. Microsoft präsentierte die Modellierungssprachefamilie "M" (mit "MGrammar", "MSchema" und "MGraph"), davon abgeleitete domänenspezifische Sprachen (DSLs) wie "MService", "MUrl", "MWeb" und "MEntity", den grafischen Designer "Quadrant" und ein Datenbank-Repository für Modelle.

Auf der PDC 2009 wurde nun, wie schon kurz zuvor verbreitet, der Oslo-Begriff noch enger gefasst auf die Modellierung von Daten. "M" versteht sich jetzt als eine SQL-Alternative zur Definition von Datenbankschema und -inhalten. Das Repository nennt sich "SQL Server Modeling Services". Quadrant nannte Douglas Purdy ein "Database Visualisation Tool", mit dem man Datenbankinhalte anzeigen und abfragen, in Datenbeständen navigieren und Daten ändern kann. Zur Definition von Datenbankschemata kommt bevorzugt "M" zum Einsatz – SQL ist aber auch noch möglich.

"M ist Visual Basic für SQL und Quadrant ist das Access für SQL Server", fasste Purdy das Bestreben von Microsoft zusammen, die Handhabung von Datenbanken zu vereinfachen. Das klingt mehr nach Rapid Application Development (RAD) denn SOA. Laut Purdy zielt man mit "M" auf eine Anwendungsart, die er mit "Forms over Data" beschreibt und die heute noch vielfach durch Microsofts Access und Visual Basic abgebildet wird. Dabei soll Access nicht durch ein einzelnes Produkt, sondern durch eine ganze Reihe ineinandergreifender Produkte abgelöst werden. Neben "M" zur Datenmodellierung und dem ADO.NET Entity Framework zum Datenzugriff gehören RAD-UI-Frameworks wie ASP.NET Dynamic Data, SQL Server Integration Services zum Daten-Import und -Export und SQL Server Reporting Services für Berichte. Zum heutigen Stand fehlen aber ein grafischer Designer für "M" und ein RAD-UI-Framework für WPF und Silverlight. Aus der Ankündigung, solche Frameworks noch in .NET 4.0/Visual Studio 2010 zu integrieren, ist nichts umgesetzt worden.

Die Verwendung von "M" in Quadrant ist im Gegensatz zur Version von 2008 nur noch textbasiert, der grafische Ansatz bezieht sich nur auf die Visualisierung von Datenbankinhalten. In diesem Gebiet zeigte die Vorführung von Purdy auf der PDC tatsächlich interessante Funktionen wie eine unendliche Arbeitsoberfläche mit Zoom, Navigation entlang von Beziehungen, dynamische Erzeugung von Eingabemasken und Persistierung der aktuellen Ansichten und damit deutlich mehr, als das Management Studio des SQL Server und die Datenbankwerkzeuge für Visual Studio heute können.

Mit dem ADO.NET Entity Framework und dem zugehörigen XML-basierten Entity Data Model sowie dem grafischen Designer auf der einen Seite und dem textbasierten "M" mit "Quadrant“ auf der andere Seite scheint Microsofts Daten-Strategie für viele .NET-Entwickler aber zunehmend unübersichtlicher. "M" nähert sich von der textbasierten Seite stark dem an, was man mit EDM schon in XML-Form und einem zugehörigen Designer kann. Allerdings kann bisher Quadrant nur direkt auf Datenbanken zugreifen und nicht über EF. "Die Materialisierung von CLR-Objekten in EF passt nicht zu dem dynamischen Konzept und den Leistungsanforderungen für Quadrant", sagte Purdy. Zuvor hatte er in seinem Vortrag gezeigt, dass Quadrant auch mit mehreren Millionen Datensätzen klarkommt.

Microsoft hat inzwischen selbst einige Ungereimtheiten in der eigenen Strategie erkannt und daher die Reste des Oslo-Projekts in das Data-Programmability-Team, das für ADO.NET, EDM, Entity Framework, WCF Data Services und XML verantwortlich ist, integriert. Mit der aktuellen CTP-Version kann man schon in Visual Studio mit "M" Klassen für das Entity Framework generieren. Im nächsten Schritt soll der EF-Designer anstelle von EDM die M-Sprache verwenden. Auch wenn das auf der PDC 2008 schon mal in Form von MEntity erwähnt und in einem Vortrag auf der PDC 2009 schon als Prototyp gezeigt wurde, ist das alles immer noch Zukunftsmusik.

SQL Server Modeling Services, "M" und "Quadrant" sollen laut Purdy mit einer "zukünftigen Version" des SQL Server erscheinen. Damit ist aber nicht die kürzlich auf der TechEd als RC-Version bereitgestellte "SQL Server 2008 R2"-Version gemeint, sondern eine Version, die noch nicht einmal angekündigt ist. Auch wird die kommende Version des Entity Framework in .NET 4.0 und Visual Studio 2010 noch EDM statt M verwenden. Diese Angleichung könne erst in der übernächsten Version der Plattform und der Entwicklungsumgebung erfolgen, heißt es.

Aus dem Oslo-Projekt sind neben M, Quadrant und den SQL Server Modeling Services auch die Neuimplementierung Windows Workflow Foundation 4.0 und der Anwendungsserver AppFabric entstanden, die klarer dem Gebiet "SOA" zuzuordnen sind. Auf die Frage, was aus den anderen M-basierten DSLs in Bezug auf WCF-Dienste (MService, MUrl) und Workflows (MWorkflow) wird, sagte Jeff Pinkston: "Wir haben das weiterhin im Sinn, aber leider nur begrenzte Ressourcen." (Holger Schwichtenberg) / (ane)