Beruflich Dokumente
Kultur Dokumente
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
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.
CRM System
Warehouse Controlsystem
not available
order atricle
available
ERP System
Financial System
write invoice
Manufacturing System
deliver goods
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
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
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
Bildquelle: Web Services: Concepts, Architecture and Applications G. Alonso, F. Casati, H. Kuno, V. Machiraju Springer Verlag 2004
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
There were solutions before Web services, e.g. Walmart -> EDIFACT based B2B integration
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
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'
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
It is the Gap between what the Web provides (HTML, XML) and what application integration requires, that Web services are trying to fill
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
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.
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
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
10
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.
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
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
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
12
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
13
Bildquelle: http://learningcenter-sai.sun.com
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
14
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
vertical standards properties and semantics business protocols interfaces common base language directories
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)
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
16
17
18
Service Discovery(1)
Bildquelle: http://learningcenter-sai.sun.com
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
19
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
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
20
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
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)
21
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
Client
internal architecture
external architecture
Comany B (provider)
22
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
Web Service interface access to internal systems clients from other companies
other tiers
Markus Mitterer | Mathias Willburger
other tiers
23
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
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!!!
24
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)
25
external middleware
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
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/
27