bse - tu dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. ·...

40
CBSE, © Prof. Uwe Aßmann 1 15. Web Services and Service-Oriented Architectures Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik http://st.inf.tu-dresden.de Version 11-0.2, Mai 28, 2011 1) Web Services as a specific form of service-oriented architectures 2) XML 3) SOAP 4) WSDL 5) BPEL 6) BPMN 7) Trust and security 8) Evaluation Prof. U. Aßmann, CBSE 2 Obligatory Reading ISC, Chapter 2.4 W.M.P. Van der Aalst. Don't go with the flow: Web services composition standards exposed. IEEE Intelligent Systems, Jan/Feb 2003. http://tmitwww.tm.tue.nl/research/patterns/download/ieeewebflow.pdf P. Wohed, W.M.P. Van der Aalst, M. Dumas, A. ter Hofstede. Analysis of Web Service Composition Languages: The Case of BPEL. http://www.bpmnforum.com/FAQ.htm FAQ of BPMN

Upload: others

Post on 16-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

CB

SE

, © P

rof.

Uw

e A

ßman

n 1

15. W

eb S

ervi

ces

and

Se

rvic

e-O

rient

ed A

rchi

tect

ures

Pro

f. D

r. U

we

Aßm

ann

Tech

nisc

he U

nive

rsitä

t Dre

sden

In

stitu

t für

Sof

twar

e- u

nd

Mul

timed

iate

chni

k ht

tp://

st.in

f.tu-

dres

den.

de

Ver

sion

11-

0.2,

Mai

28,

201

1

1) 

Web

Ser

vice

s as

a s

peci

fic

form

of s

ervi

ce-o

rient

ed

arch

itect

ures

2) 

XM

L 3) 

SO

AP

4) 

WS

DL

5) 

BP

EL

6) 

BP

MN

7) 

Trus

t and

sec

urity

8) 

Eva

luat

ion

Pro

f. U

. Aßm

ann,

CB

SE

2

Obl

igat

ory

Rea

ding

► 

ISC

, Cha

pter

2.4

► 

W.M

.P. V

an d

er A

alst

. Don

't go

with

the

flow

: Web

ser

vice

s co

mpo

sitio

n st

anda

rds

expo

sed.

IEE

E In

telli

gent

Sys

tem

s, J

an/F

eb

2003

. http

://tm

itww

w.tm

.tue.

nl/re

sear

ch/p

atte

rns/

dow

nloa

d/ie

eew

ebflo

w.p

df

► 

P. W

ohed

, W.M

.P. V

an d

er A

alst

, M. D

umas

, A. t

er H

ofst

ede.

A

naly

sis

of W

eb S

ervi

ce C

ompo

sitio

n La

ngua

ges:

The

Cas

e of

B

PE

L.

► 

http

://w

ww

.bpm

nfor

um.c

om/F

AQ

.htm

FA

Q o

f BP

MN

Page 2: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

3

Lite

ratu

re

► 

Mat

thia

s W

eske

. Bus

ines

s P

roce

ss M

anag

emen

t – C

once

pts,

La

ngua

ges,

Arc

hite

ctur

es. S

prin

ger.

2007

► 

YA

WL

http

://so

urce

forg

e.ne

t/pro

ject

s/ya

wl/

► 

H. P

. Ale

sso,

C. F

. Sm

ith. D

evel

opin

g S

eman

tic W

eb S

ervi

ces.

A K

P

eter

s Lt

d, N

atic

k, M

assa

chus

etts

, 200

4.

► 

http

://w

ww

.bpm

b.de

/inde

x.ph

p/B

PM

NP

oste

r ► 

List

e de

r BP

MN

Wer

kzeu

g-H

erst

elle

r http

://w

ww

.bpm

n.or

g/B

PM

N_S

uppo

rters

.htm

Pro

f. U

. Aßm

ann,

CB

SE

4

15.1

Web

Ser

vice

s an

d A

rchi

tect

ure

Syst

ems

► 

Arc

hite

ctur

e sy

stem

s m

ay h

ave

diffe

rent

form

s of

arc

hite

ctur

al

lang

uage

s:

■ To

polo

gy-b

ased

(Uni

con,

AC

ME

, Dar

win

) ■ 

Coo

rdin

atio

n sc

hem

es (C

oSy)

■ 

Impe

rativ

e sc

ripts

(Dar

win

)

► 

Web

Ser

vice

Sys

tem

s an

d La

ngua

ges

(WS

S) a

re a

form

of

arch

itect

ural

sys

tem

■ 

They

sep

arat

e pr

ogra

mm

ing-

in-th

e-sm

all f

rom

pro

gram

min

g-in

-the-

larg

e (2

-leve

l pr

ogra

mm

ing)

. 

Com

pone

nts

enca

psul

ate

the

serv

ice

know

ledg

e . 

The

arch

itect

ural

leve

l (or

ches

tratio

n, a

ggre

gatio

n, c

ompo

sitio

n) tr

eats

the

big

pict

ure

► 

How

ever

, WS

S h

ave

an im

pera

tive

arch

itect

ural

lang

uage

Page 3: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

5

Ord

er p

roce

ssin

g

Amaz

on.c

om

Reu

se o

f Web

Ser

vice

s

Billi

ng

Acco

unts

Billi

ng

Bank

Paym

ent

Pake

t se

rvic

e

Del

iver

y

Stor

age

Pack

ing

Chec

king

Cred

itabi

lity

chec

k

Web

Ag

rega

te

Ord

er a

ccep

tanc

e

Pro

f. U

. Aßm

ann,

CB

SE

6

Web

Ser

vice

s ar

e de

scrib

ed b

y W

orkf

low

s

► 

Wor

kflo

w s

peci

ficat

ions

com

bine

con

trol a

nd d

ata

flow

► 

Web

ser

vice

arc

hite

ctur

es a

re th

e fir

st s

tep

to s

ervi

ce-o

rient

ed

arch

itect

ures

(SO

A),

base

d on

trad

ers

■ S

ervi

ces

will

be

offe

red,

sea

rche

d an

d di

scov

ered

, dow

nloa

ded,

exe

cute

d

► 

Ent

erpr

ise

serv

ices

tran

sfer

s w

eb s

ervi

ces

to b

usin

ess

syst

ems

► 

Cus

tom

er s

ervi

ces

serv

e th

e en

d-us

er o

f the

web

Dat

a O

per

atio

n/P

roce

ss

Page 4: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

7

Ex. B

uyin

g a

Boo

k fr

om A

maz

on

► 

UM

L ac

tivity

dia

gram

[Ale

sso/

Sm

ith]

Loca

te b

ook

Put

In S

hopp

ingB

aske

t

Cre

ate

Acc

ount

C

reat

e A

ccou

nt

Cre

ate

Use

r Pro

file

Load

Use

r Pro

file

Beg

in C

heck

out

Com

mit

Che

ckou

t

Pay

men

t Sel

ectio

n

Fill

in D

eliv

ery

Det

ails

Com

mit

Pur

chas

e

One

-Clic

k B

uy

Pro

f. U

. Aßm

ann,

CB

SE

8

Whi

ch T

ypes

of O

pera

tiona

l Spe

cific

atio

ns

Exis

t?

► 

Dat

a-flo

w g

raph

s (d

ata

flow

dia

gram

s, D

FD)

■ D

ata

flow

s th

roug

h op

erat

ions

■ 

Act

ivity

dia

gram

s: d

ata

flow

s th

roug

h ac

tions

► 

Con

trol-f

low

gra

phs

(CFG

) ■ 

Nod

es a

re c

ontro

l-flo

w o

pera

tions

that

sta

rt ot

her o

pera

tions

on

a st

ate

■ Th

e st

anda

rd re

pres

enta

tion

for i

mpe

rativ

e pr

ogra

ms

► 

Sta

te s

yste

ms

■ Fi

nite

Sta

te M

achi

nes

(FS

M):

even

ts tr

igge

r sta

te tr

ansi

tions

■ 

Sta

tech

arts

: Hie

rarc

hica

l FS

M

■ P

etri

nets

: tok

ens

mar

k co

ntro

l and

dat

a-flo

w

► 

Mix

ed a

ppro

ache

s ■ 

Cyc

lic d

ata-

flow

gra

phs

(als

o ca

lled

stat

ic-s

ingl

e as

sign

men

t gra

phs,

SS

A)

. C

ycle

s ar

e m

arke

d by

phi

-nod

es th

at c

onta

in c

ontro

l-flo

w g

uard

s ■ 

Wor

kflo

w la

ngua

ges:

mix

con

trol a

nd d

ata-

flow

■ 

Pro

vide

spe

cific

spl

it an

d jo

in o

pera

tors

for c

ontro

l and

dat

a flo

w

Page 5: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

9

Wor

kflo

w L

angu

ages

► 

A w

orkf

low

lang

uage

spe

cifie

s co

ntro

l and

dat

a flo

w o

ver a

set

of

oper

atio

ns

► 

The

wor

kflo

w is

exe

cuta

ble

with

an

inte

rpre

ter,

the

wor

kflo

w e

ngin

e ■ 

A s

ingl

e op

erat

ion

need

not

be

exec

uted

aut

omat

ical

ly, b

ut c

an b

e pe

rform

ed b

y hu

man

s (…

for p

eopl

e)

■ Th

e w

orkf

low

runs

in p

aral

lel

■ W

orkf

low

s ar

e us

ually

com

pile

d to

Col

ored

Pet

ri N

ets

or to

S

tate

char

ts

► 

Exa

mpl

es:

■ A

RIS

sys

tem

for S

AP

, EP

C (e

vent

pro

cess

cha

ins)

■ 

Flow

Mar

k (IB

M)

■ Lo

tus

Dom

ino

(IBM

) ■ 

base

d on

Col

ored

Pet

ri N

ets:

■ 

YA

WL

(van

der

Aal

st, E

inho

ven)

■ 

Wor

kflo

w N

ets

Pro

f. U

. Aßm

ann,

CB

SE

10

Typi

cal C

ontr

ol-F

low

Ope

rato

rs in

Wor

kflo

w

Lang

uage

s (G

atew

ays)

► 

AN

D-s

plit:

all

► 

AN

D-jo

in: a

ll of

n

► 

XO

R-s

plit:

1 o

f n

► 

XO

R-jo

in: 1

of n

► 

OR

-spl

it: m

of n

► 

OR

-join

: m o

f n

+

o

x

+ x

o

Page 6: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

11

Wha

t are

Wor

kflo

w E

ngin

es?

► 

Wor

kflo

w e

ngin

es a

re in

terp

rete

rs o

f wor

kflo

ws

■ Th

ey m

aint

ain

the

para

llelis

m in

a w

orkf

low

and

syn

chro

nize

all

proc

esse

s

► 

Usu

ally

, the

y al

so s

uppo

rt fo

r int

erac

tive

appl

icat

ions

■ 

Und

o ■ 

Tran

sact

ions

with

rollb

ack

and

com

mit

■ C

ompe

nsat

ion

(in c

ase

of e

rror

)

► 

They

are

, for

web

ser

vice

s an

d co

mpo

nent

sys

tem

s, c

ompo

sitio

n en

gine

s th

at e

xecu

te a

com

posi

tion

prog

ram

Pro

f. U

. Aßm

ann,

CB

SE

12

15.2

Bas

ics:

XM

L fo

r Dat

a Ex

chan

ge

(Opt

iona

l)

Appr

oach

XM

L

Com

pone

nts

of W

eb S

ervi

ces

Dat

a an

d M

essa

ge D

escr

iptio

n

Dat

a: X

ML-

docu

men

t

+  X

ML

is a

mar

kup

lang

uage

(fo

r m

etad

ata

spec

ifica

tion)

+ XM

L is

als

o a

lang

uage

for

abs

trac

t sy

ntax

tre

es o

f da

ta d

efin

ition

la

ngua

ges

+ E

asy

synt

ax for

hie

rarc

hica

l st

ruct

ured

doc

umen

ts

+ W

3C R

ecom

men

datio

n (s

tand

ard)

Wid

ely

spre

ad, ac

cept

ed

-  No

sem

antic

s

-  Not

com

pact

/ lo

w p

erfo

rman

ce

-  Ong

oing

sta

ndar

diza

tions

Page 7: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

13

XML

Exam

ple

<treatment>

<patient

insurer=“1577500”nr=‘0503760072’/>

<doctor city =“HD” nr=‘4321’/>

<service>

<mkey>1234-A</mkey>

<date>2001-01-30</date>

<diagnosis>No complications.

</diagnosis>

</service>

</treatment>

Pro

f. U

. Aßm

ann,

CB

SE

14

XML

Type

s an

d

Reg

ular

Exp

ress

ions

(X |Y |... |Z)

UNION X, Y, ..., Z

(X, Y, ..., Z)

RECORD X, Y, ..., Z

(X)*

ARRAY OF X

Reg

ular

Exp

ress

ion

Type

Page 8: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

15

Exam

ple:

Def

initi

on o

f Sim

ple

Tag

Type

s w

ith

XML

Sche

ma

(XSD

)

<simpletype name=‘mkey’ base=‘string’>

<pattern value=‘[0-9]+(-[A-Z]+)?’/>

</simpletype>

<simpletype name=‘insurer’ base=‘integer’>

<precision value=‘7’/>

</simpletype>

<simpletype name=‘myDate’ base=‘date’>

<minInclusive value=‘2001-01-01’/>

<maxExclusive value=‘2001-04-01’/>

</simpletype>

Pro

f. U

. Aßm

ann,

CB

SE

16

Exam

ple:

C

ompl

ex X

ML

Sche

ma

type

s

<complextype name=‘treatment’>

<element name=‘patient’ type=‘patient’/>

<choice>

<element ref=‘doctor’/>

<element ref=‘hospital’/>

</choice>

<element ref=‘service’

maxOccurs=‘unboanded’/>

</complextype>

Page 9: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

17

Exam

ple:

XM

L Sc

hem

a A

ttrib

utes

<complextype name=‘patient’

content=‘empty’>

<attribute ref =‘insurer’ use=‘required’/

>

<attribute name=‘nr’ use=‘required’>

<simpletype base=‘integer’>

<precision value=‘10’/>

</simpletype>

</attribute>

<attribute name=‘since’ type=‘myDate’/>

</complextype>

Pro

f. U

. Aßm

ann,

CB

SE

18

Que

stio

n:

Why

do

peop

le li

ke a

n in

terc

hang

e fo

rmat

like

XM

L?

XM

L It

is w

ordy

, ugl

y, b

ut o

ften

hum

an

read

able

S

low

, but

flex

ible

(int

erpr

eted

) C

ompr

essi

on h

elps

to re

duce

sp

ace

requ

irem

ents

, but

ca

nnot

be

done

opt

imal

ly fo

r al

l app

licat

ions

...

.

IDL

Bin

ary

form

at

Map

ping

cod

e m

ust b

e

gene

rate

d an

d co

mpi

led

Fast

Page 10: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

19

The

Sum

eria

n La

w o

n R

eada

bilit

y

E

very

lang

uage

that

is n

ot re

adab

le b

y hu

man

s w

ill v

anis

h

Pro

f. U

. Aßm

ann,

CB

SE

20

Enve

lope

15.3

SO

AP,

An

XML-

base

d In

tera

ctio

n Pr

otoc

ol

► 

Sim

ple

Obj

ect A

cces

s P

roto

col

(SO

AP

) def

ines

the

mes

sage

form

at

► 

Mes

sage

con

tain

s ta

rget

add

ress

and

an

env

elop

e ■ 

with

nam

e sp

ace,

enc

odin

g at

tribu

tes

and

■ H

eade

r (fix

ed fo

rmat

) con

tain

s

. A

uthe

ntic

atio

n (S

ende

r, R

ecei

ver)

, . 

Tran

sact

ions

, . 

Err

or h

andl

ing

info

rmat

ion,

. 

Rou

ting

info

rmat

ion

■ B

ody

cont

ains

use

r dat

a (fr

ee fo

rmat

) ► 

Tran

spor

t is

trans

pare

nt, p

rede

fined

ch

anne

ls:

■ H

TTP

(with

bac

k ch

anne

l, de

fact

o st

anda

rd)

■ S

MTP

, TC

P (w

ith b

ack

chan

nel)

Hea

der

Body

Page 11: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

21

Exam

ple:

SO

AP

Hea

der

POST /TreatmentAdmin HTTP/1.1

HOST: www.hospital-admin.com

Content-Type: text/xml

Charset=“utf-8”

Content-Length: nnnn

SOAPaction: http://localhost/TreatmentAdmin

<SOAP-ENV:Envelop

xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelop/

SOAP-ENV:Encoding=“http://…/encoding”>

<SOAP-ENV:Header>

<a:Authentication

xmlns:a=http://localhost/TreatmentAdmin … >

</a:Authentication>

</SOAP-ENV:Header>

<SOAP-ENV:Body> … </SOAP-ENV:Body>

</SOAP-ENV:Envelop>

Mess

age H

eade

r HT

TP

SOAP

Env

elop

Pro

f. U

. Aßm

ann,

CB

SE

22

Exam

ple:

SO

AP

Bod

y

<SOAP-ENV:Body>

<m:AddTreatment xmlns:a=http://localhost/TreatmentAdmin>

<treatment>

<patient insurer=“1577500”nr=‘0503760072’/>

<doctor city =“HD” nr=‘4321’/>

<service>

<mkey>1234-A</mkey>

<date>2001-01-30</date>

<diagnosis>No complications.

</diagnosis>

</service>

</treatment>

</SOAP-ENV:Body>

Page 12: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

23

SOA

P In

tera

ctio

n Pr

otoc

ol

Net

wor

k

Mes

sagi

ng

HTT

P, F

TP, II

OP,

MQ

, ...

SOAP

Appr

oach

Co

mpo

nent

s of

Web

Ser

vice

s

XML

Mes

sage

Des

crip

tion

+  W

3C R

ecom

men

datio

n (s

tand

ard)

+  Im

plem

ents

RPC

-  Unt

yped

use

r da

ta, ty

pes

to e

ncod

e in

the

mes

sage

-  Int

erpr

etat

ion

of S

OAP

mes

sage

s re

quire

d

-  Hig

h ov

erhe

ad /

low

per

form

ance

CB

SE

, © P

rof.

Uw

e A

ßman

n 24

15.4

WSD

L an

d Th

e In

terf

ace

Con

cept

of W

eb S

ervi

ces

Page 13: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

25

Serv

ice

Inte

rfac

e

Web

Ser

vice

Ope

ratio

n

Inte

rfac

e

XML

inpu

t /

outp

ut

Web

Ser

vice

s D

escr

iptio

n La

ngua

ge (

WSD

L)

defin

es a

ser

vice

inte

rfac

e

Pro

f. U

. Aßm

ann,

CB

SE

26

WSD

L C

ompo

nent

s an

d Th

eir I

nter

face

s

► 

A W

SD

L In

terfa

ce is

a s

et o

f por

ts

■ Fu

nctio

ns w

ith ty

pes

of p

aram

eter

and

resu

lts in

XM

L S

chem

a ■ 

Eve

nt p

orts

■ 

Pla

ys a

sim

ilar r

ole

as p

orts

of a

UM

L co

mpo

nent

► 

Adv

anta

ges

■ W

SD

L ab

stra

cts

from

und

erly

ing

prot

ocol

(http

, SO

AP

, mim

e, II

OP

) ■ 

Com

pone

nt m

odel

can

be

map

ped

to C

OR

BA

, EJB

, DC

OM

, .N

ET

■ W

SD

L un

ifies

cal

l and

eve

nt p

orts

■ 

WS

DL

abst

ract

s fro

m th

e un

derly

ing

com

pone

nt m

odel

, int

rodu

cing

the

com

pone

nt m

odel

as

a se

cret

<<W

ebS

ervi

ce>>

Page 14: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

27

WD

SL S

peci

ficat

ion

Stru

ctur

e

► 

Type

s ■ 

In X

ML

sche

ma

or a

noth

er ty

ping

lang

uage

► 

Mes

sage

s ■ 

The

data

that

is c

omm

unic

ated

► 

Ope

ratio

n

■ A

n in

terfa

ce o

f the

ser

vice

, with

inpu

t and

out

put,

faul

t par

amet

ers

► 

Por

t typ

e ■ 

A n

amed

set

of o

pera

tions

(as

in U

ML)

► 

Bin

ding

■ 

A m

appi

ng o

f the

por

t to

unde

rlyin

g co

mpo

nent

mod

els,

e.g

., ht

tp, s

oap,

or m

ime

► 

Ser

vice

■ 

A s

et o

f rel

ated

por

ts

Pro

f. U

. Aßm

ann,

CB

SE

28

WSD

L us

es T

ypes

of X

SD

<wsdl:types>

<XMLSchema:schema … [target name space definitions]>

<XMLSchema:element name=“addTreatment”>

<XMLSchema:complextype>

<XMLSchema:sequence>

<s:element minOccurs="1" maxOccurs="1” name="parameter"

nillable="true" type="a:treatment"/>

</XMLSchema:sequence>

</XMLSchema:complextype>

</XMLSchema:element>

<XMLSchema:element name=“addTreatmentResponse”>

<XMLSchema:complextype>

<XMLSchema:sequence>

<s:element minOccurs="1" maxOccurs="1" name=“result"

nillable="true" type="XMLSchema:bool"/>

</XMLSchema:sequence>

</XMLSchema:complextype>

</XMLSchema:element>

<XMLSchema:complextype name=‘treatment’> …

</XMLSchema:complextype>

</XMLSchema:schema>

<wsdl:types>

Page 15: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

29

Port

Typ

es

► 

Eve

nt o

r mes

sage

bas

ed:

■ N

otifi

catio

n: d

ata-

out p

ort

■ O

ne-w

ay: d

ata-

in p

ort

► 

Cal

l-bas

ed

■ R

eque

st-R

espo

nse:

pro

cedu

re p

ort

■ S

olic

it-R

espo

nse:

sen

d, th

en re

ceiv

e (c

alle

r por

t)

Pro

f. U

. Aßm

ann,

CB

SE

30

Exam

ple:

WSD

L Po

rts,

Typ

ed b

y M

essa

ge

Type

s

<wsdl:definitions [name space definitions]>

<wsdl:types> … </wsdl:types>

<wsdl:message name=“addTreatmentSOAPIn”>

<part name=“parameters” element=“addTreatment”/>

</wsdl:message>

<wsdl:message name=“addTreatmentSOAPOut”>

<part name=“parameters” element=“addTreatmentResponse”/>

</wsdl:message>

<wsdl:porttype name=“TreatmentAdminSOAP“>

<wsdl:operation name=“addTreatment“>

<wsdl:input message=“addTreatmentSoapIn“/>

<wsdl:output message=“addTreatmentSoapOut“/>

</wsdl:operation>

</wsdl:porttype>

<binding [binding to SOAP / HTTP Protocols] …

</wsdl:definitions>

Actua

l inter

face

Page 16: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

31

Exam

ple:

Bin

ding

WSD

L to

SO

AP

<wsdl:binding name=”livetoken” type=”Token”>

<soap:binding style=”document”

transport=”http://schemas.xmlsoap.org/html”>

<operation name=”GetLastPrice”>

<soap:operation soapAction=”http://

www.stocktrade.com/GetPrice”>

<input> <soap:body use=”literal”> </input>

<output> <soap:body use=”literal”> </output>

</operation>

<wsdl:binding>

Pro

f. U

. Aßm

ann,

CB

SE

32

WSD

L Se

rvic

e In

terf

ace

► 

WS

DL

is a

Inte

rface

Def

initi

on L

angu

age

(IDL)

■ 

Par

t of B

PE

L (s

ee la

ter)

■ 

No

inhe

ritan

ce o

n W

SD

L ■ 

No

stan

dard

map

ping

to d

ata

in p

rogr

amm

ing

lang

uage

s ■ 

No

web

ser

vice

as

para

met

ers/

resu

lts

► 

W3C

Rec

omm

enda

tion

(sta

ndar

d)

Net

wor

k

Mes

sagi

ng

Serv

ice

Des

crip

tion

HTT

P, F

TP, II

OP,

MQ

, ...

SOAP

WSD

L

Com

pone

nts

of W

eb S

ervi

ces

XML

Mes

sage

Des

crip

tion

Appr

oach

Page 17: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

33

Offe

r and

Fin

d Se

rvic

es

► 

Sta

ndar

dize

d pu

blis

hing

, adv

ertis

emen

t …

► 

Ext

ende

d na

me

serv

er, d

escr

ibin

g in

terfa

ce a

nd p

rope

rties

► 

XM

L D

escr

ipto

r ■ 

Whi

te P

age:

Add

ress

■ 

Yel

low

Pag

e: S

eman

tics

(bas

ed o

n st

anda

rd ta

xono

my)

■ 

Gre

en P

age:

Tec

hnic

al s

peci

ficat

ion

of s

ervi

ce

► 

Logi

cally

cen

tral,

phys

ical

ly d

istri

bute

d da

ta b

ase

Uni

vers

al D

escr

iptio

n, D

isco

very

and

Inte

grat

ion

(UD

DI)

def

ines

ser

vice

pro

pert

ies

for

serv

ice

trad

ing

Pro

f. U

. Aßm

ann,

CB

SE

34

UD

DI

Whi

te P

age

Reg

iste

red

(and

oth

er) n

ames

S

ervi

ce D

escr

iptio

n C

onta

ct p

erso

n (n

ame,

e-m

ails

, …

) Te

leph

one/

fax

num

ber

Web

site

Yello

w P

ages

Ser

vice

cat

egor

y Ty

pe o

f ind

ustry

Ty

pe a

v pr

oduc

ts/s

ervi

ces

Geo

grap

hic

loca

lizat

ion

Gre

en

Pag

es

Offe

red

serv

ice

Doc

umen

tatio

n, d

escr

iptio

n P

rinci

ples

coo

pera

tion

real

izat

ion

WS

DL

WS

DL

Page 18: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

35

UD

DI:

Offe

r and

Fin

d Se

rvic

es N

etw

ork

Mes

sag

ing

Ser

vice

Des

crip

tio

n

Ser

vice

Pu

bli

cati

on

Ser

vice

Dis

cove

ry

HT

TP

, FT

P,

IIO

P,

MQ

, ..

.

SO

AP

WS

DL

UD

DI

UD

DI

Com

pone

nts

of W

eb S

ervi

ces

XM

L M

essa

ge

Des

crip

tio

n

Appr

oach

- Req

uire

d an

d ap

proa

ched

-  No

sear

ch s

trat

egie

s

-  No

no t

rade

r or

mar

ket

plac

e CB

SE

, © P

rof.

Uw

e A

ßman

n 36

15.5

Bus

ines

s Pr

oces

s Ex

ecut

ion

(W

orkf

low

s) w

ith B

PEL

Page 19: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

37

Wha

t is

a B

usin

ess

Proc

ess?

“A c

olle

ctio

n of

rela

ted,

stru

ctur

ed a

ctiv

ities

--a

chai

n of

eve

nts-

-that

pr

oduc

e a

spec

ific

serv

ice

or p

rodu

ct fo

r a p

artic

ular

cus

tom

er o

r cu

stom

ers.

” w

ww

.gao

.gov

/pol

icy/

itgui

de/g

loss

ary.

htm

“A

bus

ines

s pr

oces

s is

a re

cipe

for a

chie

ving

a c

omm

erci

al re

sult.

Eac

h bu

sine

ss p

roce

ss h

as in

puts

, met

hod

and

outp

uts.

The

inpu

ts a

re a

pre

-re

quis

ite th

at m

ust b

e in

pla

ce b

efor

e th

e m

etho

d ca

n be

put

into

pr

actic

e. W

hen

the

met

hod

is a

pplie

d to

the

inpu

ts th

en c

erta

in o

utpu

ts

will

be

crea

ted.

” en

.wik

iped

ia.o

rg/w

iki/B

usin

ess_

proc

ess

A b

usin

ess

proc

ess

is d

escr

ibed

on

the

mod

elin

g le

vel,

can

be a

bstra

ct,

unde

rspe

cifie

d an

d ne

ed n

ot b

e ex

ecut

able

A

bus

ines

s pr

oces

s ca

n be

refin

ed it

erat

ivel

y to

bec

ome

exec

utab

le.

An

exec

utab

le b

usin

ess

proc

ess

is c

alle

d a

wor

kflo

w (e

xecu

tabl

e bu

sine

ss

proc

ess)

.

Pro

f. U

. Aßm

ann,

CB

SE

38

Busi

ness

Pro

cess

Bus

ines

s Pr

oces

s

► 

How

to d

efin

e a

busi

ness

pro

cess

on

the

web

► 

Ther

e ar

e m

any

lang

uage

s pr

opos

ed to

day:

■ 

WS

FL, W

SC

L, W

SC

I, X

LAN

G, W

SE

L, U

ML,

WS

UI,

WS

XL,

BP

ML,

BP

NM

► 

IBM

& M

icro

soft:

BP

EL,

BP

EL4

WS

► 

OA

SIS

: WS

BP

EL

► 

W3C

: OW

L-S

, SM

L (S

ervi

ce M

odel

ing

Lang

uage

) ► 

SA

P: B

PN

M

Page 20: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

39

Ingr

edie

nts.

..

► 

BP

EL

is a

n ex

ecut

able

lang

uage

for c

oncr

etiz

ed b

usin

ess

proc

esse

s ► 

An

arch

itect

ural

lang

uage

for w

eb s

ervi

ces

■ B

ased

on

wor

kflo

w la

ngua

ges

■ M

ixin

g co

ntro

l and

dat

a flo

w o

pera

tors

► 

BP

EL

is a

com

posi

tion

lang

uage

■ 

Com

posi

ng w

eb s

ervi

ces,

usi

ng th

eir p

orts

■ 

Rel

ying

on

mes

sage

s (e

vent

s) a

nd c

alls

► 

BP

EL

uses

WS

DL

for s

ervi

ce in

terfa

ce d

escr

iptio

ns, a

s ID

L ► 

BP

EL

adds

con

nect

ions

(par

tner

link

type

s)

Pro

f. U

. Aßm

ann,

CB

SE

40

BPE

L M

ade

Sim

ple

► 

BP

EL

is a

act

ivity

-dia

gram

like

lang

uage

, ■ 

with

par

alle

lism

and

tran

sact

ions

■ 

with

diff

eren

t kin

d of

join

and

spl

it op

erat

ors

■ w

ith p

orts

and

con

nect

ions

■ 

BP

EL

can

be e

dite

d gr

aphi

cally

, and

has

an

XM

L ab

stra

ct s

ynta

x

► 

To c

reat

e a

web

ser

vice

, bec

omes

a s

imila

r act

ivity

as

editi

ng a

n U

ML

activ

ity d

iagr

am o

r Pet

ri N

et

► 

BP

EL

uses

WS

DL

defin

ition

s to

def

ine

type

s, m

essa

ge ty

pes,

and

po

rt ty

pes

■ W

SD

L de

finiti

ons

can

be w

ithou

t bin

ding

. 

Bin

ding

s ca

n be

add

ed w

hen

the

BP

EL

proc

ess

is d

eplo

yed

. Th

at in

crea

ses

reus

e of

the

proc

ess

■ Th

is a

chie

ves

com

pone

nt m

odel

tran

spar

ency

(ind

epen

denc

e of

the

unde

rlyin

g co

mpo

nent

mod

el)

► 

Par

tner

link

type

s (c

onne

ctor

type

s) d

escr

ibin

g ty

ped

conn

ectio

ns

Page 21: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

41

BPE

L Sp

ecifi

catio

n St

ruct

ure

► 

Proc

ess

defin

ition

: Hea

der w

ith n

ames

pace

dec

lara

tions

► 

Varia

bles

: glo

bal v

aria

bles

of t

he p

roce

ss

► 

Part

nerL

ink

decl

arat

ions

: int

erfa

ce d

ecla

ratio

n ■ 

with

who

m is

the

proc

ess

conn

ecte

d?

► 

Part

ners

: act

ual p

artn

ers

of th

e co

mm

unic

atio

n ► 

Cor

rela

tion

sets

: Whi

ch in

stan

ce o

f a p

roce

ss is

talk

ing

to w

hich

ot

her i

nsta

nce?

► 

Faul

t han

dler

: Wha

t hap

pens

in th

e ca

se o

f an

exce

ptio

n?

► 

Com

pens

atio

n ha

ndle

r: co

mpe

nsat

ion

actio

ns

► 

Even

t han

dler

: wha

t hap

pens

in c

ase

of a

cer

tain

eve

nt?

► 

A (s

truct

ured

) mai

n op

erat

ion

■ e.

g., s

eque

nce

or fl

ow

Pro

f. U

. Aßm

ann,

CB

SE

42

A S

impl

e Pi

zza

Ord

er

<!--

Pro

cess

def

initi

on --

> <p

roce

ss n

ame=

”Ord

erP

izza

” sup

pres

sJoi

nFai

lure

=”ye

s”

xmln

s=”h

ttp://

sche

ma.

xmls

oap.

org/

ws/

2003

/03/

busi

ness

-pro

cess

” pn

s=”h

ttp://

ww

w.p

izza

.org

/sch

ema”

>

<par

tner

Link

s>

<

partn

erLi

nk n

ame=

”Piz

zaS

ervi

ce” p

artn

erLi

nkTy

pe=”

pns:

Ord

erC

hann

el”

myR

ole=

”Piz

zaO

rder

er”>

</pa

rtner

Link

s>

<!--

Glo

bal V

aria

bles

-->

<var

iabl

es>

<va

riabl

e na

me=

”inpu

t” m

essa

geTy

pe=”

Piz

zaO

rder

”/>

<va

riabl

e na

me=

”out

put”

mes

sage

Type

=”P

izza

Del

iver

y”/>

</va

riabl

es>

<fau

ltHan

dler

s> ..

. </fa

ultH

andl

ers>

<s

eque

nce

nam

e=”b

ody”

> <

invo

ke n

ame=

”ord

er” p

artn

erLi

nk=”

Piz

zaS

ervi

ce” p

ortT

ype=

”Piz

zaO

rder

“ op

erat

ion=

”bod

y” v

aria

ble=

”out

put”>

<

rece

ive

nam

e=”a

ckno

wle

dgem

ent”

partn

erLi

nk=”

Piz

zaS

ervi

ce” p

ortT

ype=

”Piz

za“

oper

atio

n=”b

ody”

var

iabl

e=”in

put”>

</

sequ

ence

> </

proc

ess>

Con

nect

or

Page 22: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

43

Flow

Ope

ratio

ns a

re W

orkf

low

Gra

phs

► 

The

<flo

w>

oper

atio

n is

stru

ctur

ed a

s a

wor

kflo

w g

raph

s ■ 

The

nam

es o

f mes

sage

s, p

orts

, par

tner

link

s he

lp to

spa

n up

the

grap

h ■ 

<flo

w>

exec

utes

its

sequ

ence

s in

par

alle

l ■ 

<lin

ks>

can

sync

hron

ize

para

llel t

asks

<flow>

<links><link> name=”A”</link>

<link>name=”B”</link>

</links>

<sequence>..<invoke> <target name=”A”>..</sequence>

<sequence>....<target name =”B”>...........</sequence>

</flow>

+ +

A

B

Pro

f. U

. Aßm

ann,

CB

SE

44

Oth

er O

pera

tions

in B

PEL

► 

Stru

ctur

ed c

ontro

l-flo

w

■ se

quen

ce

■ sw

itch

■ w

hile

■ 

flow

■ 

pick

(XO

R jo

in)

■ te

rmin

ate

► 

com

pens

ate

► 

scop

e ► 

assi

gn

Page 23: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

45

BPE

L To

ols

► 

Col

laxa

des

igne

r ww

w.c

olla

xa.c

om

► 

Peo

ple

wor

k on

the

trans

latio

n of

Col

ored

Pet

ri N

ets

and

UM

L ac

tivity

di

agra

ms

from

and

to B

PE

L ■ 

CP

N h

ave

good

form

al fe

atur

es (s

ee S

T-2)

■ 

Can

be

used

for d

eadl

ock

chec

king

, res

ourc

e co

ntro

l, et

c.

■ Y

AW

L is

suc

h a

nice

lang

uage

, see

the

wor

k of

[van

der

Aal

st]

Pro

f. U

. Aßm

ann,

CB

SE

46

Bus

ines

s Pr

oces

s

Net

wo

rk

Mes

sag

ing

Ser

vice

Des

crip

tio

n

Ser

vice

Pu

bli

cati

on

Ser

vice

Dis

cove

ry

HT

TP

, FT

P,

IIO

P,

MQ

, ..

.

SO

AP

WS

DL

UD

DI

UD

DI

Com

pone

nts

of W

eb S

ervi

ces

XM

L M

essa

ge

Des

crip

tio

n

Wo

rkfl

ow

OW

L-S

BP

EL

BP

MN

Appr

oach

Page 24: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

CB

SE

, © P

rof.

Uw

e A

ßman

n 47

15.6

Bus

ines

s Pr

oces

s M

odel

ing

N

otat

ion

(BPM

N)

Pro

f. U

. Aßm

ann,

CB

SE

48

His

tory

The

Bus

ines

s P

roce

ss M

odel

ling

Not

atio

n (B

PM

N)

Gra

phic

al n

otat

ion

for c

once

ptua

l pro

cess

es

Cov

ers

cont

rol,

data

, aut

horiz

atio

n, e

xcep

tion

Sta

ndar

dize

d by

OM

G

[Rob

ert S

hapi

ro 2

009]

Page 25: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

49

Cor

e El

emen

ts

Pro

f. U

. Aßm

ann,

CB

SE

50

Act

iviti

es a

nd P

roce

sses

An

activ

ity is

a g

ener

ic ty

pe o

f wor

k th

at a

com

pany

per

form

s. A

n ac

tivity

can

be

atom

ic (t

ask)

or c

ompo

und

(pro

cess

, sub

-pro

cess

).

Col

laps

ed

sub-

proc

ess

Task

1

Task

2

+

Exp

ande

d su

b-pr

oces

s P

roce

ss

Loop

ing

A

d-H

oc

~

Mul

tiple

II

Page 26: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

51

Even

ts a

nd A

ctiv

ities

Eve

nts

affe

ct th

e flo

w o

f the

pro

cess

and

usu

ally

hav

e a

caus

e (tr

igge

r)

or a

n im

pact

(res

ult):

'Em

ail r

ecei

ved'

, 'W

areh

ouse

em

pty'

Pro

f. U

. Aßm

ann,

CB

SE

52

Gat

eway

s an

d C

onne

ctio

ns

A ga

tew

ay is

use

d to

spl

it or

m

erge

mul

tiple

pro

cess

flow

s.

Thus

it w

ill d

eter

min

e br

anch

ing,

fo

rkin

g, m

ergi

ng a

nd jo

inin

g of

pa

ths.

Gra

phic

al c

onne

ctor

s

Page 27: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

53

Exam

ple

Sta

rt E

vent

S

eque

nce

Flow

E

nd

Eve

nt

Task

XO

R s

plit

Gat

eway

AN

D jo

in

Gat

eway

Sub

Pro

cess

E

rror

Inte

rmed

iate

E

vent

Pro

f. U

. Aßm

ann,

CB

SE

54

Why

BPM

N?

BP

MN

v1.

x M

odel

ing

lang

uage

, no

exec

utio

n se

man

tics

BP

MN

incl

udes

a p

artia

l map

ping

to B

usin

ess

Pro

cess

Exe

cutio

n La

ngua

ge (B

PE

L)

Cha

nges

in th

e B

PM

N m

odel

do

not u

pdat

e in

the

BP

EL

code

B

PM

N v

2.x

Exe

cutio

n se

man

tics

Exp

licit

serv

ice

map

ping

Fi

rst e

ngin

es a

re a

vaila

ble

(jBP

M fo

r jB

oss)

U

ML

Act

ivity

Dia

gram

s ar

e si

mila

r to

BP

MN

U

ML:

sys

tem

vie

w, o

bjec

t-orie

nted

app

roac

h B

PM

N: c

usto

mer

vie

w, p

roce

ss-o

rient

ed a

ppro

ach

BP

MN

gea

red

tow

ards

bus

ines

s an

alys

ts:

BP

MN

con

stru

cts

are

sim

plifi

ed

UM

L no

tatio

n to

o bl

oate

d B

PM

N is

on

the

plat

form

-inde

pend

ent l

evel

, BP

EL

near

er th

e pl

atfo

rm-s

peci

fic le

vel

Page 28: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

55

Giv

e B

PMN

a tr

y

Free

BP

MN

Edi

tor

from

Ecl

ipse

In

clud

ed in

the

SO

A

Tool

s P

roje

ct

http

://w

ww

.ecl

ipse

.org

/bpm

n/

SA

P h

as d

ecid

ed to

use

BP

MN

in

thei

r pro

duct

s

CB

SE

, © P

rof.

Uw

e A

ßman

n 56

15.7

Tru

st a

nd S

ecur

ity

Page 29: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

57

Trus

t and

Sec

urity

► 

Pol

icie

s: w

hen

do I

allo

w s

omeb

ody

to d

o so

met

hing

► 

Inte

grity

: int

act,

unch

ange

d

► 

Con

fiden

tialit

y: c

rypt

ifica

tion

polic

y ► 

Aut

hent

icat

ion:

pro

of o

f ide

ntity

► 

Aut

horiz

atio

n: a

cces

s to

exe

cute

cer

tain

ser

vice

s ► 

Non

-Rep

udia

tion:

war

anty

on

faili

or

► 

Lega

l Rig

hts:

cop

y rig

hts,

rese

lling

righ

ts, .

.. ► 

Priv

acy:

han

dlin

g pe

rson

al d

ata

► 

...

Pro

f. U

. Aßm

ann,

CB

SE

58

Trus

t and

Sec

urity

Net

wo

rk

Mes

sag

ing

Ser

vice

Des

crip

tio

n

Ser

vice

Pu

bli

cati

on

Ser

vice

Dis

cove

ry

Wo

rk F

low

Security

HT

TP

, FT

P,

IIO

P,

MQ

, ..

.

SO

AP

WS

DL

UD

DI

UD

DI

Com

pone

nts

of W

eb S

ervi

ces

XM

L M

essa

ge

Des

crip

tio

n

OW

L-S

BP

EL

BP

MN

WS

-Sec

uri

ty

Page 30: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

59

Tech

nica

l Con

clus

ion

Def

ined

with

XM

L

OW

L-S

BP

EL

BP

MN

WS

-Sec

uri

ty

Web

Ser

vice

s m

inim

um

HT

TP

, FT

P,

IIO

P,

MQ

, ..

.

SO

AP

WS

DL

UD

DI

UD

DI

XM

L

Pro

f. U

. Aßm

ann,

CB

SE

60

Web

Ser

vice

s –

Com

pone

nt M

odel

Tr

ansp

aren

cy

► 

Lang

uage

ada

ptat

ion:

XM

L S

chem

a +

WS

DL

► 

Rem

ote

trans

pare

ncy:

SO

AP

(+ H

TTP

) ► 

Com

pone

nt m

odel

tran

spar

ency

(EJB

, CO

M+,

CO

RB

A, C

CM

, Bea

ns,

etc.

..)

Server

C++

Local

Client C

COM+

CCM

SOAP (HTTP) Remote

SOAP (HTTP) Local

Remote

Client

Java

EJB

WSDL

WSDL

WSDL

Page 31: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

CB

SE

, © P

rof.

Uw

e A

ßman

n 61

15.8

Eva

luat

ion

of W

eb S

ervi

ces

as c

ompo

sitio

n sy

stem

Pro

f. U

. Aßm

ann,

CB

SE

62

Com

pone

nt M

odel

► 

Mec

hani

sms

for s

ecre

ts a

nd tr

ansp

aren

cy: v

ery

good

■ 

Loca

tion,

lang

uage

, com

pone

nt m

odel

tran

spar

ency

■ 

Com

mun

icat

ion

prot

ocol

tran

spar

ency

■ 

Inte

rface

spe

cific

atio

n is

flex

ible

with

WS

DL

► 

Diff

eren

t bla

ck-b

ox c

ompo

nent

mod

els

can

be h

idde

n un

der W

SD

L sp

ecifi

catio

ns

► 

Gen

eric

BP

EL

Web

Ser

vice

s ar

e po

ssib

le (w

ithou

t bou

nd W

SD

L po

rts)

► 

BP

NM

Web

Ser

vice

s ca

n be

ste

pwis

e re

fined

from

abs

tract

to

conc

rete

Page 32: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

63

Com

posi

tion

Tech

niqu

e

► 

Mec

hani

sms

for c

onne

ctio

n ■ 

Pro

toco

l tra

nspa

renc

y al

low

s fo

r fle

xibl

e co

nnec

tions

■ 

WS

DL

bind

ing

is fl

exib

le

► 

Mec

hani

sms

for a

spec

t sep

arat

ion

► 

Sep

arat

e m

odel

ing

from

exe

cutio

n (a

bstra

ct b

usin

ess

proc

esse

s fro

m w

orkf

low

s)

► 

Sca

labi

lity:

Bet

ter

■ C

hang

es o

f pro

toco

l pos

sibl

e ■ 

Cha

nges

of d

istri

butio

n ea

sy

■ C

hang

es o

f wor

kflo

w e

asy

Pro

f. U

. Aßm

ann,

CB

SE

64

Com

posi

tion

Lang

uage

► 

BP

EL,

BP

MN

are

flex

ible

com

posi

tion

lang

uage

s ■ 

Not

yet

full

exch

ange

abili

ty o

f con

nect

or ty

pes

■ B

ut g

raph

ic s

uppo

rt fo

r wor

kflo

w s

peci

ficat

ions

■ 

Con

trol-

and

data

-flow

ope

rato

rs (g

atew

ays)

■ 

Par

alle

l exe

cutio

n se

man

tics

■ A

bstra

ct (b

usin

ess

proc

esse

s) a

nd e

xecu

tabl

e le

vel (

wor

kflo

ws)

► 

Met

acom

posi

tion

fully

sup

porte

d ■ 

The

gene

ratio

n of

a B

PE

L or

BP

MN

scr

ipt i

s ea

sy, b

ecau

se it

is X

ML

base

d ■ 

Env

ironm

ents

gen

erat

e w

orkf

low

from

oth

er s

peci

ficat

ions

■ 

Gen

eric

wor

kflo

w a

rchi

tect

ures

will

be

poss

ible

Page 33: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

65

Web

Ser

vice

s - C

ompo

nent

Mod

el

Par

amet

eriz

atio

n

Bin

ding

poi

nts

Con

tract

s B

usin

ess

serv

ices

Infra

stru

ctur

e

Sec

rets

Dev

elop

men

t en

viro

nmen

ts Ty

pes

Vers

ioni

ng

Dis

tribu

tion

Pro

f. U

. Aßm

ann,

CB

SE

66

Web

Ser

vice

s –

Com

posi

tion

Tech

niqu

e an

d La

ngua

ge

Sca

labi

lity

Ada

ptat

ion

Met

acom

posi

tion

Asp

ect S

epar

atio

n

Ext

ensi

bilit

y S

oftw

are

proc

ess

Con

nect

ion

Pro

duct

qua

lity

Page 34: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

67

Web

Ser

vice

s as

Com

posi

tion

Syst

ems

Component Model

Composition Technique

Composition Language

Con

tent

s: C

ompl

etel

y hi

dden

Bin

ding

poi

nts:

WS

DL

ports

Ada

ptat

ion:

wel

l sup

porte

d

Aut

omat

ic tr

ansa

ctio

ns, r

ecov

ery

Sev

eral

type

s o

f con

nect

ors

BP

EL

BP

MN

etc

.

Pro

f. U

. Aßm

ann,

CB

SE

68

So F

ar: B

lack

box

Com

posi

tion

► 

Sta

ndar

d m

iddl

ewar

e ■ 

CO

RB

A, D

CO

M

► 

Impl

icit

mid

dlew

are

■ E

JB

► 

Arc

hite

ctur

e sy

stem

s ■ 

Web

ser

vice

s

Page 35: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

69

Cla

ssic

al

Com

pone

nt S

yste

ms

Arc

hite

ctur

e Sy

stem

s

Asp

ect S

yste

ms

View

Sys

tem

s

Dar

win

BPE

L A

CM

E B

PMN

Asp

ect/J

In

vasi

ve C

ompo

sitio

n M

etac

lass

Com

posi

tion

Picc

ola

Stan

dard

Com

pone

nts

Arc

hite

ctur

e as

Asp

ect

Asp

ect S

epar

atio

n C

ompo

sitio

n O

pera

tors

C

ompo

sitio

n La

ngua

ge

Obj

ect-O

rient

ed S

yste

ms

C++

J

ava

Obj

ects

as

Run

-Tim

e C

ompo

nent

s

Mod

ular

Sys

tem

s M

odul

a

Ada

-85

Mod

ules

as

Com

pile

- Ti

me

Com

pone

nts

Com

posi

tion

Filte

rs

Hyp

ersl

ices

Softw

are

Com

posi

tion

Sy

stem

s

.NET

CO

RB

A B

eans

EJ

B

The

Ladd

er o

f Com

pone

nt a

nd C

ompo

sitio

n Sy

stem

s

Pro

f. U

. Aßm

ann,

CB

SE

70

The

Seco

nd P

art o

f the

Cou

rse:

G

reyb

ox C

ompo

sitio

n

Gen

eric

pro

gram

min

g G

ener

ic p

rogr

am e

lem

ents

H

ome-

mad

e co

nnec

tors

Vie

w-b

ased

pro

gram

min

g Fo

rmal

foun

datio

ns (l

ambd

a N

, pi-c

alcu

lus)

R

ecor

d ca

lcul

i, S

cala

H

yper

spac

e pr

ogra

mm

ing

Asp

ect-o

rient

ed

deve

lopm

ent

Asp

ect-o

rient

ed p

rogr

amm

ing

Asp

ect-o

rient

ed d

esig

n

Inva

sive

sof

twar

e co

mpo

sitio

n S

lots

and

hoo

ks

Nov

el F

orm

s of

C

ompo

sitio

n

Uni

form

com

posi

tion

Act

ive

docu

men

t com

posi

tion:

A

rchi

tect

ural

sty

les

for

activ

e do

cum

ents

and

web

sy

stem

s R

ound

trip

engi

neer

ing

and

com

posi

tion

Page 36: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

71

Som

e A

bbre

viat

ions

► 

ebX

ML:

E

lect

roni

c B

usin

ess

XM

L ► 

UD

DI:

Uni

vers

al D

escr

iptio

n, D

isco

very

and

Inte

grat

ion

► 

OA

G: O

pen

App

licat

ions

Gro

up

► 

OA

SIS

: O

rgan

izat

ion

for t

he A

dvan

cem

ent o

f Stru

ctur

ed

In

form

atio

n S

tand

ards

► 

SO

AP

: S

impl

e O

bjec

t Acc

ess

Pro

toco

l ► 

HTT

P:

Hyp

erte

xt T

rans

fer P

roto

col

► 

tpaM

L:

Tra

ding

Par

tner

Agr

eem

ent M

arku

p La

ngua

ge

► 

UM

L:

Uni

fied

Mod

elin

g La

ngua

ge

► 

UN

/CE

FAC

T:

Uni

ted

Nat

ions

Cen

tre fo

r the

Fac

ilita

tion

of P

roce

dure

s an

d

Pra

ctic

es in

Adm

inis

tratio

n, C

omm

erce

and

Tra

nspo

rt ► 

WS

FL:

Web

Ser

vice

s Fl

ow L

angu

age

► 

WS

DL:

W

eb S

ervi

ces

Des

crip

tion

Lang

uage

► 

WS

IL:

Web

Ser

vice

s In

spec

tion

Lang

uage

► 

WS

XL:

Web

Ser

vice

s E

xper

ienc

e La

ngua

ge

► 

WS

CL:

Web

Ser

vice

s C

onve

rsat

ion

Lang

uage

► 

WS

UI:

Web

Ser

vice

s U

ser I

nter

face

► 

WS

ML:

Web

Ser

vice

s M

eta

Lang

uage

► 

WS

CM

: (W

eb S

ervi

ces

Com

pone

nt M

odel

) Num

er o

mdö

pt ti

ll W

SIA

► 

WS

IA:

Web

Ser

vice

s fo

r Int

erac

tive

App

licat

ions

► 

WS

EL:

Web

Ser

vice

s E

ndpo

int L

angu

age

► 

WS

RP

: W

eb S

ervi

ces

for R

emot

e P

orta

ls

Pro

f. U

. Aßm

ann,

CB

SE

72

Som

e U

RLs

► w

ww

.ebx

ml.o

rg

► w

ww

.udd

i.org

► w

ww

.oas

is-o

pen.

org

► w

ww

.unc

efac

t.org

► w

ww

.w3.

org

► w

ww

.om

g.or

g ► w

ww

.biz

talk

.org

► w

ww

.soa

pclie

nt.c

om

► w

ww

.soa

pwar

e.or

g ► w

ww

.xm

l.com

► w

ww

.xm

l.org

► w

ww

.web

serv

ices

.org

► w

ww

.web

serv

ices

arch

itect

.com

► w

ww

.ws-

i.org

Page 37: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

73

The

End

► 

Man

y sl

ides

inhe

rited

from

► 

Stig

Ber

ild's

talk

on

the

Nor

dic

Con

fere

nce

on W

eb S

ervi

ces,

Nov

. 20

02

► 

Pro

f. W

elf L

öwe,

Web

Ser

vice

Com

pete

nce

Cen

ter (

WS

CC

), V

äxjö

U

nive

rsity

: ■ 

Wel

f.Low

e@m

si.v

xu.s

e ■ 

http

://w

ww

.msi

.vxu

.se/

~ric

s

CB

SE

, © P

rof.

Uw

e A

ßman

n 74

15.9

OW

L-S

(Web

Ont

olog

y

Lang

uage

for S

ervi

ces)

Add

ition

al m

ater

ial

► 

OW

L-S

def

initi

on a

t ht

tp://

ww

w.w

3.or

g/S

ubm

issi

on/O

WL-

S/

► 

http

://da

ml.s

eman

ticw

eb.o

rg/s

ervi

ces/

owl-s

/1.0

Page 38: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

75

OW

L W

eb O

ntol

ogy

Lang

uage

► 

Cla

sses

and

rela

tions

hips

► 

Exp

ress

ions

to c

ompu

te (d

eriv

e) n

ew c

lass

es a

nd re

latio

nshi

ps

(der

ived

mod

el)

■ U

nion

, int

erse

ctio

n of

rela

tions

and

cla

sses

■ 

Car

dina

lity

rest

rictio

ns

■ E

xist

entia

l qua

ntifi

ers

► 

Rou

ghly

spe

akin

g, O

WL

corr

espo

nds

to U

ML-

clas

s di

agra

ms

with

out

met

hods

+ O

CL

+ cl

ass

expr

essi

ons

► 

Inst

ead

of p

lain

XM

L, O

WL

can

be u

sed

to ty

pe d

ata

■ B

eyon

d tre

es a

nd c

onte

xt-fr

ee s

truct

ures

, gra

phs,

kno

wle

dge

web

s, s

eman

tic n

ets

can

be d

escr

ibed

(con

text

-sen

sitiv

e st

ruct

ures

)

Pro

f. U

. Aßm

ann,

CB

SE

76

OW

L-S

► 

Bas

ed o

n O

WL,

a la

ngua

ge fo

r spe

cific

atio

n of

web

ser

vice

s ha

s be

en d

evel

oped

by

the

OW

L-S

coa

litio

n ► 

Spe

cific

atio

n ha

s th

ree

parts

: ■ 

Ser

vice

pro

file:

sem

antic

ser

vice

des

crip

tion,

ser

vice

offe

r, se

rvic

e fu

nctio

nalit

y (w

hat d

oes

the

serv

ice

prov

ide?

) . 

Bas

ed o

n do

mai

n on

tolo

gies

in O

WL,

i.e.

, OW

L-sp

ecifi

ed a

ttrib

utes

■ 

Ser

vice

mod

el: s

ervi

ce re

aliz

atio

n, d

ecom

posi

tion

of a

ser

vice

(how

doe

s th

e se

rvic

e w

ork?

) . 

Ser

vice

is a

lso

calle

d a

proc

ess

. H

ere,

OW

L-S

pro

vide

s a

proc

ess

onto

logy

■ 

Ser

vice

gro

undi

ng: s

ervi

ce m

appi

ng to

und

erly

ing

mec

hani

sms

(how

is th

e se

rvic

e m

appe

d to

a c

ompo

nent

mod

el a

nd tr

ansp

ort p

roto

col?

) Sim

ilar t

o W

SD

L gr

ound

ing

Page 39: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

77

OW

L-S

Proc

esse

s

► 

Ato

mic

■ 

Can

not b

e de

com

pose

d ■ 

Can

be

calle

d an

d ex

ecut

ed

■ C

an b

e m

appe

d to

WS

DL

proc

ess

desc

riptio

ns (g

roun

ding

), an

d he

nce,

to S

OA

P

► 

Sim

ple

■ C

anno

t be

deco

mpo

sed

■ C

an b

e ex

ecut

ed, b

ut n

ot b

e ca

lled

from

out

side

► 

Com

posi

te

■ B

uild

from

ato

mic

and

sim

ple

proc

esse

s

Pro

f. U

. Aßm

ann,

CB

SE

78

Serv

ice

Mod

el (P

roce

ss M

odel

) of

OW

L-S

► 

Pro

cess

Ont

olog

y

■ D

escr

ibes

a s

ervi

ce (p

roce

ss) w

ith a

n IO

PE

spe

cific

atio

n . 

Inpu

ts

. O

utpu

ts

. P

aram

eter

s . 

Effe

cts

► 

Pro

cess

con

trol o

ntol

ogy

(for c

ompo

site

pro

cess

es)

■ In

tern

al re

aliz

atio

n w

ith s

tate

, act

ivat

ion,

exe

cutio

n, c

ompl

etio

n (c

ontro

l-flo

w

spec

ifica

tion)

Page 40: BSE - TU Dresdenst.inf.tu-dresden.de/.../cbse/slides/15-web-services-2x1.pdf · 2011. 5. 28. · BSE 13

Pro

f. U

. Aßm

ann,

CB

SE

79

Cre

atin

g an

OW

L-S

spec

ifica

tion

► 

Des

crib

e at

omic

pro

cess

es

► 

Des

crib

e gr

ound

ing

of a

tom

ic p

roce

sses

► 

Des

crib

e co

mpo

sitio

ns

► 

Des

crib

e si

mpl

e pr

oces

ses

► 

Des

crib

e pr

ofile

of s

ervi

ce

Pro

f. U

. Aßm

ann,

CB

SE

80

OW

L-S

Stat

emen

ts o

f a C

ompo

site

Pro

cess

► 

Uno

rder

ed (u

nspe

cifie

d or

der)

► 

Seq

uenc

e ► 

Spl

it ► 

Spl

it+Jo

in (

fork

and

join

) ► 

Con

curr

ent

► 

Cho

ice

► 

If-th

en-e

lse

► 

Rep

eat-u

ntil

► 

Rep

eat-w

hile