Home | Funktionalität | Technologie | Community | News | Download | Vermittler

Dialog-Technologie

Die zugrunde liegende Technologie trennt zwischen Präsentations-, Logik- und Persistenzschicht. Dialoge werden als eigenständige Entitäten mit Hilfe von XML oder XHTML definiert und über sog. Data Sources und ein flexibles Event-Modell mit der Logikschicht auf Server-Seite verbunden. Dies bietet eine hohe Flexibilität in der Gestaltung der Dialoge, die zudem völlig unabhängig von der Logikdefinition erfolgen kann.

Die beiden Alternativen bei der Dialogdefintion unterscheiden sich recht grundlegend. Während (X)HTML-Dialoge als eine Art "konkrete Implementierungssprache" angesehen werden können, die von einem Browser (HTML-Renderer) dargestellt werden, stellt die XML-Variante eine Meta-Ebene dar. Ein in XML definierter Dialog wird zunächst auf der Server-Seite transformiert und anschließend zu einem definierten Renderer (Synergy.Net Client) geschickt. Der Client wandelt die XML-Beschreibung in eine konkrete Implementierung um. Dabei kann es sich um eine Beschreibungssprache wie HTML handeln (Synergy.Net BrowserClient) oder um den eigentlichen Dialog innerhalb einer definierten Technologie (z.B. WinForms oder - aktuell in Entwicklung - Microsoft Silverlight bzw. Adobe Flex). Da (X)HTML als bekannt vorausgesetzt werden darf, wird in der Folge etwas näher auf die XML-Variante eingegangen.

Innerhalb der XML-Beschreibung werden die Inhalte des Dialogs definiert (also z.B. aus welchen Elementen besteht der Dialog, mit welchen Attributen der Logikschicht sind die einzelnen Elemente verknüpft und welche Methoden sollen im Falle welcher Events innerhalb der Logikschicht aufgerufen werden). Das Styling erfolgt unabhängig mit Hilfe von Style-Dateien. Damit können ein und dieselben Inhalte einfach, flexibel und wenn gewünscht auch dynamisch unterschiedlich dargestellt werden.

Neben der eigentlichen Dialogbeschreibung bietet die XML-Syntax eine Reihe von Sprachkonstrukten, die eine flexible Handhabung der Dialoge erlauben. Dies sind einerseits typische Konstrukte wie Entscheidungen (if-then-Strukturen), Schleifen (foreach) oder Variablen andererseits aber auch Konstrukte zum struktrierten Aufbau komplexer GUIs (include-Elemente und Ableitungen mit Vererbung).

Die XML-Beschreibung greift auf den breiten Fundus von GUI-Elementen zurück und ermöglicht so den Aufbau von Anwendungen mit "Desktop-Feeling" und hoher Interaktivität wie Drag&Drop, interaktiven Grafiken, komplexen Tabellen etc. Der Vorrat an Controls kann durch die Nutzung eines PlugIn-Mechanismus beliebig erweitert werden.

Beide Technologien (also XML und (X)HTML) können auch kombiniert verwendet werden. So kann innerhalb eines Dialogs, der in XML beschrieben wurde, ein Browser-Control definiert werden, innerhalb dessen HTML- bzw. (X)HTML-Dialoge angezeigt werden. Tatsächlich beruht die einfache HTML-Darstellung auf einem Browser-Control, das innerhalb einer einfachen XML-Definition enthalten ist und das den eigentlichen HTML-Inhalt darstellt. Die XML-Definition sieht hierfür wie folgt aus:



				

Der Client erhält die XML-Dialogbeschreibung über das Protokoll und wandelt diese in das Ziel-Widgetset der jeweiligen Plattform um ("rendering"). Der in Synergy.Net verwendete Client nutzt hierfür die Elemente von Windows Forms. Daneben existiert ein Browser-Client, der für denselben Zweck eine AJAX-Bibliothek verwendet. Zusätzlich können beliebige weitere Renderer entwickelt werden. So befindet sich aktuell ein Microsoft Silverlight Renderer (Client) in Entwicklung, der die Nutzung der Geschäftsprozesse innerhalb des Silverlight-PlugIns erlaubt.

Dialog-Beispiele

Einfacher XML-Dialog

Prozesse (Screen-Video)

Hinweise Hinweise

Diese Technologie ist primär für den Prozess-Entwickler auf der Server-Seite relevant.

Screenshot eines einfachen Beispiel-Dialogs