Diplomverteidigung Ulrich Dinger 02.11.2004

22
Diplomverteidigung Ulrich Dinger 02.11.2004 Thema: „Untersuchung und Entwicklung von Ansätzen und Techniken zur Realisierung einer (Web) Service Language“

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

Transcript of Diplomverteidigung Ulrich Dinger 02.11.2004

Page 1: Diplomverteidigung Ulrich Dinger 02.11.2004

Diplomverteidigung

Ulrich Dinger02.11.2004

Thema:

„Untersuchung und Entwicklung vonAnsätzen und Techniken zur

Realisierung einer (Web) ServiceLanguage“

Page 2: Diplomverteidigung Ulrich Dinger 02.11.2004

02.11.2004 Ulrich Dinger,[email protected] 2

Gliederung

Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse

Page 3: Diplomverteidigung Ulrich Dinger 02.11.2004

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

Page 4: Diplomverteidigung Ulrich Dinger 02.11.2004

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>

Page 5: Diplomverteidigung Ulrich Dinger 02.11.2004

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

Page 6: Diplomverteidigung Ulrich Dinger 02.11.2004

02.11.2004 Ulrich Dinger,[email protected] 6

Gliederung

Grundlagen & Motivation

Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse

Page 7: Diplomverteidigung Ulrich Dinger 02.11.2004

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

Page 8: Diplomverteidigung Ulrich Dinger 02.11.2004

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

Page 9: Diplomverteidigung Ulrich Dinger 02.11.2004

02.11.2004 Ulrich Dinger,[email protected] 10

Gliederung

Grundlagen & Motivation Stand der Technik

Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse

Page 10: Diplomverteidigung Ulrich Dinger 02.11.2004

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

Page 11: Diplomverteidigung Ulrich Dinger 02.11.2004

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

Page 12: Diplomverteidigung Ulrich Dinger 02.11.2004

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

Page 13: Diplomverteidigung Ulrich Dinger 02.11.2004

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

Page 14: Diplomverteidigung Ulrich Dinger 02.11.2004

02.11.2004 Ulrich Dinger,[email protected] 15

Gliederung

Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten

Realisierung Ergebnisse

Page 15: Diplomverteidigung Ulrich Dinger 02.11.2004

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>;

}}

Page 16: Diplomverteidigung Ulrich Dinger 02.11.2004

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>…

Page 17: Diplomverteidigung Ulrich Dinger 02.11.2004

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

Page 18: Diplomverteidigung Ulrich Dinger 02.11.2004

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

Page 19: Diplomverteidigung Ulrich Dinger 02.11.2004

02.11.2004 Ulrich Dinger,[email protected] 20

Gliederung

Grundlagen & Motivation Stand der Technik Ziele & Lösungsmöglichkeiten Realisierung

Ergebnisse

Ulrich Dinger, [email protected]

Page 20: Diplomverteidigung Ulrich Dinger 02.11.2004

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

Page 21: Diplomverteidigung Ulrich Dinger 02.11.2004

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

Page 22: Diplomverteidigung Ulrich Dinger 02.11.2004

02.11.2004 Ulrich Dinger,[email protected] 23

ENDE

Fragen, Anregungen, Beschwerden?