You are on page 1of 3

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