Gelbmann, W. (2011). Design and implementation of LinqSpace [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-41828
Im .NET Umfeld hat sich LINQ (Language Integrated Query) als Komponente zur universalen Abfrage von Datenquellen durchgesetzt. Das Erzeugen der an SQL angelehnten Anfrage ist konsequent von der Ausführung und der Interpretation getrennt, was eine geeignete Basis für Erweiterungen darstellt.<br />Das "Space Based Computing" oder "Shared Data Spaces" Paradigma dient als Grundlage für die XVSM (eXtensible Virtual Shared Memory) Middleware Lösung, welche durchgängig Koordinatoren einsetzt um Abfragelogik vom Anwendungscode in das Framework zu verschieben. Die einleitende Intention dieser Arbeit resultierte in den Bestrebungen XVSM LINQ-tauglich zu machen und folglich die Interaktionsschnittstelle um eine vielseitige und ausdruckstarke Abfragesprache zu erweitern.<br />Ein Teilbereich dieser Arbeit präsentiert einen LINQ Adapter für die .NET Referenzimplementierung von XVSM (XcoSpaces). Dieser wandelt LINQ Abfragen, sogenannte Expression Trees, in den für XcoSpaces erfassbaren Linda-Koordinator um. Da dieser Koordinator auf Template-Matching basiert, sind die unterstützen LINQ Anweisungen stark eingeschränkt und umfassen im Wesentlichen Abfragen auf Gleichheit.<br />Als Konsequenz der erlangten Einsichten richtet sich der Fokus dieser Arbeit auf die Neuimplementierung der XVSM Spezifikation (LinqSpace) mit LINQ als primärer Schnittstelle für Abfragen. Zur Datenspeicherung wäre prinzipiell jedes LINQ-fähige System geeignet, jedoch wurde im Sinne neuer Evaluierungsmöglichkeiten auf eine, im XVSM Umfeld eher unkonventionelle Speicherform zurückgegriffen: die relationale Datenbank.<br />Abschließend wird der neue LinqSpace mit XcoSpaces verglichen und der Paradigmenwechsel von "Einträgen" im Space zu einem Arbeiten direkt an einem Domain-Model erläutert. Ein Beispiel zeigt wie die Entitäten eines Entity-Relationship-Modells und deren Beziehungen ohne zusätzliche Adaptionen als Grundlage für verteilte Koordination genutzt werden kann.<br />
de
In the .NET environment LINQ (Language Integrated Query) has established as universal component for data inquiry. The creation of the SQL-like query is strictly separated from the execution and interpretation and therefore represents an appropriate foundation for extensions.<br />The "Space-based computing" or "Shared Data Spaces" forms the basis for the XVSM (eXtensible Virtual Shared Memory) middleware solution that consistently uses coordinators to shift query logic from the application code into the abstraction framework. The initial intention of this work was to extend XVSM with LINQ in order to enrich the API with uniform and versatile query capabilities.<br />A portion of this thesis presents a LINQ adapter for XcoSpaces, the .NET reference implementation of XVSM. These module converts LINQ queries, so-called expression trees, to the matching LindaCoordinator inquiry which can be interpreted by XcoSpaces. Because this coordinator is based on template matching, the support of LINQ functionality is mainly restricted to equality comparisons.<br />As consequence of the insights gained, this work focuses on a new XVSM reference implementation (LinqSpace) with LINQ as primary interface for inquiry. For data storage any system which offers LINQ capabilities would be appropriate. In order to evaluate new opportunities an unconventional form of data storage regarding XVSM was chosen: the relational database.<br />Finally, the new LinqSpace is compared with XcoSpaces which allows illustrating the paradigm shift from "records" which are stored by the space toward direct interaction with a domain model. An example shows how the entities in an Entity-Relationship model and their relationships can be used as a basis for distributed coordination without additional adaptations.