Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

TUM Hauptseminar Web Services – Water und JWIG Folie 1 Hauptseminar Web Services Sprachen I: Water und JWIG Andreas Töllich TU München, Lehrstuhl für Informatik.

Ähnliche Präsentationen


Präsentation zum Thema: "TUM Hauptseminar Web Services – Water und JWIG Folie 1 Hauptseminar Web Services Sprachen I: Water und JWIG Andreas Töllich TU München, Lehrstuhl für Informatik."—  Präsentation transkript:

1 TUM Hauptseminar Web Services – Water und JWIG Folie 1 Hauptseminar Web Services Sprachen I: Water und JWIG Andreas Töllich TU München, Lehrstuhl für Informatik 12. Juni 2003, München

2 TUM Hauptseminar Web Services – Water und JWIG Folie 2 Einführung: 1000 Fragenzeichen ? Programmiersprachen Parser Interoperabilität SOAP, WSDL, UDDI SOAP Clients Plattform Werkzeuge ROI, TOC

3 TUM Hauptseminar Web Services – Water und JWIG Folie 3 Einführung: Lösungsansätze Water Objektorientierte Programmiersprache XML Basis radikaler Ansatz… JWIG Framework Java Basis konservativer Ansatz… www.waterlang.org www.jwig.org

4 TUM Hauptseminar Web Services – Water und JWIG Folie 4 Übersicht Water Architektur, ConciseXML, Standards JWIG Architektur, Konzepte, Java Zusammenfassung Vergleich Water und JWIG

5 TUM Hauptseminar Web Services – Water und JWIG Folie 5 Übersicht Water Architektur, ConciseXML, Standards JWIG Architektur, Konzepte, Java Zusammenfassung Vergleich Water und JWIG

6 TUM Hauptseminar Web Services – Water und JWIG Folie 6 Water: Einführung Geburtsort MIT Learn once, use anywhere Erweiterung von XML: ConciseXML XML Einfluss von Scheme, Lisp, Smalltalk, JavaScript, HTML und XML

7 TUM Hauptseminar Web Services – Water und JWIG Folie 7 Water: Architektur trad. Web Services SOAPWSDLUDDIXML Java Script XSLT Web Service HTML JSPXalanJAXRJAXPAxis

8 TUM Hauptseminar Web Services – Water und JWIG Folie 8 Water: Web Services mit Water Gemeinsame Sprache über Schichten hinweg Keine APIs zw. algorithmischer- und Datensprache Bietet eigene Standards zu SOAP und Co. Einheitliche Methode Programmlogik, Präsentation, Daten zu verarbeiten Abkehr vom MVC-Paradigma REST-Architektur

9 TUM Hauptseminar Web Services – Water und JWIG Folie 9 Water: Architektur Client i Client i+1 Internet Intranet Server iServer i+1 Water Runtime Water Runtime Water Server Water Server als Servlet http URI http URI http URI

10 TUM Hauptseminar Web Services – Water und JWIG Folie 10 Water: ConciseXML XML 1.0 ist reine Syntax Wie können damit dynamische Anwendungen entwickelt werden? Water = Erweiterung von XML ConciseXML Funktionalitäten Präsentation der Daten Manipulation der Daten Abbildung von Daten

11 TUM Hauptseminar Web Services – Water und JWIG Folie 11 Objekt-orientierte Sprache Repräsentation Objekte Vor.: Eliminierung der Ambiguität von XML Konzepte der OOP Prototyp System Mehrfachvererbung Laufzeitvererbung XHTML Tags sind Water Objekte Water: ConciseXML

12 TUM Hauptseminar Web Services – Water und JWIG Folie 12 Möglichkeit 1 Miguel Ezquivel 24 Möglichkeit 2 Water: ConciseXML: Objektmodellierung Ambiguität

13 TUM Hauptseminar Web Services – Water und JWIG Folie 13 Water: ConciseXML: Beispiele /> <set a_Student = />. a_Student.show a_Student.birthday Klassendefinition Instantiierung Objektzugriff Methodendefinition Attribute

14 TUM Hauptseminar Web Services – Water und JWIG Folie 14 Water: ConciseXML: Sprachmerkmale Ausdrücke Flusskontrolle,, Boolsche Ausdrücke, getter-, setter-Anweisungen, Anmerkungen als constraints relativ geringer Sprachumfang

15 TUM Hauptseminar Web Services – Water und JWIG Folie 15 Water: ConciseXML: Beispiele. cond1 action1 cond2 action2a action2b else action3. /> x if Abfrage get Anweisung Vergleichsoperator

16 TUM Hauptseminar Web Services – Water und JWIG Folie 16 Water: Standards SOAP WSDL UDDI XPath XSLT Web Services Water Water Transform Water Path Water Protocol Water Web Water Registry XML

17 TUM Hauptseminar Web Services – Water und JWIG Folie 17 Zugriff auf entfernte Ressourcen Ressourcen werden via URI adressiert Auch SOAP Nachrichten können erzeugt werden Definition eigener Protokolle möglich Water: Standards: Water Web vs. SOAP /> my_homepage.

18 TUM Hauptseminar Web Services – Water und JWIG Folie 18 Water: Standards: Water Protocol vs. WSDL WSDL beschreibt Interface einer entfernten Ressource Jede Ressource ist ein Objekt, jedes Objekt ist Instanz einer Klasse Entwurf einer Klasse zu einer Ressource Angabe von Argumentennamen, Typen, Bedingungen in der Klassendefinition

19 TUM Hauptseminar Web Services – Water und JWIG Folie 19 Water: Standards: Water Path vs. XPath XML Teilbäume werden mit XPath adressiert Water Path: Adressierung von Objekten student.surname student. Konvertierung von XPath in URIs möglich

20 TUM Hauptseminar Web Services – Water und JWIG Folie 20 Water: Zusammenfassung ConciseXML kein Bruch zw. Programmiersprache und Markup Keine APIs benötigt (vgl. Java) Vermischung von Daten, Präsentations- und Geschäftslogik Fehlen von best practices und Unterstützung durch Community, Industrie

21 TUM Hauptseminar Web Services – Water und JWIG Folie 21 Übersicht Water Architektur, ConciseXML, Standards, Web Services JWIG Architektur, Konzepte, Java Zusammenfassung Vergleich Water und JWIG

22 TUM Hauptseminar Web Services – Water und JWIG Folie 22 JWIG: Übersicht Framework, Java-basiert, Java 1.2.x Forschungsprojekt des BRICS Forschungszentrums, Universität Aarhus Open Source, GNU Public License Übersetzer, Laufzeitsystem, Analysemodul Laufzeitsystem als DSO für Apache verfügbar

23 TUM Hauptseminar Web Services – Water und JWIG Folie 23 JWIG: Architektur

24 TUM Hauptseminar Web Services – Water und JWIG Folie 24 JWIG: Fokus JWIG adressiert zwei essentielle Aspekte bei der Entwicklung von Web Services und - Anwendungen Dynamische Konstruktion von Dokumenten - XML und XHTML Session Management - HTTP zustandslos

25 TUM Hauptseminar Web Services – Water und JWIG Folie 25 JWIG: Sessions Zentrale Bedeutung von Sessions Session = Folge von Interaktionen zw. Client und Server Session code (server-seitiger Thread) XHTML Client

26 TUM Hauptseminar Web Services – Water und JWIG Folie 26 JWIG: Sessions Klasse Service JWIG Anwendung Innere Klasse Session Show() Receive() Exit() Innere Klasse Session Request, der Session startet Thread Interaktion mit Client

27 TUM Hauptseminar Web Services – Water und JWIG Folie 27 JWIG: Template System Ausgabe von JWIG Anwendungen: XHTML mittels template Sytem erzeugt Trennung von Geschäfts- und Präsentationslogik XML template XML Ausdruck gaps Laufzeit gaps Zeichenfolgen Vorlagen Java Code

28 TUM Hauptseminar Web Services – Water und JWIG Folie 28 JWIG: Template System: Beispiel

29 TUM Hauptseminar Web Services – Water und JWIG Folie 29 JWIG: Sonstige Merkmale Garbage collector für nicht mehr benötigte Sessions Validierung von Formularfeldern mit Powerforms (Boolsche Logik, reguläre Ausdrücke) SOAP: ein analyzer überprüft erzeugte SOAP- envelopes auf Gültigkeit WSDL, UDDI etc.: Java APIs und Tools

30 TUM Hauptseminar Web Services – Water und JWIG Folie 30 JWIG: statische Analyse Vorhandensein, richtige Verwendung der gaps Richtige Reihenfolge der Eingabefelder Gültigkeit von XHTML Dokumenten

31 TUM Hauptseminar Web Services – Water und JWIG Folie 31 JWIG: Java Integration Keine Konkurrenz, sondern Erweiterung Java als ideale Basis (garbage collector, sandbox Modus, Unicode, RSA, classloader, threads etc.) JWIG Anwendungen werden vollständig in Java übersetzt

32 TUM Hauptseminar Web Services – Water und JWIG Folie 32 JWIG: Zusammenfassung Keine neuer Sprache zu erlernen Nahtlose Integration in Java Neues Konzept für Sessions Vorbildcharakter: analyzer Template System Trennung von Geschäfts- und Präsentationslogik MVC Pattern (Model = XML, View = templates, Controller = sessions)

33 TUM Hauptseminar Web Services – Water und JWIG Folie 33 Übersicht Water Architektur, ConciseXML, Standards, Web Services JWIG Architektur, Konzepte, Java, Web Services Zusammenfassung Vergleich Water und JWIG

34 TUM Hauptseminar Web Services – Water und JWIG Folie 34 Vergleich: Water und JWIG Radikaler Ansatz Entgegen dem Trend Konservativer Ansatz Folgt als Java Framework dem Trend Breitere AkzeptanzAll-in-one Philosophie Wenig zukunftsträchtig Leichte Integration in bestehende Systeme Profitiert von Entwicklungen in der Java Welt Erweiterungen müssen vom Hersteller implementiert werden (closed source) nur ein weiteres FrameworkRevolutionärer Ansatz (REST)

35 TUM Hauptseminar Web Services – Water und JWIG Folie 35 Vielen Dank für Ihre Aufmerksamkeit Fragen ?

36 TUM Hauptseminar Web Services – Water und JWIG Folie 36 To be or not to be… XML? <set the_date= Today is />


Herunterladen ppt "TUM Hauptseminar Web Services – Water und JWIG Folie 1 Hauptseminar Web Services Sprachen I: Water und JWIG Andreas Töllich TU München, Lehrstuhl für Informatik."

Ähnliche Präsentationen


Google-Anzeigen