CLICK TO EDIT MASTER TITLE STYLE

Ähnliche Dokumente
Java API for XML Binding

Generischer Modellvergleich mit EMF Compare

Angewandte Softwareentwicklung Serialisierung

XSD - XML Schema Definition

5. Programmierschnittstellen für XML

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen

1. Einführung. Gliederung. Document Object Model (DOM) DOM Die Spezifikation (1) Level 2 HTML Specification. 1. Einführung. 2.

5. Programmierschnittstellen für XML

Java und XML 2. Java und XML

JAXB 2.0. Samuel Michaelis, Wolfgang Schmiesing. Ein Programmiertutorial für die Java Architecture for XML Binding ISBN

Programmieren II SAX. Beispiel-Schema kontakt.xsd SAX DOM. Dr. Klaus Höppner JAXB. Hochschule Darmstadt SS 2008

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Java Metadata Interface. Thorsten Pivl

Die Warenkorbfunktion (workbasket)

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) Jakob Külzer jakob.kuelzer@gmail.

WebServices -reloaded-

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Repetitorium Informatik (Java)

Vorlesung Programmieren

WPF. Übersicht. Komponenten & Frameworks Seite 1

Java Web Services. Seminarunterlage. Version 4.03 vom

6 Zusammenschaltung von Web-Services

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

XML Vorlesung FHA SS

JAXB 2.0. Ein Programmiertutorial für die Java Architecture for XML Binding. von Samuel Michaelis, Wolfgang Schmiesing. 1. Auflage

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert

5. Übung zur Vorlesung Service-orientierte Architekturen

Eclipse und EclipseLink

AUTOMATISIERTE GENERIERUNG VON XML- SCHEMATA AUS EN/ISO ARCHETYPEN

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

AK Medientechnologien 05 Delegation

Wiederholung: Beginn

Entwicklungstand der GUI

Programmieren II. Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz Institut für Angewandte Informatik

Programmieren 2 Java Überblick

JavaSpaces. Markus Helbig, Christian Holder, Marco Jilg, Dominik Krautmann, Richard Waschhauser

Einführung in ActionScript

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

WP4-33: Systementwicklung 7.Semester Übung 4: Entwicklung einer Software zur Extraktion von IFC-Daten

Firefox Add-ons. Präsentation in WAP WS09/10 von Christoph ASCHBERGER, Andreas BERTOLIN, Robert MUTTER und Yunzhou XU

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein

Handbuch für die Erweiterbarkeit

Mock-Objekte. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825

Analyse der Datenkommunikation zur drahtlosen Steuerung eines NAO Roboters durch ein Android Gerät

Projekt Xaml Konverter

GATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics )

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

Asynchrone Webservices mit Axis 1.x in Java

Verteilte Systeme: Übung 4

Entwicklungswerkzeuge

Berner Fachhochschule Software Schule Schweiz JDOM. Beatrice Amrhein. Oktober 06

Software Product Lines

Absicherung von Grid Services Transparenter Application Level Gateway

JTable. W. Lang HWR Berlin, SS

Klausur Grundlagen der Programmierung

Spezifikationen und Voraussetzung

DIPLOMARBEIT. Entwurf und Implementierung eines modularen USB-Stacks für eingebettete Controller ohne Betriebssystem. Uwe Pfeiffer

C# im Vergleich zu Java

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Client/Server-Systeme

WSDL Web-basierte Anwendungen WSDL WSDL. Eine Vertiefungsveranstaltung mit Schwerpunkt auf XML-Technologien. Web Services Description Language

Programmieren in Java

Präsentation zum Thema XML Datenaustausch und Integration


Maschinelles Lernen mit RapidMiner

CORBA. Systemprogrammierung WS

Projekt AGB-10 Fremdprojektanalyse

Programmieren in Java

NATURAL FOR AJAX RESPONSIVE WEB ANWENDUNGEN FÜR MOBILE ENDGERÄTE ROLAND FABICH NOVEMBER 2016

Schlussbewertung Version

Thomas Claudius Huber. Alles, was Sie über XAML wissen müssen

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe

Data Management mit UNICORE 6

Maschinelles Lernen mit RapidMiner. Fakultät Informatik Lehrstuhl für Künstliche Intelligenz

XML Werkzeug XML Spy. Frank Heininger Axel Labuschke

Erstellen von PDF-Dokumenten für Business-Anwendungen mit XSL-FO

3-Tier-Architecture und J2EE

Software Design basierend auf dem Plug-In Konzept

7. XML-Datenbanksysteme und SQL/XML

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Literaturverwaltung und LaTex Stephan von der Ropp

Transkript:

CLICK TO EDIT MASTER TITLE STYLE AUTOMATISCHE ERZEUGUNG VON BENUTZEROBERFLÄCHEN UND DATENHALTUNG FÜR DIE KONFIGURATION VON FELDGERÄTEN Diplomverteidigung Betreuer (Firma ubigrate): Dipl.-Inform. Falk Hartmann Betreuer (TU Dresden): Dipl.-Inf. Uwe Ryssel Johannes Koch 23. April 2009

CLICK ÜBERSICHT TO EDIT MASTER TITLE STYLE Vorbemerkung: XML und XML Schema Motivation und Aufgabenstellung Geräteintegration mit Java Gerätekonfiguration UI für Gerätekonfigurationen Technologieauswahl Lösung: Mapping XML Schema MXML Sprachvergleich Mappingalgorithmus Implementierung Zusammenfassung und Ausblick Demo 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 2 / 33

CLICK AUFFRISCHFOLIE: TO EDIT MASTER XML UND TITLEXML STYLE SCHEMA erfüllt XML-Dokument - Baum aus Elementen - Elemente haben öffnende und schließende Tags Schema Definiert, welche Form die Elemente in einem XML-Dokument haben können (z.b. Datentypen) Begriffsklärung: XML Schema ist die Sprache, in der XML-Schemata formuliert werden. Ein XML-Schema ist ein konkretes Schema-Dokument (eine Instanz von XML Schema). Eine Schema-Instanz oder Instanz eines Schemas ist ein XML-Dokument, das laut einem bestimmten Schema valide ist. 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 3 / 33

CLICK DIE UBIGRATE-PLATTFORM TO EDIT MASTER TITLE STYLE 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 4 / 33

CLICK GERÄTEKONFIGURATIONEN TO EDIT MASTER TITLE STYLE Multimeter mit RS-232-Schnittstelle GPS-Empfänger mit RS-232-Schnittstelle 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 5 / 33

CLICK GERÄTEKONFIGURATIONEN TO EDIT MASTER TITLE STYLE Ein Konfigurationsschema je Schnittstelle RS 232 TCP Socket 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 6 / 33

CLICK GERÄTEKONFIGURATIONEN: TO EDIT MASTER TITLEUIS STYLE Eine Konfiguration je Gerätetyp, ein UI je Schnittstelle RS-232-Konfigurations-UI Multimeter mit RS-232-Schnittstelle GPS-Empfänger mit RS-232-Schnittstelle 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 7 / 33

CLICK GERÄTEKONFIGURATIONEN: TO EDIT MASTER TITLEUIS STYLE Bei ubigrate eingesetzte UI-Technologie: Adobe Flex Deklarative UI-Beschreibungssprache: MXML Flex-Compiler MXML-Datei (.mxml) Flash-Datei (.swf) 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 8 / 33

CLICK AUFGABENSTELLUNG TO EDIT MASTER - UI TITLE STYLE XML-Schema (.xsd) Zu Erstellen: Mapping und Compiler von XML Schema nach MXML Flex-Compiler MXML-Datei (.mxml) Flash-Datei (.swf) 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 9 / 33

CLICK AUFGABENSTELLUNG TO EDIT MASTER - PERSISTENZ TITLE STYLE Konfiguration (.xml) Marshalling/Unmarshalling Java-Objekte Instanziierung Persistierung Konfigurationsschema (.xsd) Hibernate- Mapping (.hbm) Zu Erstellen: Mapping und Compiler von XML Schema nach HBM RDBMS 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 10 / 33

CLICK TO EDIT MASTER TITLE STYLE Technologieauswahl 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 11 / 33

JAXB: JAVA ARCHITECTURE FOR XML BINDING CLICK TO EDIT MASTER TITLE STYLE XML Schema XML Document marshal Binding Compiler Application JAXB API unmarshal Schema- Derived Classes & Interfaces Content Objects Java-Schnittstelle Abbildung zw. XML- Schema(ta) und Java- Klassen Marshalling von Java- Objekten in XML-Dokumente JAXB Reference Implementation (RI) von Sun 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 12 / 33

CLICK XJC TO EDIT MASTER TITLE STYLE XML Schema XML Document marshal Binding Compiler Application JAXB API unmarshal Marshalling der Instanzen dieser Klassen mit JAXB- Marshaller Schema- Derived Classes & Interfaces Content Objects Teil von JAXB RI Erzeugt Klassen aus Schema(ta) Plugin-Mechanismus 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 13 / 33

CLICK XJC-PLUGIN TO EDIT MASTER TITLE STYLE MXML-Bibliothek (Java) XJC MXML- Generator-Plugin Parser XSOM-Modell Java-Objekte Mapping-Programm Java RS-232- Konfiguration.xsd Flex-Applikation Java-Objekte Marshaller RS-232- Konfiguration.mxml 13.11.2008 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 15 / 33

CLICK TO EDIT MASTER TITLE STYLE Mapping von XML Schema nach MXML 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 16 / 33

CLICK SPRACHVERGLEICH TO EDIT MASTER TITLE STYLE XML Schema MXML logische Gruppierung z.b. <sequence> visuelle Gruppierung z.b. <Group> Element 1 Element 2 Control 1 z.b. Control 2 <TextBox> z.b. <ComboBox> Datentyp 1 Datentyp 2 z.b. int Restriktion z.b. string Facette z.b. <pattern> Wert 1 Wert 2 z.b. <Object> Legende: Zusammenfassung von Konfigurationsparametern Eltern-Kind-Beziehung (von oben nach unten) Validator Werte- z.b. <Array- Collection> sammlung z.b. <NumberValidator> Konfigurationsparameter- Darstellung Objektreferenz Datentypbeschreibung 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 17 / 33

CLICK MAPPINGALGORITHMUS TO EDIT MASTER TITLE STYLE Elementdeklaration mit komplexem Datentyp Visuelle Gruppierung durch Grid oder Form Elementdeklaration mit einfachem Datentyp Gruppierungselement mit Label und Eingabe-Control Art des Eingabe-Controls wird bestimmt durch Datentyp des Schemaelements: Boolean ComboBox Date DateChooser Time 2x ComboBox String oder Zahltyp TextInput oder ComboBox (bei Schwellwertunterschreitung) Eingabe-Controls müssen ggf. durch Validatoren überprüft werden. 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 18 / 33

CLICK MAPPING-BEISPIEL TO EDIT MASTER TITLE STYLE 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 19 / 33

CLICK KOMPLEXE TO EDIT ABHÄNGIGKEITEN MASTER TITLE STYLE XML Schema Element Datentyp z.b. string Restriktion Facette z.b. <pattern> Facette z.b. <length> Validator MXML Control 1 z.b. <RegExValidator> z.b. <TextBox> Validator z.b. <StringValidator> 1. Control-ID-Generierung nutzt Elementnamen 2. Controltyp abhängig von Wertebereichsgröße: vollständige Auswertung der Datentypinformationen nötig 3. Validatorgenerierung benötigt vollständige Auswertung der Datentypinformationen 4. Validatoren benötigen Control-ID zur Referenz Legende: Eltern-Kind-Beziehung (von oben nach unten) Objektreferenz Abhängigkeit 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 20 / 33

AUFLÖSUNG DER ABHÄNGIGKEITEN: CLICK TO EDIT MASTER TITLE STYLE MXMLGENERATOR UND MXMLFACTORY MXMLGenerator MXMLFactory Fertigungsbefehle Zwischenmodell aus Info-Objekten traversiert Marshalling Sch em a MXML-Datei MXMLFactory enthält Modell des zu generierenden MXML-Dokuments Controls und Validatoren werden im Modell durch Info-Objekte (Platzhalter) repräsentiert MXMLGenerator traversiert XML-Schema und verändert Modell in MXMLFactory durch Hinzufügen oder Verändern von Komponenten Nach vollständigem Durchlaufen des Schemas: Marshalling des Modells aus MXMLFactory 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 21 / 33

CLICK MXMLFACTORY EDIT MASTER BEISPIEL TITLE(1) STYLE MXMLFactory Methodenaufruf: begincontrolcreation Controls in Fertigung Fertige Controls Validations 1 Control 1 MXML-Modell 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 22 / 33

CLICK MXMLFACTORY EDIT MASTER BEISPIEL TITLE(2) STYLE Methodenaufrufe: putstringvalidation putstringvalidation- Attribute putpattern MXMLFactory Controls in Fertigung Fertige Controls Validations 1 Control 1 Control 1 StringValidation 1 PatternValidation 1 MXML-Modell 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 23 / 33

CLICK MXMLFACTORY EDIT MASTER BEISPIEL TITLE(3) STYLE Methodenaufruf: finishcontrolcreation MXMLFactory Controls in Fertigung Fertige Controls 1 Control 1 Validations Control 1 PatternValidation 1 StringValidation 1 MXML-Modell 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 24 / 33

CLICK MXMLFACTORY EDIT MASTER BEISPIEL TITLE(4) STYLE Methodenaufruf: begincontrolcreation MXMLFactory Controls in Fertigung Fertige Controls Validations 1 Control 2 1 Control 1 Control 1 PatternValidation 1 StringValidation 1 MXML-Modell 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 25 / 33

CLICK MXMLFACTORY EDIT MASTER BEISPIEL TITLE(5) STYLE MXMLFactory Methodenaufruf: begincontrolcreation Controls in Fertigung 1 Control 2 Fertige Controls 1 Control 1 Validations Control 1 PatternValidation 1 2 Control 3 StringValidation 1 MXML-Modell 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 26 / 33

CLICK MXMLFACTORY EDIT MASTER BEISPIEL TITLE(6) STYLE MXMLFactory Methodenaufrufe: putnumbervalidation setnumbervalidation- Attribute setnumbervalidation- Attribute Controls in Fertigung 1 Control 2 2 Control 3 Fertige Controls 1 Control 1 Validations Control 1 Control 2 PatternValidation 1 StringValidation 1 NumberValidation 1 Control 3 NumberValidation 2 MXML-Modell 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 27 / 33

CLICK MXMLFACTORY EDIT MASTER BEISPIEL TITLE(7) STYLE MXMLFactory Methodenaufruf: marshal preparemarshalling Controls in Fertigung 1 Control 2 Fertige Controls 1 Control 1 Validations Control 1 PatternValidation 1 2 Control 3 StringValidation 1 Control 2 NumberValidation 1 Control 3 NumberValidation 2 MXML-Modell Form 1 ComboBox 1 ComboBox 2 Validator 1 TextInput 1 Eltern-Kind-Beziehung ArrayCollection1 ArrayCollection2 Validator2 Referenz zwecks Validation Validator 3 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 28 / 33

CLICK MXMLFACTORY EDIT MASTER BEISPIEL TITLE(8) STYLE MXMLFactory Methodenaufruf: marshal Controls in Fertigung Fertige Controls Validations 1 Control 2 1 Control 1 Control 1 PatternValidation 1 2 Control 3 StringValidation 1 Control 2 NumberValidation 1 Control 3 NumberValidation 2 MXML-Modell 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 29 / 33

CLICK TO EDIT MASTER TITLE STYLE Zusammenfassung und Ausblick 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 30 / 33

CLICK ZUSAMMENFASSUNG TO EDIT MASTER TITLE STYLE Sprachanalyse: XML Schema und MXML/HBM strukturell ähnlich, Mapping prinzipiell möglich und sinnvoll, aber im Detail komplexe Abhängigkeiten Mappings für MXML und HBM definiert Compiler für MXML als XJC-Plugin implementiert Auflösung der komplexen Abhängigkeiten durch zweistufige Generierung (MXMLGenerator und MXMLFactory) Compiler für HBM und MXML getestet Lösung wird im Buildprozess der Firma ubigrate eingesetzt 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 31 / 33

CLICK AUSBLICK TO EDIT MASTER TITLE STYLE Erweiterung der Input-Möglichkeiten: Konfiguration von Software-Komponenten (Beispiel: Logger) Konfiguration von??? Erweiterung der Output-Möglichkeiten: Weitere UI-Elemente, z.b. VSlider Andere Oberflächentypen, z.b. HTML Anpassung an neue Versionen von MXML 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 32 / 33

CLICK TO EDIT MASTER TITLE STYLE Vielen Dank für Ihre Aufmerksamkeit! 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 33 / 33

CLICK TO EDIT MASTER TITLE STYLE Demo 23.4.2009 Generierung von Oberflächen und Datenhaltung zur Gerätekonfiguration 34