CO7210: SOA
1.Introduction to SOA
Interactive Web Applications
Web Application
Server
HTML Client
CO7214
Service--Oriented Architectures
Service
HTTP request
Data Base
Server
query/
update
Internet
HTTP response
1. Introduction to SOA
result
HTML
Reiko Heckel
client
client--server architecture
HTTP/HTML
HTTP/HTML--based communication and GUI
complex operations on data
2
Web Services
Outline of the Lecture
Web Application
Server
HTML Client
Data Base
Server
1. Introduction to SOA
Web Services: Motivation and Concepts
Application Scenario
Service
Service--Oriented Architectures
Web Services: Definition and Standards
query /
update
HTTP request
Internet
HTTP response
HTML
web applications
as business
components
communication via
HTTP/XML
result
HTTP request / response
XML
dynamic discovery
and binding to 3rd
party services
Web Service
3
Motivation
Problems
Web as platform for communication between
applications and users
different components of an application
integration across heterogeneous platforms
security, synchronization, and failure in
asynchronous distributed systems
interoperability of applications whose
development is distributed in space, time, and
authority
communication between business experts and
developers
Benefits
Simplicity: HTTP request and response
Ubiquity: everywhere, everytime, on every device
available (at least in theory)
Uniformity: based on standards (HTTP, HTML,
XML)
5
Reiko Heckel, Univ. of Leicester, UK
CO7210: SOA
1.Introduction to SOA
Solutions
Solutions (cont.)
Separation of Concerns
Model--Based Development: Models as
Model
separation of presentation from content
layered architectures: separating GUI and data
management from business logic
means of communication
between distributed developers
team members with different roles and background
over time: as precise documentation (distribution over
time)
XML Standards
platform-independent high
platformhigh--level languages for
communication, coordination, specification, binding,
security, of services
meta language to define and extend languages
contracts between service providers and requestors
designs to be analyzed for critical properties
security, synchronization,
platform-independent designs to be reused on
platformdifferent implementation platforms
OMG Trademark: ModelModel-driven architecture
Application Scenario:
Online Shopping with Max
Model Driven Development
Integration / evolution
PIM
across platforms at the
level of a platformplatformindependent model
(PIM)
Model transformation
Max, seeking the latest
Harry Potter employs
Shopping Agent to
PSM
PSM
Mapping of platformplatform-
independent models to
implementation
(via platformplatform-specific
models - PSM)
Model transformation
look for the book
obtain further product info
(price, availability, )
choose the best offer
order and pay (via bank transfer)
Implementation
Implementation
9
Scenario as Communication Diagram
1a:
1b:
2:
3:
4:
5:
get product info
get product info
place order
request bank transfer
do transfer
get list of transfers
But,
How do SparkassePB and Amazon.com know Bank24?
Bank24?
How does myAgent know Buecher.de and Amazon.com?
Amazon.com?
<<component>>
static
myAgent:
ShoppingAgent
1a
1b
<<component>>
<<component>>
<<component>>
<<component>>
Bank24:
Bank
Buecher.de:
Online Shop
Amazon.com:
Online Shop
SparkassePB:
Bank
dynamic
compiled into component
loaded from configuration files
specified by the user
retrieved from a public registry
Service
Service--oriented Architecture (SoA)
Reiko Heckel, Univ. of Leicester, UK
CO7210: SOA
1.Introduction to SOA
Service--Oriented Architecture
Service
Service Provider:
Discovery Service:
business owning the
service
platform hosting the
service.
Service Requestor:
Model--Driven Development of SOA
Model
business requiring
services
application finding
and using services.
Service
Description
Discovery
Service
Query
Service
Requestor
Requirements
What do we need?
searchable
registry of
service
descriptions
providers publish
and requestors
obtain service
descriptions
Service
Provider
Request
Define language for
SoA--specific modeling
SoA
today
syntax
PSM
(SOA-specific)
semantics
Publish
Bind and
Interact
PIM
Define concepts of SoA
Service
Description
Service
Explain transformations
PIM PSM
Response
PSM Implementation
Implementation
Source: Web Services Conceptual Architecture
http://www-4.ibm.com/software/solutions/webservices/pdf/WSCA.pdf
Web Service Platform: Languages and Protocols
Web Services
<<component>>
<<component>>
:Client
:Shop
<<uses>>
BPEL4WS
component depends only on
resources declared by interface
Software Component:
a building block with contractually specified interfaces and
explicit context dependencies only
may be used and deployed independently and is easy to
integrate with other components
UDDI
WSDL
[C. Szyperski,
Szyperski, Component Software: Beyond Object
Object--Oriented
Programming, AddisonAddison-Wesley, 1998]
SOAP
Web Service: a component deployed on a Web
accessible platform provided by a service provider to
be discovered and invoked over the Web by a service
requestor.
HTTP, SMTP,
Source: Web Services Conceptual Architecture
http://www-4.ibm.com/software/solutions/webservices/pdf/WSCA.pdf
UML and Web Service Languages
Modeling XML Languages
Class diagrams DTD
Outline of the Lecture
Introduction to SOA
1.
Messaging and RPC
Interaction diagrams SOAP
Describing and Publishing Web Services
Component diagrams WSDL and UDDI
Web Services: Motivation and Concepts
Application Scenario
Service--Oriented Architectures
Service
Web Services: Definition and Standards
Web Service Processes
Activity diagrams BPEL4WS
Reiko Heckel, Univ. of Leicester, UK