5. Übung zur Vorlesung Service-orientierte Architekturen



Ähnliche Dokumente
Workflow, Business Process Management, 4.Teil

Wiederholung: Beginn

Auszug aus JAX-WS Folien

Zustandsgebundene Webservices

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

WebService in Java SE und EE

Verteilte Systeme: Übung 4

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services

3-schichtige Informationssystem-Architektur

POIS-Praktikum Prozessimplementierung, RosettaNet PIPs 3A

Web Services Die Definition von Web Services in der Theorie und FNT-Command als Web Service in der Praxis

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

VVA Webservice Online Lieferbarkeits-Abfrage

PL/SQL Web-Services mit Oracle 11g

Einführung in Eclipse und Java

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Transparente SOA Governance mit Modellierung. OOP 2010 München, 28. Januar 2010, 12:30 Uhr Modeling Day

Benutzerhandbuch für die Verwendung des viavac HL7 Forcast Webservices (VAC-CDSS)

Anleitung zur Webservice Entwicklung unter Eclipse

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München,

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Übung: Verwendung von Java-Threads

Java Web Services Metadata JSR-181

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Java: Vererbung. Teil 3: super()

ITT WEB-Service DEMO. Kurzbedienungsanleitung

SAP NetWeaver Gateway. 2013

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Einrichtung eines -konto mit Thunderbird

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Durch Standardisierung können Webservices von jedem Cluster verwendet werden, unabhängig von Betriebssystem und verwendeter Sprache.

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Java und XML 2. Java und XML

Übungen zu Softwaretechnik

Step by Step Webserver unter Windows Server von Christian Bartl

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL

Abschlussarbeiten für StudentInnen

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Programmiermethodik. Übung 13

WSDL. Web Services Description Language. André Vorbach. André Vorbach

Schritt 1: Auswahl Schritt 3 Extras > Konten Schritt 2: Konto erstellen Konto hinzufügen klicken

SOA Serviceorientierte Architektur Definition, Marktpotenzial und Perspektiven

Konfiguration der tiptel Yeastar MyPBX IP-Telefonanlagen mit Peoplefone Business SIP Trunk

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

Architektur von SOAP basierten Web Services

Einrichten eines POP-Mailkontos unter Thunderbird Mail DE:

Step by Step Softwareverteilung unter Novell. von Christian Bartl

E-Services mit der Web-Service-Architektur

Anforderungen an die HIS

Übungen zur Softwaretechnik

Remote Method Invocation

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

Zur Definition von Web-Services

Konfiguration der Yeastar MyPBX IP-Telefonanlagen mit iway Business SIP Trunk

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Mobile und Verteilte Datenbanken

Semantic Web Services

Anlegen eines virtuellen http Server unter Exchange 2003 mittels HOSTNAME

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

Schritt 2: Konto erstellen

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

3 Konfiguration OfficeMaster 3.10 SNMP

teischl.com Software Design & Services e.u. office@teischl.com

IVS Arbeitsgruppe Softwaretechnik Abschnitt Management komplexer Integrationslösungen

E-Business Architekturen

16.4 Wiederverwendung von COTS-Produkten

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5

Webseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Xylem WebService Demo Kurzbedienungsanleitung

Einrichtung eines -konto mit Outlook Express

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Anleitung Typo3-Extension - Raumbuchungssystem

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

Norm 225 Service Definition mit WSDL

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

RESTful Web. Representational State Transfer

Enterprise Application Integration Erfahrungen aus der Praxis

Dokumentation Schedulingverfahren

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Transkript:

5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011

Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter als absolute OK: Akteure sind durch Swimlanes leichter/besser darstellbar NICHT OK: Akteure sind in eepk nicht darstellbar SOA Webservices und WSDL SoSe 2011 2

Wdhlg. Allgemeine Architektur Welche Architekturtypen unterscheiden wir in SOA? IT-Architektur und Software-Architektur Wo sind die Unterschiede? Anwendungslandschaft vs. Anwendung Projektübergreifend vs. Projektspezifisch Service-Komposition vs. Service-Implementierung Warum IT-Architektur? Vermeidung organisatorischer und technologischer Fehler SOA braucht Planung und Kontrolle auf höherer Ebene (im Vergleich zur Software-Architektur) SOA Webservices und WSDL SoSe 2011 3

Auf was müssen Architekten achten? Grundeigenschaften Thin Client Communication Layer Loose Kopplung Design By Contract Program to an interface Keep it simple Stateless Services Flexibility Service Wiederverwendung Transparent Dynamic Invocations UDDI Paradigm Changes Geschäftsprozesszentiert SOA Webservices und WSDL SoSe 2011 4

Wie Services schneiden? Service-Kandidaten bestimmen: Top-Down / Bottom-Up? Top-Down geht von Geschäftsprozessen aus wenn es noch keine Services gibt wenn SOA global eingeführt wird wenn es ein Projekt gibt Buttom-Up nimmt Services, verknüpft sie zu Prozessen bei vielen getrennten Entwicklungsgruppen falls Management nicht dahinter steht wenn es viele Services bereits gibt wenn nur Altsysteme angeschlossen werden sollen Pragmatisch wohl eher ein Mix Treffen in der Mitte SOA Webservices und WSDL SoSe 2011 5

Aspekte beim Schneiden grob vs. fein-granular Einzelne Aktivitäten oder ein ganzer Prozess? Nie kleiner als fachliche Funktion Im Zweifel grob fachlich vs. technisch Auf welcher Ebene befindet sich der Service? Im Zweifel fachlich Wiederverwendbarkeit Durch uns? Durch andere? Flexibilität Generell (viele Fkt.) vs. Speziell (wenige Fkt.) Geschwindigkeit Jede Anfrage kostet Zeit was fasst man zusammen? Im Zweifel wenige größere Nachrichten SOA Webservices und WSDL SoSe 2011 6

Webservices Definition nach W3C A software application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered as XML artifacts. A Web service supports direct interactions with other software agents using XML-based messages exchanged via Internet-based protocols. Definition in dieser Vorlesung Webservice: Ein Webservice ist ein Service, der von anderen Softwaresystemen über ein Netzwerk und möglicherweise sogar dem Internet über SOAP aufrufbar ist. Die Schnittstelle eines Webservices ist mittels WSDL beschrieben. SOA Webservices und WSDL SoSe 2011 7

Web Service Architektur Requestor (Client) Rich Client Web Client Service Proxy SOAP Client HTTP Client UDDI Browser Provider (Service Tier) HTTP Server Web Container SOAP Server Web Service Implementation Business Logic Service Registry (fka UDDI) JDBC EIS-Adapter Provider (Database) Provider (Backend EIS) CRM ERP SOA Webservices und WSDL SoSe 2011 8

Java EE APIs (oder Java EE vs. Java SE) SOA Webservices und WSDL SoSe 2011 9

JAX-WS und JAXB JAX-WS = Java API for XML-Based Web Services API zur Erstellung von Webservices Benutzt Annotationen Unterstützt Bottom-Up (Java WSDL) und Top-Down (WSDL Java) Ansatz JAXB = Java Architecture for XML Binding Wird von JAX-WS benutzt, um XML-Datentypen und Java-Datentypen zu vermitteln (eingehend und ausgehend) Unser erster Webservice Hello World Jax-WS Demo SOA Webservices und WSDL SoSe 2011 10

WSDL-Aufbau WSDL-Dokument Typen (Types) Nachrichten (Message) PortTypes Binding Service schema part operation name input output fault operation name input output fault port XML-Schema- Datentypen-Definitionen Definition von Nachrichten (Datentypen) Mehrere Parts möglich Abstrakte Operationen mit Ein- und Ausgabe- Nachrichten Protokoll für jede Nachricht einer Operation URI für den Webservice (auch Endpoint) SOA Webservices und WSDL SoSe 2011 11

Übung Gästebuch als Webservice Ausgangspunkt: Gästebuch-Schema (XSD) und Service-Schnittstelle (WSDL) http://static.se.uni-hannover.de/lehre/tutorials/src/guestbook.xsd http://static.se.uni-hannover.de/lehre/tutorials/src/guestbook.wsdl Generiert mit JAX-WS die Java-Klassen./src/> /opt/j2ee/jdk/bin/wsimport keep GuestBook.wsdl Implementiert den Service (Interface Class) Startet den Webservice public static void main(string[] args) throws IOException { Endpoint service = Endpoint.publish("http://localhost:8080/GuestBookService", System.in.read(); service.stop(); } new GuestBook()); Testet den Service mit dem Eclipse Webservice Explorer http://localhost:<port>/wse/wsexplorer/wsexplorer.jsp?org.eclipse.wst.ws.explorer=0 Achtung: JavaScript erforderlich SOA Webservices und WSDL SoSe 2011 12

WSDL-Aufbau WSDL-Dokument Typen (Types) Nachrichten (Message) PortTypes Binding Service schema part operation name input output fault operation name input output fault port XML-Schema- Datentypen-Definitionen Definition von Nachrichten (Datentypen) Mehrere Parts möglich Abstrakte Operationen mit Ein- und Ausgabe- Nachrichten Protokoll für jede Nachricht einer Operation URI für den Webservice (auch Endpoint) SOA Webservices und WSDL SoSe 2011 13

Aufgabe 5 (10 Punkte) Web-Shop-Produktverwaltungs-Service (10P) Erstellen Sie auf Basis des Schemas aus Hausaufgabe 01 einen Produktverwaltungs-Webservice, mit folgenden Operationen: Product get(productid): Liefert Datensatz eines Produkts zu der angegebenen ID (Artikelnummer), inkl. der verfügbaren Menge im Lager Status:String add(product): Fügt ein Produkt in die Liste aller Produkte hinzu, liefert im Erfolgsfall eine Statusnachricht zurück List<SimpleProduct> getproductlist(): Liefert eine Liste aller im System vorhandenen Produkte zurück. Für die Liste enthält jedes Produkt nur folgende Eigenschaften: ID, Name, Preis, Lagerbestand Der Service muss die Daten nicht persistent halten Testen Sie alle Operationen mit dem Eclipse Webservice Explorer SOA Webservices und WSDL SoSe 2011 14