Kurzfassung der Studienarbeit Abteilung Informatik Name der Studierenden Pascal Schaefer, Manuel Bauer Studienjahr SS 07 Titel der Studienarbeit LINQ Case Study Examinator Hansjörg Huser Kurzfassung der Studienarbeit Aufgabenstellung Die Aufgabenstellung bestand darin, sich in LINQ und das „ADO.NET Entity Framework“ des „.NET Frameworks 3.5“ einzuarbeiten und einen Client-Server-Prototypen zu implementieren, welcher Paging von Objekt-Graphen, das Unit of Work Pattern, Data Binding und server-/clientseitige Views unterstützt. Im Verlaufe der Arbeit änderte sich die Aufgabenstellung, da LINQ in einer nächsten Version voraussichtlich die meisten dieser Anforderungen abdecken wird. Deshalb konzentrierte sich die Arbeit gegen Ende auf den Einsatz von LINQ mit pmMDA (poor man's Model Driven Architecture). Vorgehensweise Eine grosse Herausforderung war die Einarbeitung in diese neue Technologie, welche sich noch im CTP Stadium (Customer Technology Preview) befindet und bislang nur spärlich dokumentiert ist. Da der Projektverlauf aufgrund des Faktors „Technologie“ sehr ungewiss war, wurde der Entwicklungsprozess sehr agil gehalten und an wöchentlichen Sitzungen das weitere Vorgehen besprochen. Resultat Der anfangs zu implementierende Prototyp unterstützt Client-/Server-Caching, das Unit of Work Pattern auf Objekt-Ebene und Data Binding. Auch aus Sicht der Performance kann sich das Resultat sehen lassen, mehrere Millionen Datensätze können damit in einer Liste dargestellt und nahezu in Echtzeit angezeigt werden. Des Weiteren wurden auch Teile von „LINQ to SQL“ per „Reverse Engineering“ analysiert und dokumentiert, um einen tieferen Einblick in die angewandten Mechanismen zu erhalten. Dazu wurde auch ein weiterer Prototyp, den man als „LINQ to WCF“ bezeichnen könnte, entwickelt. So ist es möglich, IntelliSenseunterstützte Queries auf einem Client-System zu verwenden. Dies ist sonst nur direkt auf dem Server möglich. Der Einsatz von LINQ mit pmMDA wurde ebenfalls dokumentiert. Es stellte sich heraus, dass LINQ diverse Vorteile gegenüber dem gegenwärtigen System, welches mit NHibernate arbeitet, bietet. Abschliessend wurden, als Vorstudie für das Redesign der Persistenzschicht von pmMDA, Architektur Blueprints erstellt. 2