service-orientierte architekturen

19
http://www.know-center.at © Know-Center - gefördert durch das Kompetenzzentrenprogramm Service orientierte Architekturen VU Wissenstechnologien WS 2007/08 Werner Klieber [email protected]

Upload: pscheir

Post on 05-Dec-2014

884 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Service-orientierte Architekturen

http://www.know-center.at

© Know-Center - gefördert durch das Kompetenzzentrenprogramm

Service orientierte Architekturen

VU Wissenstechnologien

WS 2007/08

Werner [email protected]

Page 2: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

2

Inhalt

Services/WebServices

Service orientierte Architekturen

Einschränkungen

Page 3: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

3

Was sind (Web) Services?

Definition von Service:

Eine Applikation-Komponente, die Information zur Verfügung stellt oder Daten transformiert.

Ein Service muss immer auf einem Rechner ausgeführt werden und kann daher eindeutig adressiert werden.

Implementierung eines Services kann über mehre Rechner verteilt werden, indem andere Services eingebunden werden

Ein Service soll möglichst autonom und unabhängig arbeiten um eine lose Kopplung von Systemmodulen zu ermöglichen.

Verwenden von plattformunabhängigen und sprachunabhängigen Protokollen

Web Services Verwenden Web-Technologien (XML) und sind über das Web erreichbar.

Web Services stellen ein Interface zur Verfügung, das von anderen Programmen aufgerufen werden kann.

Page 4: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

4

Finden von Web Services

Find-bind-execute pattern.Service lookup auf UDDI (Universal Description, Discovery and Integration) Servern

UDDI

Server

WSDL

Webservice(Skeleton)

Client(Stub)

Lookup(Service beschreibung)

SOAP

Services finden

Kennt das Service

Page 5: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

5

Standards und Spezifikationen 1

Definition von Service:

Standards werden vom W3C Konsortium entwickelt.

WS-I: Industrie Organisation um Web Service Interoperabilität zwischen Plattformen, Betriebssystemen und Programmiersprachen zu gewährleisten.

WSDL: Web Service Description Language. Ist ein XML Format um Web Services technisch als Set von Operationen basierend auf Messages zu beschreiben.

SOAP: Simple Object Access Protocoll. Ist ein one-way, stateless Protokoll um Daten in XML von einem Sender zu einem Empfänger zu transportieren. In SOAP 1.2 können auch Messages an mehre Empfänger gesendet werden.

Page 6: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

6

Standards und Spezifikationen 2

Definition von Service:

UDDI: Universal Description, Discovery and Integration Spezifikation. UDDI ist ein Registry Service für Web Services als auch anderen elektronischen Services.

SAML: Security Assertion Markup Language vom OASIS-Konsortium. Ist ein XML-basiertes Framework für Benutzerauthentifizierung und sicherheitsbezogene Informationen zu beschreiben und zu übertragen.

XKMS: XML Key Management Specification. Verteilen und Registrieren von Public-Keys.

REST (Representational State Transfer). Anderer Ansatz zu WSDL/Soap.

Page 7: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

7

Überblick Standards

(http://www.innoq.com/soa/ws-standards/poster/WS-Standards-2007-02-medium.jpg)‏

Page 8: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

8

WebServices mit WSDL und SOAP

<wsdl><!-- define a operation --><wsdl:operation name="GetUserData">

<wsdl:input message="es:GetUserDataRequest"/><wsdl:output message="es:GetUserDataResponse"/>

</wsdl:operation>

<!-- Request --><xsd:element name="GetUserDataRequest">

<xsd:complexType><xsd:sequence><xsd:element name="username" type="string"/><xsd:element name="role" type="string"/>

</xsd:sequence></xsd:complexType></xsd:element>

<!-- Response --><xsd:element name="GetUserDataResponse">

<xsd:complexType><xsd:all><xsd:element name="email" type="string"/>

</xsd:all></xsd:complexType></xsd:element>

<wsdl>

Page 9: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

9

WebServices mit WSDL und SOAP

<soap:Envelope><soap:Body

xmlns:m="http://www.example.org/userdata"> <m:GetUserData>

<m:email>[email protected]</m:email> </m:GetUserData>

</soap:Body></soap:Envelope>

Page 10: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

10

REST (Representational State Transfer)‏

WebServices mit SOAP: Ursprünglich um Standardisierte Funktionalitäten in Web-Seiten einzubinden. Werden aber als Middleware-Komponenten verwendet.

REST als Technologie um WebServices ohne Programierung zu verwenden.

Inputparameter werden in Web-Url mitgeschickt. Ergebnis ist ein XML Dokument. Ergebnisse können zum Beispile mit Stylesheet Transformationen eigene Web-Seiten eingebaut werden.

REST ist statless.

Wie das Ergebnis einer Anfrage repräsentiert wird, ist bei REST nicht spezifiziert.

Komposition: Es gibt eigentlich keine REST-Services sondern nur Resourcen. Diese sind über URIS eindeutig im Web Lokalisierbar und stehen anderen Anwendungen zur Verfügung

Page 11: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

11

REST Beispiel (Amazon Resultat)‏

<ProductInfo><Request><Args> omitted for clarity</Args></Request>

<TotalResults>828</TotalResults><TotalPages>83</TotalPages>

<Details url="http://www.amazon.com/..."><Asin>0596004508</Asin><ProductName>Mac OS X: The Missing Manual...</ProductName><Catalog>Book</Catalog><Authors>

<Author>David Pogue</Author></Authors><ImageUrlSmall>http://images.amazon.com/...</ImageUrlSmall> <ImageUrlMedium>http://images.amazon.com/...</ImageUrlMedium><OurPrice>$20.97</OurPrice>

</Details>

insert nine more books here

</ProductInfo>

Page 12: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

12

Inhalt

Services/WebServices

Service orientierte Architekturen

Einschränkungen

Page 13: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

13

Service Oriented Architecture (SOA)

SOA wird verwendet um Services zu verwalten.

Realisierungen durch ESB (Enterprise Service Bus)

Ist business orientiert (B2B)

Page 14: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

14

Service Oriented Architecture -Motivation case studies

SOA verspricht:Technologieunabhängigkeit, Wiederverwendbarkeit, Flexibiltät, Kostenersparniss

Applikationen besteht aus zusammengesetzten, wieder verwendbaren Komponenten. (Service oriented Computing Paradigma).

Kümmert sich um Sicherheit, Workflow, Routing, Monitoring, Performance, …

Page 15: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

15

Services zusammenschalten (orchestrieren)

Kernidee ist eine lose Kopplung einzelner Services. Services sollen autonom, isoliert und entkoppelt sein.“Contracts” definieren was Services machen (Verträge). “Policies” wie sie interagieren sollen (Richtlinien).Services dynamisch anbinden (dezentrale Steuerung). BPEL (Business Process Execution Language): XML-Standart um Prozesse zu modellieren.

CompentService

Applikation(Service)

AggregatonsService

CompentService

CompentService

AggregatonsService

Page 16: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

16

Choreography & Orchestration

Orchestration

Aggregation von verschiedenen Services zu Workflows.

Beinhaltet viele Low-Level Engineering-Tasks wie Transaktionsmangement, Datenkonvertierungen, …

Choreography

Wie man mit dem Service interagiert

Konsumation der Funktionalität

Ziel: Automation von Choreography & Orchestration

Page 17: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

17

Choreography & Orchestration (Bsp.)‏

Choreography Orchestration

from W3C-Workshop-Talk (John Domingue, DERI)http://www.w3.org/2005/04/FSWS/Submissions/1/wsmo_v10.pdf

Page 18: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

18

Limitierungen

SOA-InselnSumpf/WüsteneffekteAutomatisches Orchestrieren von Services und Choreographie ist problematisch

Page 19: Service-orientierte Architekturen

November 2007

http://www.know-center.at

© Know-Center

19

Ende