LightSwitch – Genauer hingeschaut Teil 2 (Teil 5)
Kommentare

Im vorliegenden Beispiel in Listing 3 werden alle Objekte durchlaufen und deren EntityConflict-Eigenschaft (die Teil des Details-Objekts ist) überprüft. EntityConflict enthält  Informationen darüber,

Im vorliegenden Beispiel in Listing 3 werden alle Objekte durchlaufen und deren EntityConflict-Eigenschaft (die Teil des Details-Objekts ist) überprüft. EntityConflict enthält  Informationen darüber, ob ein Objekt auf dem Server gelöscht wurde, welche Eigenschaften in Konflikt miteinander treten (gemeint ist zwischen der Client- und Serverversion) und die Möglichkeit, über eine Methode (ResolveConflicts) den Konflikt gleich aufzulösen. In dieser Methode kann als Parameter angegeben werden, welche Version „gewinnen“ soll. Dementsprechende Konstanten sind dafür in Microsoft.LightSwitch.Details.ConflictResolution definiert (ServerWins bzw. ClientWins). Listing 3 demonstriert einen Ansatz, bei dem die Serverversion bestehen bleiben soll, falls das Objekt auf dem Server gelöscht wurde. Andernfalls soll die Version, die aktuell vorliegt, d. h. die Client-Version als neue Serverversion übernommen werden. 

Fazit

LightSwitch bietet einerseits einfache, designerbasierte Erstellung von datengetriebenen Businessanwendungen. Die Fähigkeiten der Designer sind ziemlich umfangreich, aber irgendwann stoßen auch diese an ihre Grenzen (z. B. bei der Erstellung von komplexeren Abfragen). Auf der anderen Seite steht die Möglichkeit, tiefgreifende Änderungen an der Business Logic vorzunehmen und Ereignisse mittels benutzerdefiniertem Code zu behandeln. Man erhält die Möglichkeit, dies auf Screen-, Daten- oder Abfrageebene durchzuführen. Daneben gibt LightSwitch nicht nur die Möglichkeit, eine Datenquelle einzubinden und eine isolierte Applikation zu schaffen, sondern auch die Möglichkeit zur Einbindung mehrerer Datenquellen, darunter SQL-Datenbanken aber auch SharePoint-Listen. Durch die Verbindung der externen Datenquellen erhält man die Möglichkeit, eine Art kleines Warehouse zu schaffen, das Datenbestände unterschiedlicher Herkunft miteinander verbindet und deren gemeinsame Bearbeitung über die LightSwitch-Masken zulässt. Dafür sind aus programmatischer Sicht nur wenige Handgriffe nötig. Überhaupt spiegelt sich der Eindruck der leichten Bedienbarkeit von LightSwitch auch in dessen API wieder. So ist es ein Leichtes und überaus intuitiv gelöst, programmatisch die Datenpersistenz über Changesets zu beeinflussen sowie das leidige Thema der Datensynchronisierung im Sinne der Concurrency in den Griff zu bekommen. Es gibt noch einigen Optimierungsbedarf, z. B. was die Nomenklatur der Ereignismethoden anbelangt, aber insgesamt hat Microsoft hier ein sehr solides RAD-Tool auf den Markt gebracht, das sowohl IT-Profis mit wenig Programmiererfahrung anspricht als auch erfahrene Entwickler, denen die Standarddesignerfeatures nicht ausreichen.

Martin W. Angler hat in Bozen und Wien studiert und arbeitet derzeit als Verantwortlicher für die Webentwicklung an der Europäischen Akademie Bozen. Sein Aufgabengebiet umfasst die Organisation, Planung und Entwicklung von SharePoint-Webapplikationen. Er führt ein Weblog unter http://angler.wordpress.com.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -