43
 Webservices and Enterprise Service Bus Lehrstuhl für Wirtschaftsinformatik und Softwaretechnik Prof. 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

Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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

Page 2: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

2  

Agenda

SOA: A short introduction

Webservices

Enterprise Service Bus

Practical research work: Kaleidoscope

SOA bottom line

Page 3: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

3  

SOA: A short introduction

Webservices

Enterprise Service Bus

Practical research work: Kaleidoscope

SOA bottom line

Page 4: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

SOA basics

4  

Reality of current business IT­landscapes (1/3)

Page 5: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

5  

SOA basicsReality of current business IT­landscapes (2/3)

Page 6: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

6  

Reality of current business IT­landscapes (3/3)SOA basics

The vision of Service­oriented Architectures (SOA)

Source: [Erl2005]

Page 7: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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  

Page 8: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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]

Page 9: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

SOA basics

• despite of all promises yet to be fulfilled, a wide adoption has already begun 

9  

Motivation

Page 10: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

10  

SOA: A short introduction

Webservices

Enterprise Service Bus

Practical research work: Kaleidoscope

SOA bottom line

Page 11: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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]

Page 12: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

Webservices

„A Web Service is a software system designed to support interoperable machine­to­machine interaction over a network. It has an interface described in a machine­processable 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 Web­related standards.”

Source: [W3C2008]

12  

Introduction (1/2)

Page 13: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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)

Page 14: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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

Page 15: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

15  

transport protocol

SOAP envelope

Attachments

SOAP Header (optional)

SOAP Body (mandatory)

File 1File n

WebservicesStandards used in a webservice call (2/4)

Page 16: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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

Page 17: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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

Page 18: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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]

Page 19: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

19  

• Request­Response• One­Way­Message

­ Request that doesn‘t expect a response• Notification

­ One­way­message from service provider• Solicit Response

­ Request­Response the other way

Synchronous

WebservicesMessage exchange patterns (1/2)

Page 20: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

20  

• Reply­to addresses­ taken from the WS­Addressing specification­ Service requester sends a request, but doesn‘t wait for a 

response­ Service provider sends a response to the provided reply­to 

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?

Page 21: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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

Page 22: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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?

Page 23: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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!

Page 24: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

Webservices

• Webservices are per se interoperable!• Webservices are bound to http!• Webservices are slow!• Webservices are easy!

24  

Common misunderstandings

Page 25: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

Webservices

• 100+ specifications addressing different aspects of webservice usage­ WS­Transaction­ WS­I (WS­Interoperability)­ WS­BPEL­ WS­CDL­ WS­Addressing­ WS­Security­ WS­Metadata­Exchange­ WS­Policy­ WS­Notification­ WS­Eventing­ …

25  

Further standards

Page 26: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

Webservices

• most used service technology in an SOA environment• benefits

­ standardization­ technology and platform independence­ loose coupling

26  

Relation towards SOA

Page 27: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

27  

SOA: A short introduction

Webservices

Enterprise Service Bus

Practical research work: Kaleidoscope

SOA bottom line

Page 28: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

• integration in an SOA achieved through­ WS­BPEL 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, single­sign­on etc.

• n instead of n(n­1)/2 dependencies28 

 

Enterprise Service Bus

Page 29: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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]

Page 30: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

30  

Enterprise Service BusConcrete use case

ServiceInternal application

External systems from partners and other  subsidiaries

Enterprise Service Bus

partner application

Web­Service

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]

Page 31: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

• 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

Page 32: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

• 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

Page 33: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

33  

SOA: A short introduction

Webservices

Enterprise Service Bus

Practical research work: Kaleidoscope

SOA bottom line

Page 34: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

34  

SOA

Application­ Frontend Service BusService Service 

Repository

ImplementationContract Interface

Business Logic Data

Source: [KrBS2007, 76]

SOA bottom line (1/3)

Page 35: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

SOA bottom line (2/3)

• Is SOA something new?

35  

Webservices EJB­Service 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 Driven­Beans

synchronous and asynchronous through AMI

Standardization yes, WS­*­Standards yes, Java EE­specification OMG specifications

Further standards WS­TransactionWS­Policy etc.

Java Transaction API Java Authentication and Authorization Service etc.

Transaction ServiceSecurity Service etc.

­ What about CORBA?­ What about Enterprise Java Beans/RMI?

Page 36: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

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!

Page 37: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

37  

SOA: A short introduction

Webservices

Enterprise Service Bus

Practical research work: Kaleidoscope

SOA bottom line

Page 38: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

Kaleidoscope (1/3)

• Mastering the complexity of software intensive systems• Better comprehension of the SOA environment• Integrate enterprise repositories to support on­demand 

creation of generic views• Efficient provision of context­specific information based on 

profiles• Three­dimensional generic views

38  

Page 39: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

Kaleidoscope (2/3)

39  

Source: [EiSK2007]

Page 40: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

Kaleidoscope (3/3)

40  

Context Attribute

SOA role SOA artefact

Visual representationLayout Symbolism

Profile

Profile dimension

Dimension value

Meta­model

Meta­model entity

SOA task

*

describes

has

defines

*

Mapping

Visual mapping

Organisational unit

Process

Activity

Service

Component

(simplified)

*

*

Structural dimension

Non­structural dimension

Profile Area Information Area

Context Creation Area

Visual Representation Area

has

Page 41: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

Literature (1/2)

[Erl2005]Erl,Thomas: Service­Oriented 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: Service­orientierte 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.): SOA­Expertenwissen. Dpunkt, Heidelberg 2007.

41  

Page 42: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

Literature (2/2)

[EiSK2007]Stefan Eicker, Thorsten Spies, Christian Kahl: Software Visualization in the Context of Service­Oriented Architectures. In: Proceedings of the 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis (Vissoft2007). IEEE, Banff, Alberta, Canada 2007, S. 108­111.

42  

Page 43: Webservices and Enterprise Service Bus - fontysvenlo.org file„A Web Service is a software system designed to support interoperable machinetomachine interaction over a network. It

43  

Thank you for your attention!