Sie sind auf Seite 1von 27

WEB

SERVICES
Markus Mitterer | Mathias Willburger

Agenda

There can only be one. Definitions Limitations of conventional technology Needs to use Web services Essential concepts behind Web services Overview of Web services middleware Web services architectures

Markus Mitterer | Mathias Willburger

Definitions Application accessable to other applications over the Web Self-contained, modular business applications that have open, Internet-oriented, standards-based interfaces A software application identified by a URI, whose interfaces and bindings are capable of beeing 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.

Markus Mitterer | Mathias Willburger

Motivating the Need for B2B Integration


Ordering System purchase order document customer-contact check availability

CRM System

Warehouse Controlsystem

not available
order atricle

available

ERP System

Financial System

write invoice

Manufacturing System

deliver goods

Markus Mitterer | Mathias Willburger

Motivating the Need for B2B Integration

Markus Mitterer | Mathias Willburger

Motivating the Need for B2B Integration

Remember single company scenario: same problems and same goals: Lower costs More efficient processes Monitor and track process executions Detect and manage exceptions Multi-company scenario: same problems but other solution needed! None of the previous discussed solutions fits here!
Markus Mitterer | Mathias Willburger

Limitations of Conventional Middleware in B2B Integration

No place where to put the middleware Solution: B2B integration performed the same way EAI is done:
Bildquelle: Web Services: Concepts, Architecture and Applications G. Alonso, F. Casati, H. Kuno, V. Machiraju Springer Verlag 2004

Problems: lack of trust, autonomy and confidentiality


Markus Mitterer | Mathias Willburger

Limitations of Conventional Middleware in B2B Integration

Alternate solution: point to point, seperately tackling the integration problem with each of the partners

Bildquelle: Web Services: Concepts, Architecture and Applications G. Alonso, F. Casati, H. Kuno, V. Machiraju Springer Verlag 2004

Markus Mitterer | Mathias Willburger

Limitations of Conventional Middleware in B2B Integration

Problems: many different middleware systems

Bildquelle: Web Services: Concepts, Architecture and Applications G. Alonso, F. Casati, H. Kuno, V. Machiraju Springer Verlag 2004

Markus Mitterer | Mathias Willburger

Limitations of Conventional Middleware in B2B Integration

Assumptions that were valid for EAI do not hold here: EAI short living interactions :: longer crossorganizational interactions EAI interactions occur in the same trust domain :: cross organizational interactions across different trust domains

Markus Mitterer | Mathias Willburger

B2B Integration before Web services

There were solutions before Web services, e.g. Walmart -> EDIFACT based B2B integration

Markus Mitterer | Mathias Willburger

B2B Integration before Web services

Markus Mitterer | Mathias Willburger

B2B Integration before Web services


Absender Absenderadresse Empfnger Empfngeradresse Fahrradhandel Pedal Wagingerstr. 5, 81549 Mnchen Huber GmbH Obstgasse 2, 81549 Mnchen ID = HUBERGMBH*) ID = FHPEDAL*)

Rechnungsdatum Rechnungsnummer Bestellung Bestelldatum drei Rechnungspositionen Nettosumme Steuerprozentsatz Steuerbetrag Gesamtbetrag Whrung der Betrge

02.08.99 9908001 O0010001 15.07.99 mit ArtNr, Text, Anzahl, Einzel- und Gesamtpreis 777,4 16% 124,38 901,78 DEM

Markus Mitterer | Mathias Willburger

B2B Integration before Web services

UNA:+,? ' UNB+UNOA:2+FHPEDAL+HUBERGMBH+990802: 1557+9908021557' UNH+INVOIC0001+INVOIC:D:93A:UN' BGM+380+9908001+9' DTM+3+19990802+102' RFF+ON+O0010001' DTM+4+19999715:102' NAD+SE++Fahrradhandel Pedal++Wagingerstr. 5+Mnchen++81549' NAD+BY++Huber GmbH++Obstgasse 2+Mnchen++81549' LIN+1++4711.001' IMD+F++:::Fahrrad, Damen' QTY+47:1:PCE' MOA+66:750' PRI+AAA:750' LIN+2++4711.002' IMD+F++:::Luftpumpe, Stand-' QTY+47:1:PCE' MOA+66:19,9' PRI+AAA:19,9' LIN+3++4711.003' IMD+F++:::Ersatzventil' QTY+47:3:PCE' MOA+66:7,5' PRI+AAA:2,5' UNS+S' MOA+79:777,4' MOA+124:124,38' MOA+128:901,78' TAX+7+VAT+++:::16+S' UNT+28+INVOIC0001' UNZ+1+9908021557'

Markus Mitterer | Mathias Willburger

B2B Integration before Web services

There were solutions before Web services, e.g. Walmart -> EDIFACT based B2B integration All solutions never became widely adopted because:
Lack of standards Lack of apropriate infrastructure Each system was unique Expensive to develop Almost impossible to reproduce Difficult to maintain Could not be adapted to new technologies Only large compynies could afford deploying such systems

Markus Mitterer | Mathias Willburger

B2B Integration before Web services

The Internet brougt some solutions:


More cost efficient network Standard interaction protocols (HTTP) Standard data format (XML) Standards were quickly adopted by companies

Still remaining problems:


HTTP & XML do not define interface definition languages, name and directory services, transaction protocols, ..

It is the Gap between what the Web provides (HTML, XML) and what application integration requires, that Web services are trying to fill

Markus Mitterer | Mathias Willburger

B2B Integration with Web services Service oriented paradigm

Service in middleware terms: procedure, method or object with a stable, published interface that can be invoked by clients. The invocation is made by a program! Web services are no different, except that it should be possible to invoke them across companies. Consequence: loosely coupled services

Markus Mitterer | Mathias Willburger

B2B Integration with Web services Service oriented paradigm

Not every service available on the Web is a Web service!! A Web service is a software application with a published, stable programming interface, not a set of Web pages.

Markus Mitterer | Mathias Willburger

B2B Integration with Web services Middleware protocols

Conventional middleware protocols, such als 2PC, were designed based on assumptions that do not hold in cross-organizational interactions. Example: central transaction coordinator Problems: lack of trust, confidentiality issues Solution: redesign (for all interaction and coodtination protocols)
Markus Mitterer | Mathias Willburger

B2B Integration with Web services Standardization

Having a service-oriented architecture and redifining middleware protocols is not sufficiant to address the application integration problem in a general way, unless these languages and protocols bocome standarized and widely adopted. Standards e.g. set by OASIS or W3C WEB services -> Web = high degree of standardization

Markus Mitterer | Mathias Willburger

10

B2B Integration with Web services Standardization

CORBA is platform- and language indipendend, but not simple. DCOM is language independent, but neither simple nor platform indipendend RMI is simple and platform independend, but not language independent
Web services using SOAP satisfies all of these requirements.

Markus Mitterer | Mathias Willburger

B2B Integration with Web services Summary or How this all fits together

Bildquelle: Web Services: Concepts, Architecture and Applications G. Alonso, F. Casati, H. Kuno, V. Machiraju Springer Verlag 2004

Markus Mitterer | Mathias Willburger

11

Web Services and EAI One specific use in mind: Web services are entry points to the local information system Simplified: wrappers that encapsulate one or more applications by providing a unique interface and a Web access

Bildquelle: Web Services: Concepts, Architecture and Applications G. Alonso, F. Casati, H. Kuno, V. Machiraju Springer Verlag 2004

Markus Mitterer | Mathias Willburger

Web Services and EAI

BUT Web services do not need to be accessable through the Internet. Many solutions are intracompany solutions
Bildquelle: Web Services: Concepts, Architecture and Applications G. Alonso, F. Casati, H. Kuno, V. Machiraju Springer Verlag 2004

Markus Mitterer | Mathias Willburger

12

Web Services and EAI

Nevertheless, the chellange and ultimate goal of Web services is inter-company interactions.
Bildquelle: Web Services: Concepts, Architecture and Applications G. Alonso, F. Casati, H. Kuno, V. Machiraju Springer Verlag 2004

Markus Mitterer | Mathias Willburger

Web Service Technologies

adressing more details

Markus Mitterer | Mathias Willburger

13

Comparing Web Services to other Distributed Computing Services

Bildquelle: http://learningcenter-sai.sun.com

Markus Mitterer | Mathias Willburger

How To Describe a Service (1) In conventional middleware based on IDL (Interface Definition Language)
Automatic creation of stubs Basis for dynamic binding

Bildquelle: http://learningcenter-sai.sun.com

Untreated issues

semantics, order, non-functional properties => have to be known in advance

Markus Mitterer | Mathias Willburger

14

How To Describe a Service (2)

Middleware platforms have implicit constraints and definitions security transactions status reliability That context is missing for Web Services demand of richer and more detailed descriptions
Markus Mitterer | Mathias Willburger

How To Describe a Service (3)

vertical standards properties and semantics business protocols interfaces common base language directories

Markus Mitterer | Mathias Willburger

15

How To Describe a Service (4) Business protocol e.g. ATM (automated teller machine) semantic workflow is called conversation define rules for proper conversations part of the business protocol languages for defining business protocols
Web Service Conversation Language (WSCL) Businness Process Execution Language for WS (BPEL)

Markus Mitterer | Mathias Willburger

How To Describe a Service (5) The capabilities of SOAP are quite basic and cant accomplish all approaches There exists several standards to provide soap extension which are aimed for business communication. On top of SOAP
ebXML (OASIS, SUN,) Biztalk (Microsoft)
Bildquelle: http://learningcenter-sai.sun.com

Fundamental technologies
XML HTTP

Markus Mitterer | Mathias Willburger

16

Case Study: weather-temperature (1) - SOAP

California - Sacramento ZIP-Code: 94203

find at: www.xmethods.com


Markus Mitterer | Mathias Willburger

Case Study: weather-temperature (2) - WSDL

Markus Mitterer | Mathias Willburger

17

Case Study: weather-temperature (3) - WSDL

Markus Mitterer | Mathias Willburger

Case Study: weather-temperature (4) - SOAP

Markus Mitterer | Mathias Willburger

18

Service Discovery(1)

Loosely-coupled structure Clients should be able to locate WebServices

Bildquelle: http://learningcenter-sai.sun.com

Service description is stored in a service directory

Markus Mitterer | Mathias Willburger

Service Discovery(2) Service Binding static at design time dynamic at run time Directory hosting trusted entitiy centralized company specific (security) Standardized protocol - UDDI API for publishing and discovering information

Markus Mitterer | Mathias Willburger

19

Service Interactions (1)

Usefull for all Web Services Implemented Layers by the Web Service middleware

middleware properties (horizontal protocols) protocol infrastructure (meta protocols) basic and secure messaging transport

Markus Mitterer | Mathias Willburger

Service Interactions (2) Transport for WS, the communication network is hidden behind a transport protocol most common HTTP Messaging SOAP (Simple Object Access Protocol) standardized way to format and package messages not application specific

Markus Mitterer | Mathias Willburger

20

Service Interactions (3)

Protocol Infrastructure (meta protocols) IDL + business protocol (application specific) common functionality of business protocols generic infrastructure examples
specify the business protocoll verify ruled communication status maintenance

Markus Mitterer | Mathias Willburger

Service Interactions (4)

Middleware properties (horizontal) same properties as conventional middleware transactions, reliability, advanced communication (beyond basic) with peer2peer protocols horizontal (applicable to many WS) supported by the meta-protocols entirely managed by the infrastructure (hidden for developers and users)

Markus Mitterer | Mathias Willburger

21

Combining Web Services

Web Services can invoke other WS Example quote for a 1 week vacation in spain flight ticket (Munich Barcelona) hotel (*** category) composite basic service irrelevant for the clients

Markus Mitterer | Mathias Willburger

Web Service Architecture (1)


Comany A (provider) Web service Web service interface Access to internal systems Web service Comany D (client)

Client

internal architecture

external architecture

Web service Web service Comany C (provider)

middleware internal service internal service Web service Web service

Comany B (provider)

Markus Mitterer | Mathias Willburger

22

Web Service Architecture (2)

Internal middleware (architecture) internal operations (receive requests and pass them to the underlying IT-system) similar to conventional middleware External middleware (architecture) represented by the middleware infrastructure integrate different Web Services

Markus Mitterer | Mathias Willburger

Internal Architecture (1)

Web Service interface access to internal systems clients from other companies

Web Service middleware (internal) service interface integration logic

conventional middleware (includes middleware services)

other tiers
Markus Mitterer | Mathias Willburger

other tiers

23

Internal Architecture (2)

Web Services are wrappers invoke internal services (application logic) collect results packing and unpacking messages convert to the underlying middleware Overhead of Web Services used in operations with appropriate conversion / operation relationship

Markus Mitterer | Mathias Willburger

External Architecture (1) In conventional middleware addressed by message brokers workflow management systems (WfMSs) Where to locate the external middleware? Fact: security, different parties (loosly coupled) 2 strategies:
everybody provides a name & directory service trustfull, centralized intermediary or broker middleware is splitted up to serveral locations!!!

Markus Mitterer | Mathias Willburger

24

External Architecture (2)


Company A (service requester) 3. interact Company B (service provider)

Web service client WS middleware (internal) other tiers 2. find

Web service WS middleware (internal) other tiers 1. publishing

service description Company C (directory service provider)


Markus Mitterer | Mathias Willburger

External Architecture (3)

Directory Service itself is likely to be a WS known address, interface Directory Service as single component of Web Service middleware other properties arent available or may be not centralized (peer-2-peer approach)

Markus Mitterer | Mathias Willburger

25

External Architecture (4)


Company A (service requester) transaction mgmt composition egine transaction mgmt composition egine Company B (service provider)

Web service client WS middleware (internal) other tiers

Web service WS middleware (internal) other tiers

service service service service description description description description

external middleware

Company C (directory service provider)


Markus Mitterer | Mathias Willburger

Acronmys

CORBA Common Object Request Broker Architecture SOAP Simple Object Access Protocol UDDI Universal Description, Discovery and Integration WSDL Web Service Description Language SMTP Simple Message Transport Protocol MOM Message Oriented Middleware IIOP Internet Inter Over Protocol JRMP - Java Remote Method Protocol JNI Java Native Interface

Markus Mitterer | Mathias Willburger

26

Quellen Web Services: Concepts, Architecture and Applications G. Alonso, F. Casati, H. Kuno, V. Machiraju Springer Verlag 2004 Sun Academic Initiative Java[tm] 2 Platform, Enterprise Edition (J2EE[tm] platform) Technology Overview Sampler https://learningcenter-sai.sun.com/

Markus Mitterer | Mathias Willburger

27

Das könnte Ihnen auch gefallen