Diplomverteidigung Ulrich Dinger 02.11.2004

Preview:

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,ud827834@inf.tu-dresden.de 2

Gliederung

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

02.11.2004 Ulrich Dinger,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 6

Gliederung

Grundlagen & Motivation

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

02.11.2004 Ulrich Dinger,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 10

Gliederung

Grundlagen & Motivation Stand der Technik

Ziele & Lösungsmöglichkeiten Realisierung Ergebnisse

02.11.2004 Ulrich Dinger,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 15

Gliederung

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

Realisierung Ergebnisse

02.11.2004 Ulrich Dinger,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 20

Gliederung

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

Ergebnisse

Ulrich Dinger, ud827834@inf.tu-dresden.de

02.11.2004 Ulrich Dinger,ud827834@inf.tu-dresden.de 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,ud827834@inf.tu-dresden.de 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

02.11.2004 Ulrich Dinger,ud827834@inf.tu-dresden.de 23

ENDE

Fragen, Anregungen, Beschwerden?

Recommended