View
3
Download
0
Category
Preview:
Citation preview
1
Webservices and Enterprise Service Bus
Lehrstuhl für Wirtschaftsinformatik undSoftwaretechnikProf. Dr. Stefan Eicker
Dipl.-Inform. (FH) Widura Schwittek
Guest lecture at
Fontys University of Applied Sciences, Venlo
November, 12th 2008
Elements of a Service-oriented Architecture
2
Agenda
SOA: A short introduction
Webservices
Enterprise Service Bus
Practical research work: Kaleidoscope
SOA bottom line
3
SOA: A short introduction
Webservices
Enterprise Service Bus
Practical research work: Kaleidoscope
SOA bottom line
SOA basics
4
Reality of current business ITlandscapes (1/3)
5
SOA basicsReality of current business ITlandscapes (2/3)
6
Reality of current business ITlandscapes (3/3)SOA basics
The vision of Serviceoriented Architectures (SOA)
Source: [Erl2005]
SOA basics
• SOA is not the first effort addressing this problem Enterprise Application Integration (EAI) Middleware etc.
• new layers of abstraction emerged in time
7
SOA basics
• SOA’s promises fosters reusability fosters flexibility fosters process orientation and integration
• term instrumented by marketing no clear definition
8
An SOA is a system architecture, that represents diverse, different and eventually incompatible methods and applications as reusable and easily accessible services, thus allowing a platform and language independent usage and reusability. Source: [DJMZ2005]
SOA basics
• despite of all promises yet to be fulfilled, a wide adoption has already begun
9
Motivation
10
SOA: A short introduction
Webservices
Enterprise Service Bus
Practical research work: Kaleidoscope
SOA bottom line
11
WebservicesService as a software component
Interface A•Operation 1•Operation 2•Operation 3•…
Interface B•Operation 1•Operation 2•…
Service Level Agreement (SLA)
Implementation
Business logic
Data
Service
Source: [KrBS2007, 78]
Webservices
„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It has an interface described in a machineprocessable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Webrelated standards.”
Source: [W3C2008]
12
Introduction (1/2)
Webservices
• Organizations W3C (World Wide Web Consortium) OASIS (Organization for the Advancement of Structured
Information Standards)
• Standards XML/XML schema WSDL ( Web Service Description Language) SOAP (Simple Object Access Protocol) UDDI (Universal Description, Discovery and Integration)
13
Introduction (2/2)
14
• SOAP protocol independent transport layer messages in XML format “… SOAP messages, typically conveyed using HTTP with an
XML serialization…” request and response wrapped in a SOAP envelope
ServiceRequestor
ServiceProvider
Request
Response
+ App.Message
WebservicesStandards used in a webservice call (1/4)
SOAP
Web Service Client Service description
WSDL
15
transport protocol
SOAP envelope
Attachments
SOAP Header (optional)
SOAP Body (mandatory)
File 1File n
WebservicesStandards used in a webservice call (2/4)
16
• WSDL interface description in XML format defines data types, message types and binding differentiation between abstract and concrete definition
• independent from binding technology fosters a different development approach
ServiceRequestor
ServiceProvider
Request
Response
+ App.Message
WebservicesStandards used in a webservice call (3/4)
SOAP
Web Service Client Service description
WSDL
17
WebservicesStandards used in a webservice call (4/4)
abstract definition
concrete definition
<types>…</types><interface>…</interface>
<binding>…</binding><service>…</service>
WSDL 2.0 definition
18
WebservicesWSDL, SOAP and XML schema interplay
XML document
SOAP message
Web Service
XML schema
WSDL
has/ references
describes
exchanges
has
describes
Source: [TiSt2007, 33]
19
• RequestResponse• OneWayMessage
Request that doesn‘t expect a response• Notification
Onewaymessage from service provider• Solicit Response
RequestResponse the other way
Synchronous
WebservicesMessage exchange patterns (1/2)
20
• Replyto addresses taken from the WSAddressing specification Service requester sends a request, but doesn‘t wait for a
response Service provider sends a response to the provided replyto
address
• Multiple Response one request, multiple responses (example: stock price request)
Asynchronous
WebservicesMessage exchange patterns (2/2)
What does the “Multiple Response” exchange pattern remind you of?
21
WebservicesWeb Service Architecture (1/2)
Service Registry
Service Requestor Service Provider
1. register2. search
3. call
4. deliver
SOAP
UDDI
Web Service Client
Service description
WSDL
22
WebservicesWeb Service Architecture (2/2)
Yellow Pages
Pet shop website Map provider
1. register2. search
3. call
4. deliver
SOAP
UDDI
Web Service Client
WSDL
Service description
How does a registry translate to the loose coupling principle?
23
Service RequesterApplication
Stub/ProxyObject
ApplicationServer
ServiceProvider
DevelopmentPlatform
WSDL
WebservicesWebservice client development
1.
2.
3.
Example:Writing a client that receives a description for a book identified by its ISBN number!
Webservices
• Webservices are per se interoperable!• Webservices are bound to http!• Webservices are slow!• Webservices are easy!
24
Common misunderstandings
Webservices
• 100+ specifications addressing different aspects of webservice usage WSTransaction WSI (WSInteroperability) WSBPEL WSCDL WSAddressing WSSecurity WSMetadataExchange WSPolicy WSNotification WSEventing …
25
Further standards
Webservices
• most used service technology in an SOA environment• benefits
standardization technology and platform independence loose coupling
26
Relation towards SOA
27
SOA: A short introduction
Webservices
Enterprise Service Bus
Practical research work: Kaleidoscope
SOA bottom line
• integration in an SOA achieved through WSBPEL and/or Enterprise Service Bus (ESB)
• central component• creates a virtual connection between two partners• focuses on data integration• different transparent functions
intelligent routing of messages transformation of data protocol additionally: encryption, singlesignon etc.
• n instead of n(n1)/2 dependencies28
Enterprise Service Bus
29
Enterprise Service BusBus concept
Provider Consumer Provider Provider
AdapterAdapterAdapterAdapter
Adapter Adapter Adapter Adapter
Consumer Provider Consumer Consumer
Routing Transformation Process Engine
Source: cf. [TiSt2007, 34]
30
Enterprise Service BusConcrete use case
ServiceInternal application
External systems from partners and other subsidiaries
Enterprise Service Bus
partner application
WebService
partner system
customer system
procurement system
partner system
system in subsidiary
Java EE application
Internal application
Proprietary system
.NET application
JMS/ JCA JMS/ JCA JCA SOAP/ HTTP
HTTP FTP SMTP/ POP JMS FTP SOAP/
HTTP JMS
Source: cf. [Wehn2005]
• Commercial IBM WebSphere ESB BEA AquaLogic Bus Microsoft Biztalk Server etc.
• Open Source Apache ServiceMix Mule OpenESB etc.
• differentiation mainly through provided adapters and the user interface
31
Enterprise Service BusProducts
• different opinions concerning the question whether ESB is a subset of SOA or not
• benefits raises level of abstraction supports composability and flexibility
32
Enterprise Service BusRelation towards SOA
33
SOA: A short introduction
Webservices
Enterprise Service Bus
Practical research work: Kaleidoscope
SOA bottom line
34
SOA
Application Frontend Service BusService Service
Repository
ImplementationContract Interface
Business Logic Data
Source: [KrBS2007, 76]
SOA bottom line (1/3)
SOA bottom line (2/3)
• Is SOA something new?
35
Webservices EJBService CORBAInterface description
WSDL Java Interface & Annotationen
IDL
Directory service UDDI JNDI CORBA Naming Service
Protocol SOAP/HTTP u.a. RMI/IIOP IOP
Platform platform independent Java platform independent
Integration process description “programmed” “programmed”
Call types asynchronous through messages
synchronous and asynchronous through Message DrivenBeans
synchronous and asynchronous through AMI
Standardization yes, WS*Standards yes, Java EEspecification OMG specifications
Further standards WSTransactionWSPolicy etc.
Java Transaction API Java Authentication and Authorization Service etc.
Transaction ServiceSecurity Service etc.
What about CORBA? What about Enterprise Java Beans/RMI?
SOA bottom line (3/3)
• What’s new then? SOA brings business and IT a step closer Standardization efforts and management commitment The right time?
• Some open issues the final integration problems still exist How to cope with many services? How to assure Quality of Service in complex scenarios? etc.
36
Still a lot of research work to be done!
37
SOA: A short introduction
Webservices
Enterprise Service Bus
Practical research work: Kaleidoscope
SOA bottom line
Kaleidoscope (1/3)
• Mastering the complexity of software intensive systems• Better comprehension of the SOA environment• Integrate enterprise repositories to support ondemand
creation of generic views• Efficient provision of contextspecific information based on
profiles• Threedimensional generic views
38
Kaleidoscope (2/3)
39
Source: [EiSK2007]
Kaleidoscope (3/3)
40
Context Attribute
SOA role SOA artefact
Visual representationLayout Symbolism
Profile
Profile dimension
Dimension value
Metamodel
Metamodel entity
SOA task
*
describes
has
defines
*
Mapping
Visual mapping
Organisational unit
Process
Activity
Service
Component
(simplified)
*
*
Structural dimension
Nonstructural dimension
Profile Area Information Area
Context Creation Area
Visual Representation Area
has
Literature (1/2)
[Erl2005]Erl,Thomas: ServiceOriented Architecture – Concepts, Technology, and Design. Prentice Hall, 2005.[Guge2007]Gugel, Tim (sd&m): SOA – Business Case oder nur ein Hype?. In: Business Integration Forum 2007, April 2007.[KrBS2007]Krafzig, Dirk; Banke, Karl; Slama, Dirk: Enterprise SOA – Best Practices für Serviceorientierte Architekturen – Einführung, Umsetzung, Praxis. mitp, Heidelberg 2007. [Melz2007]Melzer, Ingo: Serviceorientierte Architekturen mit Web Services. Spektrum, München 2007.[Stra2007]Straeten, Detlef (IBM): „SOA Infrastructure“ oder „Infrastructure SOA“?. In: Business Integration Forum 2007, April 2007[StTi2007]Stake, Gernot; Tilkov, Stefan (Hrsg.): SOAExpertenwissen. Dpunkt, Heidelberg 2007.
41
Literature (2/2)
[EiSK2007]Stefan Eicker, Thorsten Spies, Christian Kahl: Software Visualization in the Context of ServiceOriented Architectures. In: Proceedings of the 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis (Vissoft2007). IEEE, Banff, Alberta, Canada 2007, S. 108111.
42
43
Thank you for your attention!
Recommended