220 likes | 301 Views
Diplomverteidigung Ulrich Dinger 02.11.2004. Thema: „Untersuchung und Entwicklung von Ansätzen und Techniken zur Realisierung einer (Web) Service Language“. Gliederung. Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse. Grundlagen.
E N D
DiplomverteidigungUlrich Dinger02.11.2004 Thema: „Untersuchung und Entwicklung vonAnsätzen und Techniken zurRealisierung einer (Web) ServiceLanguage“
Gliederung • Grundlagen & Motivation • Stand der Technik • Ziele & Lösungsmöglichkeiten • Realisierung • Ergebnisse Ulrich Dinger,ud827834@inf.tu-dresden.de
Grundlagen Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • Web Services Definition/Eigenschaften • modulare, lose gekoppelte, wieder verwendbare Anwendung • basiert auf XML • Nutzung vorhandener (Internet-)Protokolle (HTTP, FTP, SMTP) Firewall • Nachrichtenaustausch (SOAP) • Abstrakte Schnittstellenbeschreibung (WSDL) • Ziel: Erhöhung der Wiederverwendung • Bsp.: Wetterdienste, Börsennachrichten, … Ulrich Dinger,ud827834@inf.tu-dresden.de
Grundlagen Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • XML (standardisiert, plattformunabhängig, internationalisiert) universelles Datenaustauschformat, gut maschinenverarbeitbar • XML-Technologien • Validierung (DTD, XML Schema) • XML-Transformationen (XSLT) • Navigation (XPath) • Anfragesprache für XML-Datenbanken (XQuery) <?xml version="1.0" encoding="ISO-8859-1"?> <diplomarbeit status="fertig"> <titel>Untersuchung und Entwicklung von Ansätzen…</titel> <autor>Ulrich Dinger</autor> <datum>30-09-2004</datum> </diplomarbeit> Ulrich Dinger,ud827834@inf.tu-dresden.de
Motivation Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • verschiedene Technologien entwickelt • bei Erstellung eines Web Services Festlegung auf eine davon jeweils hohe Einarbeitungszeit (Sprache + Tools) • wenig Flexibilität bei Änderung der Anforderungen • Vermengung von Zuständigkeiten (Logikbeschreibung, Optimierung) • Ziel: Entwicklung (Web)Service Sprache zur abstrakten Beschreibung der Logik; Abbildung auf vorhandene Technologien Ulrich Dinger,ud827834@inf.tu-dresden.de
Gliederung • Grundlagen & Motivation • Stand der Technik • Ziele & Lösungsmöglichkeiten • Realisierung • Ergebnisse Ulrich Dinger,ud827834@inf.tu-dresden.de
Stand der Technik Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • Verschiedene Technologien und Standards zur Erstellung von Web Services • traditionelle Sprachen + API (z.B. Apache AXIS) • spezielle Sprachen (DSL) • Workflow-Beschreibung (z.B. BPEL4WS) • Web Service Sprachen (z.B. XL) • SOAP, WSDL, … Ulrich Dinger,ud827834@inf.tu-dresden.de
Beispiele Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • Apache AXIS Toolkit • Entwicklung mit API; zusätzliche Tools zum Hosten von Services, Code Generierung • BPEL4WS • XML-Sprache; Workflow-Beschreibung; „Orchestrierung“ von Services; 2 Schichten: Business Prozess, aufgerufene Services • XL (XML based Language) • Universität Heidelberg; Web Service Sprache; prototypische Ausführungsumgebung (XL-Plattform); Verwendung des XQuery-Typsystems • Java-ähnliche Syntax Ulrich Dinger,ud827834@inf.tu-dresden.de
Gliederung • Grundlagen & Motivation • Stand der Technik • Ziele & Lösungsmöglichkeiten • Realisierung • Ergebnisse Ulrich Dinger,ud827834@inf.tu-dresden.de
Ziele Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • Entwicklung einer Web Service Sprache (SL); Beseitigung Nachteile • Anforderungen • Abstrakte Beschreibung eines Services in SL Transformation auf Zielsprachen bzw. umgekehrt • Marhalling-Problem XQuery (Anfrage und Navigation in XML-Daten) • Entwicklersicht (Plain-Text) mit bekannten Konstrukten wie Schleifen, Bedingungen; Syntax bekannt; syntaktische Fehler sollen dem Entwickler mitgeteilt werden • Tools zur Codegenerierung Ulrich Dinger,ud827834@inf.tu-dresden.de
Lösungsmöglichkeit 1 Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • Entwicklung Syntax von SL; Grammatikregeln • Erstellung von Compilern zur Transformation auf Zieltechnologien und zurück • Nachteile • für alle Sprachen Compiler benötigt • bei Syntaxänderung von SL alle Compiler anpassen • Code-Generierung durch weitere Compiler Ulrich Dinger,ud827834@inf.tu-dresden.de
Lösungsmöglichkeit 2 Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • FXL (Flexible XML based Languages) • Repräsentationsprinzip • Transformationsprinzip • Vorteile: • einheitliche Quellcode-Repräsentation (XML) standardisierte XML-Technologien einsetzbar • individuell anpassbare Syntax • Nachteile • erhöhter Speicherbedarf durch XML-Repräsentation Ulrich Dinger,ud827834@inf.tu-dresden.de
Lösungsmöglichkeit 2 Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • Anwendung der FXL-Prinzipien • XML-basierte Sicht (xSL) • Plaintext-Sicht (SLP) • XML-Transformationen • Nachteile • Transformationen für jede Sprache notwendig Ulrich Dinger,ud827834@inf.tu-dresden.de
Gliederung • Grundlagen & Motivation • Stand der Technik • Ziele & Lösungsmöglichkeiten • Realisierung • Ergebnisse Ulrich Dinger,ud827834@inf.tu-dresden.de
Realisierung (1/4) Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • SLP (Plaintext-Sicht) • eine mögliche Sicht von SL, XL als Grundlage • Grammatik für XL lag als JavaCC-Grammatik vor • ANTLR-Grammatik erstellt (wegen FXL) • XL-Syntax weitestgehend für SLP übernommen, erweitert um Synchronisation, Operationsmodifikatoren, Service-Aufrufe auf WSDL-Beschreibungen service “helloWorldService@http://localhost:10001/" { public operation sayHello($input as xs:string) { let $output := <result>Hello</result>; } } Ulrich Dinger,ud827834@inf.tu-dresden.de
Realisierung (2/4) Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • xSL (XML-basierte Sicht) • erstellt aus Syntaxbaum des SLP-Programmes • zusätzlich XML Schema-Definition zur Validierung • Rücktransformation von xSL nach SL … <operation> <name>sayHello</name> <parameters> <variable> <type>xs:string</type> <identifier> <local_name>input </local_name> </identifier> </variable> </parameters> <clauses> … </clauses> <statements> … </statements> </operation> … Ulrich Dinger,ud827834@inf.tu-dresden.de
Realisierung (3/4) Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • Transformationen • Realisierung verschiedener prototypische „technologiespezifischer“ Transformationen: • xSL xXL und zurück (xXL = XML-basierte Sicht von XL) • BPEL4WS xSL • xSL xJava/AXIS (xJava = XML-basierte Sicht von Java) • Nutzung der Transformationssprache TL (Transformation Language), im Rahmen von FXL erstellt Ulrich Dinger,ud827834@inf.tu-dresden.de
Realisierung (4/4) Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • Integration in FXL-Editor • Graphischer Editor zur Referenzimplementierung der FXL-Prinzipien • Verwendung von ANTLR-Grammatiken • Verschiedene Sichten auf den Quellcode (Plain-Text, XML) • Erstellung von Pipelines zur Ausführung von Transformationen • Zusätzlich: TokenMarker für Syntax-Hervorhebung Ulrich Dinger,ud827834@inf.tu-dresden.de
Gliederung • Grundlagen & Motivation • Stand der Technik • Ziele & Lösungsmöglichkeiten • Realisierung • Ergebnisse Ulrich Dinger,ud827834@inf.tu-dresden.de Ulrich Dinger, ud827834@inf.tu-dresden.de
Ergebnisse Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse • Abstrakte Beschreibung in SL möglich (SLP für Entwickler, xSL für Maschinenverarb.) • 3 Typen von Transformationen • Abbildung von SL auf vorhandene Technologien Trennung von Zuständigkeiten, Erhöhung der Wiederverwendung von Code • Abbildung von vorh. Technologien auf SL Nutzung vorhandener Tools • Transformationen von WSDL nach SL und umgekehrt Codegenerierung, Senkung Entwicklungsaufwand • Einheitliche Quellcoderepräsentation (XML) einheitliches Tool (z.B. FXL-Editor) nutzbar Ulrich Dinger,ud827834@inf.tu-dresden.de
Ausblick Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Zusammenfassung • Spezifikation von SL (genau: xSL) liegt in Version 1.0 vor • Prototypische technologiespezifische Transformation realisiert • diese müssen vollständig realisiert werden • für Konstrukte, für die es keine Entsprechung in SL gibt, muss SL erweitert werden Ulrich Dinger,ud827834@inf.tu-dresden.de
ENDE Fragen, Anregungen, Beschwerden? Ulrich Dinger,ud827834@inf.tu-dresden.de