Abstract

Werbung
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
Herunterladen