Upload
teagan-kelly
View
18
Download
0
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
Diplomverteidigung
Ulrich Dinger02.11.2004
Thema:
„Untersuchung und Entwicklung vonAnsätzen und Techniken zur
Realisierung einer (Web) ServiceLanguage“
02.11.2004 Ulrich Dinger,[email protected] 2
Gliederung
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 3
Grundlagen
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, …
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 4
Grundlagen
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)
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
<?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>
02.11.2004 Ulrich Dinger,[email protected] 5
Motivation
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
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 6
Gliederung
Grundlagen & Motivation
Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 7
Stand der Technik
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, …
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 8
Beispiele
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
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 10
Gliederung
Grundlagen & Motivation Stand der Technik
Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 11
Ziele
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
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 12
Lösungsmöglichkeit 1
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
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 13
Lösungsmöglichkeit 2 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
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 14
Lösungsmöglichkeit 2
Anwendung der FXL-Prinzipien XML-basierte Sicht
(xSL) Plaintext-Sicht (SLP) XML-Transformationen
Nachteile Transformationen für
jede Sprache notwendig
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
SLP xSL
Plain Text Sicht XML- basierte Sicht
BPEL4WS
Java/AXIS
XL
Ta -Transformationen
Tc -Transformationen
WSDL
02.11.2004 Ulrich Dinger,[email protected] 15
Gliederung
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten
Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 16
Realisierung (1/4)
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
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
SLP xSL
Plain Text Sicht XML- basierte Sicht
BPEL4WS
Java/AXIS
XL
Ta -Transformationen
Tc -Transformationen
WSDL
service “helloWorldService@http://localhost:10001/" { public operation sayHello($input as xs:string) {
let $output := <result>Hello</result>;
}}
02.11.2004 Ulrich Dinger,[email protected] 17
Realisierung (2/4)
xSL (XML-basierte Sicht) erstellt aus
Syntaxbaum des SLP-Programmes
zusätzlich XML Schema-Definition zur Validierung
Rücktransformation von xSL nach SL
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
SLP xSL
Plain Text Sicht XML- basierte Sicht
BPEL4WS
Java/AXIS
XL
Ta -Transformationen
Tc -Transformationen
WSDL
…<operation> <name>sayHello</name> <parameters> <variable> <type>xs:string</type> <identifier>
<local_name>input </local_name>
</identifier> </variable> </parameters> <clauses> … </clauses> <statements> … </statements></operation>…
02.11.2004 Ulrich Dinger,[email protected] 18
Realisierung (3/4)
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
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
SLP xSL
Plain Text Sicht XML- basierte Sicht
BPEL4WS
Java/AXIS
XL
Ta -Transformationen
Tc -Transformationen
WSDL
02.11.2004 Ulrich Dinger,[email protected] 19
Realisierung (4/4)
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
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 20
Gliederung
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung
Ergebnisse
Ulrich Dinger, [email protected]
02.11.2004 Ulrich Dinger,[email protected] 21
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
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse
02.11.2004 Ulrich Dinger,[email protected] 22
Ausblick
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
Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Zusammenfassung