صفحه 1:
Gervice Oriectuiva
Qu tesues!
© Oke's spect about services?
° Cosruids oP service-crieved OE
صفحه 2:
") Geruves, service descripion, service 00
* Genice-Oriesied Prchiterture (GO®)
" Deb services
« 6GOGE: Genive-Oriedted GoPiwore Cagicerriccgy
SE, Servic Orientation, Hans van Vliet, ©2008 2
صفحه 3:
3
rahe nestourccdt ocd
" Qestourad provides Pood: u service
" @PRter the order ts tokeu, Pood ts produced, served, ...:
اوه رو مرو DP ver services
® Dre wea iedicdes the service provided: u service descriptor
® Dre order ts vorites down, or peled ot, te cook! services
Do wwunicde through wessages
SE, Servic Orientation, Hans van Vliet, 8
صفحه 4:
SE, Servic Orientation, Hans van Vliet, ©2008 4
صفحه 5:
۶ ه ۲ بمما مرن house:
* م6 مد ام ان ٠)
۰ ها رام ین Y
۰ مه را و ین L
* Geach rid cpus ها 0,0
SE, Servic Orientation, Hans van Vliet, ©2008 5
صفحه 6:
6
Oke's u service
® ChPorw-tedepeudedt powputaicad catiy thot vad be used too phoP ore
له هت تا
۶ لاهن cuties pr uppiruios Puoniondiies wressed via exchoaye oP
WEES
جاص و موم copuble oP ون "
۰ بهز مین used to poweevics wih sowettay ee: GOO, Orb ,شوه
3 SE, Servic Orientation, Hans van Viet, ©2008
fe.
os
صفحه 7:
Oka's u serve, oid
۰ GRA Pow producing spPiwere to using spore
"Yow eed oot hoot the svPvare
Or keep trek oP versiows, reuse
"Deed wt woke sur tl evokes
" Cv
۰ GoPwee ts “sowewhere”, depbped v0 weeded baste
" GuaG: GoPwoe wu Gervice
5
12 SE, Servic Orentation, Hans van Wlet, 62008 7
صفحه 8:
8
SE, Servic Orientation, Hans van Vliet, 8
Key wpevs
صفحه 9:
SE, Servic Orientation, Hans van Vliet, ©2008 9
صفحه 10:
Apartment
(immediate, cheap) publish
Agency 1
Apartment?
Rental agreement
SE, Servic Orientation, Hans van Vliet, ©2008 مد
صفحه 11:
بمج ددعلل Gervice
" برورسیل() & doaws, cock keoviod way selert a dPPered oor
" Oricay oterios te seleviod: vociroct
" Gelviva woy be based va worked, cowpleny oP the quesivs, Bis >
ی
۰ ۴ ول ج ,طو۳ جوم tov Iraq < select coher service =? wore Pout
5
12 SE, Servic Orientation, Hans van Viet, ©2008 a
صفحه 12:
® Oeny desiqa potercs lovsrd جیوه موه ماوت
" Pastry polers! credes object wihout speviPyicy the exact
those oP te vbjevt.
SE, Servic Orientation, Hans van Vliet, ©2008 12
صفحه 13:
* Gere vas be a bulky block Por ها services
" Oot dPPeredt Prow COGG und cher wprowkes
SE, Servic Orientation, Hans van Vliet, ©2008 13
صفحه 14:
Geruves udkere to 9 poor
") Request reystry should poate everhicy ceeded, uot just مایت
"Por “word!” cowpouds, wurk ts tepiot:
® PhiPorw choradteristics
۰ ماه روای)
۰ ۳ یل منت
موم به
۰ جسج! عطمها (90) و۵ ۶و رلیی
(۵۷0) سوه امساسبیی ۰
wag
sd SE, Servic Orientation, Hans van Viet, ©2008 24
صفحه 15:
Apartment
(immediate, cheap}
Agency 1
Apartment?
Rental agreement
SE, Servic Orientation, Hans van Vliet, ©2008 15
صفحه 16:
Qeutd موه power und yo
* Ov wesuepiow possible
* Grocer tro 00066 ما couple;
SE, Servic Orientation, Hans van Vliet, ©2008 16
صفحه 17:
۰ Redd تما ماو موی روت tf لمم خلا سامح
whe tt wil be touched agac, cad by whoo
SE, Servic Orientation, Hans van Vliet, ©2008 17
صفحه 18:
Gernives ae auipwwo, hide their by
") Read ageuy kes tis vue rues oo how te structure its
process
"4s lovtc does oot depend vo the wunivipdliy service tits لاس
by
۰ وس :جروت وربا ولو یب( doesu't koow the toside, od
versa انا
SE, Servic Orientation, Hans van Vliet, ©2008 18
صفحه 19:
۰ ول پزموق) u busttess provess:
Dot very Pe graced
" Oplepteg debt stctus اس ها موه هجوت مس I Senior,
سم red stoke سا
" Oecthay oa proper qronueniiy roses bts oP debut
SE, Servic Orientation, Hans van Vliet, ©2008 19
صفحه 20:
تسا جح ج سول موه موم "
:كلم وه مرن نم جوا ی ی( "
series oe desorbed رورا«
موه موه "ow
مدل وه "Low serves
۶ب ۶
SE, Servic Orientation, Hans van Vliet, ©2008 0
صفحه 21:
Gervives لته( toterppercabiliy:
۲ و وومیو) opes stondards, explictt cooiructs wed loose couple
" Chsstcd OOGE schitous pose problews:
۰ رم Porat
۰ ومس له مر
۰
هش لجه (0۱) تمه من لت موب«
(6©6)
SE, Servic Orientation, Hans باعلا مهب 62008 ۰.2
صفحه 22:
" Genives, service desoripiion, اوه سوه
® Gernvie-Ortected Orvhterture (GO)
" Deb services
۶ GOGE: Genice-Oriedted GoPiwore Cugicerricgy
SE, Servic Orientation, Hans van Vliet, ©2008 22
صفحه 23:
:بطم *
عدا سور صما و وه مر مایخ با
اس و aid و ام اوه te packs wiser امه
0
" 606: Ow systew wade vut oP services?
SE, Servic Orientation, Hans van Vliet, ©2008 23
صفحه 24:
Oka» GOB?
Orchestration/coordination layer
_Orct / ا “O--|
physical موه
0 وج Business services layer 555۲5
service bu
5555 infrastructure service layer 88
SE, Servic Orientation, Hans van Vliet, ©2008 24
صفحه 25:
Cvectbosed wessayiy royce
"Orig: C01, svlve toteruiva problews
۶ ول ون rare oP:
1 chic trocePorertia, 27
* Quad of Gervice beves! seouniy, جات ,ححصي خان تماص تاو
بحب رسد مه رما نس سوم(
0
* اون veurd (broker, hub), or deveuird (swat (صمدصاجج
SE, Servic Orientation, Hans van Vliet, ©2008 25
صفحه 26:
SE, Servic Orientation, Hans van Vliet, ©2008 26
صفحه 27:
" Genives, service desoripiion, اوه سوه
* Gernice-Oriected @rchierture (GO®)
" Ocb services
۶ GOGE: Genice-Oriedted GoPiwore Cugicerricgy
SE, Servic Orientation, Hans van Vliet, ©2008 27
صفحه 28:
"(ope weddion اوه تلو ۵ عون
" @used va سوه موه
* 0
* ۵۵۵: امس موه ال م۵
" WGOL: Orb Gerices Deserta Lornnnne
© 0001: Oowersd Oeseripion, Discovery od leteyrctiost
| Loreunne Por Orb Gervices
*) Oto stamdardzutou bodes: OBG16, 090
SE, Servic Orientation, Hans van Vliet, ©2008 28
صفحه 29:
SE, Servic Orientation, Hans باعلا موب 62008 ۰.9
صفحه 30:
discovery
SE, Servic Orientation, Hans van Vliet, 8
composition
description
messages
network
صفحه 31:
"Looks the TOL
® beequage/vordbdery dePiced to schewu! colevios oP trees
مرو رون ۶
له را0ن) :آجن عه موه :9:0 تلو ,طله() تمیق ۰
للم سول
SE, Servic Orientation, Hans van Vliet, ©2008 31
صفحه 32:
200
موه مه له ممییو() ۰«
* مق kes من header (~akdess), cod wanduory
body: و وه لب dat
شوه و DOT ۶ لطس و COOP wessap ۰
SE, Servic Orientation, Hans van Vliet, ©2008 32
صفحه 33:
" Pow pots:
"Web service tterPares
* Dessau deftones
مت و مق dete
" Genices! eudpoiats Por ucvessiay service. Gadpoiat = (biedry,
etwork uddress)
SE, Servic Orientation, Hans van Vliet, ©2008 33
صفحه 34:
" Drree (cota) ports:
۶ eBo about oryactzatoa that publishes the services
* Qesonpive Po لجح each service
*Dechoicd toby to bok services to ماو
SE, Servic Orientation, Hans van Vliet, ©2008 34
صفحه 35:
" عون :وج میسن yobd reqsiry
* Rediy! way reysines, wih dPPered levels oP vistbiliy
" Ouppicry problews
SE, Servic Orientation, Hans van Vliet, ©2008 35
صفحه 36:
۵۳0۵0۵0۵
Three wots ports:
" Porkerichs: depeudeuwies beeen services! why spuds whol to whoo
"Cbd لس
" DorkPow wodel: “‘proucnn”
اوه :موجه مومس و و CPCLEOG *
= OG-OOb (Web Genices Ohorevy phy Orsoripton Lonpanp) & 3
یحو امه :وتا توا وود
wag
sd SE, Servic Orientation, Hans van Viet, ©2008 36
صفحه 37:
" Genives, service desoripiion, اوه سوه
* Gernice-Oriected @rchierture (GO®)
" Deb services
" GOGGE: Genive-Orteded GoPiwae Guyceertag
SE, Servic Orientation, Hans van Vliet, ©2008 37
صفحه 38:
Service Service
development deployment
تعنوتت
administration
SE, Servic Orientation, Hans van Vliet, ©2008 38
Service oriented
5أكل/ا/ة30
Service oriented
design
صفحه 39:
( حلص اوه ) وی لسن وروی«
busiess provess + supporiay services ۰
@ppleuvs (Prestruture) serve ®
سوه وی«
service وا مین "
۶ Cotp-ceuric busicess service
* ره لپا
SE, Servic Orientation, Hans van Vliet, ©2008 9
صفحه 40:
ora
aa
SE, Servic Orientation, Hans van Vliet, ©2008 40
صفحه 41:
SE, Servic Orientation, Hans van Vliet, 8
۳4
صفحه 42:
Service oriented یروت Stale
5أكل/ا/ة30 development deployment
SE, Servic Orientation, Hans van Vliet, ©2008 42
صفحه 43:
43
step O
Service oriented ترایز رتیت وزرته۱
mag «Compose SOA 4
business models design
Define enterprise ۳6۲۲۵۲۳۲۱ ۶
service model oriented analysis
SE, Servic Orientation, Hans van Vliet, 8
صفحه 44:
Develop 26۵۷
ععی 56۳۷
Model application
لوده
ره صم كك - ره متا
SE, Servic Orientation, Hans van Vliet, ©2008 4
5
صفحه 45:
Top-down
5أك/ا/ة30
Revisit business
علاين وی (and process) services
SE, Servic Orientation, Hans van Vliet, ©2008 45
صفحه 46:
۲ Whe بو ۲و ووومم how bustuess cuiowaia
requreweus cod be represeuied trough service priewtdiod
SE, Servic Orientation, Hans van Vliet, ©2008 46
صفحه 47:
Gods oP GO unipsis
Service operation Service candidates
candidates (logical contexts)
* @pproprictecess Por علطم
رومام روط tours tot way cheap required service wiry
۰ Osher koows prekotrery او ماوت
3
a
SE, Servic Orientation, Hans van Vliet, ©2008 47
صفحه 48:
Service oriented دلرزرت«۱
analysis analysis scope
Identify
automation
SYA
Service oriented
design
| Model
oe candidate services
SE, Servic Orientation, Hans van Vliet, ©2008 48
صفحه 49:
۰ همطل لو و
* 6 = 1G), where adler services way sitll be que compen
* مالعا مين
© proces noni servies/senice operons (qeueric service porPoli7)
" services delverion busivess-spevilic tasks
" Dodels: OOD use vase or untiviy dagrane
He”
5 ee ee eT
صفحه 50:
م
ee eT 13
صفحه 51:
= te dread) topleweued?
entre
* تیلم( OOD deploy wed dagray, ال پم
SE, Servic Orientation, Hans van Vliet, ©2008 52
صفحه 52:
QOL > waive Porwa)
(purredy new
یو
وه مود
(صد صمحم صم)
لور
Beri
(Gunedly nstow yay)
وله مود
clerk's متسه م)
work quew)
SVE US previous
SE, Servic Orientation, Hans van Vliet, ©2008 2
صفحه 53:
Gtep 9: Oodel coadkhte services
ow to vowpose services?
* Gervive (voaddutes) poweptud wodel
* ppercives + service له
* GO priwipks
" Cons vc tesh> and eoth-cedred services
* Oodes: BPO, OO we vee or ches diay.
SE, Servic Orientation, Hans van Vliet, ©2008 53
صفحه 54:
4 3 SE, Servic Orientation, Hans van Vliet, ©2008 54
صفحه 55:
حون موه رو بو( "
مامح ۳0 و wih لور راط ی مج ۵0ج ۰
اجه اروت مج ۳0 بخ
SE, Servic Orientation, Hans van Vliet, ©2008 55
صفحه 56:
لسممروق *« مداص *
رابت )+( = ما ان روت سس (ج) ۶
ons ی () « شم سا
coolers: من میت () ۰ و مه مجلمول () *
process
SE, Servic Orientation, Hans van Vliet, ©2008 56
صفحه 57:
57
SE, Servic Orientation, Hans van Vliet, ©2008
۳4
صفحه 58:
Compose SOA
Service oriented
design ۳ Design entity-centric
کوعکنباط 56۳۷۱65
Design infrastructure services
Design task-centric
تفت أولاط
2 Design SO
0 5 business process
SE, Servic Orientation, Hans van Vliet, ©2008 63
صفحه 59:
۳ 5
SE, Servic Orientation, Hans van Vliet, ©2008 64
صفحه 60:
Orchestration/coordination
Infrastructure service layer
“et
5 سرد
صفحه 61:
* OOD seqews dogaw
© express ond refiae order oP Reocatioes Kopict جما ذا OOL usr cose
SE, Servic Orientation, Hans van Vliet, ©2008 66
صفحه 62:
و6
(رومصاه) تسا رجا ه جرا وق *
۰ حور اوه ون موب یو( discovery oP services
" GOO w ochtectud stile
۰ Dodd's Deb services wosty spotorbosed
"Key desiqa devises tt: GOGE vowers service veri,
teksty standards, vad relevact GO priwiples
" GOGG dPPereuides Prow trediicad iPe cycles wutdy ta te
عمط له له
SE, Servic Orientation, Hans van Vliet, ©2008 67
Service Orientation
Main issues:
• What’s special about services?
• Essentials of service-oriented SE
Overview
Services, service description, service communication
Service-Oriented Architecture (SOA)
Web services
SOSE: Service-Oriented Software Engineering
SE, Servic Orientation, Hans van Vliet, ©2008
2
Italian restaurant analogy
Restaurant provides food: a service
After the order is taken, food is produced, served, …:
service may consist of other services
The menu indicates the service provided: a service description
The order is written down, or yelled at, the cook: services
communicate through messages
SE, Servic Orientation, Hans van Vliet, ©2008
3
Main ingredients
Services
Service descriptions
Messages
Implementation: through web services
SE, Servic Orientation, Hans van Vliet, ©2008
4
Other example
Citizen looking for a house:
Check personal data System X
Check tax history
System Y
Check credit history
System Z
Search rental agencies System A,B
…
SE, Servic Orientation, Hans van Vliet, ©2008
5
What’s a service
Platform-independent computational entity that can be used in a platformindependent way
Callable entities or application functionalities accessed via exchange of
messages
Component capable of performing a task
Often just used in connection with something else: SOA, Web services,
…
SE, Servic Orientation, Hans van Vliet, ©2008
6
What’s a service, cnt’d
Shift from producing software to using software
You need not host the software
Or keep track of versions, releases
Need not make sure it evolves
Etc
Software is “somewhere”, deployed on as-needed basis
SaaS: Software as a Service
SE, Servic Orientation, Hans van Vliet, ©2008
7
Key aspects
Services can be discovered
Services can be composed to form larger services
Services adhere to a service contract
Services are loosely coupled
Services are stateless
Services are autonomous
Services hide their logic
Services are reusable
Services use open standards
Services facilitate interoperability
SE, Servic Orientation, Hans van Vliet, ©2008
8
Service discovery
Service
registry
lookup
Service
requestor
publish
bind
Service
provider
SE, Servic Orientation, Hans van Vliet, ©2008
9
Service discovery
Rental agency 1
Rental agency 1
Rental agency 2
Apartment
(immediate, cheap)
Municipality
system
publish
Agency 1
Apartment?
Rental agency 1
2
Rental agreement
SE, Servic Orientation, Hans van Vliet, ©2008
10
Service discovery
Discovery is dynamic, each invocation may select a different one
Primary criterion in selection: contract
Selection may be based on workload, complexity of the question, etc
optimize compute resources
If answer fails, or takes too long select another service more faulttolerance
SE, Servic Orientation, Hans van Vliet, ©2008
11
Is discovery really new?
Many design patterns loosen coupling between classes
Factory pattern: creates object without specifying the exact
class of the object.
SE, Servic Orientation, Hans van Vliet, ©2008
12
Services can be composed
Service can be a building block for larger services
Not different from CBSE and other approaches
SE, Servic Orientation, Hans van Vliet, ©2008
13
Services adhere to a contract
Request to registry should contain everything needed, not just functionality
For “normal” components, much is implicit:
Platform characteristics
Quality information
Tacit design decisions
Trust promises?
Quality of Services (QoC), levels thereof
Service Level Agreement (SLA)
SE, Servic Orientation, Hans van Vliet, ©2008
14
Service discovery
Rental agency 1
Rental agency 2
Apartment
(immediate, cheap)
Municipality
system
Agency 1
Apartment?
Rental agency 1
Rental agreement
SE, Servic Orientation, Hans van Vliet, ©2008
15
Services are loosely coupled
Rental agencies come and go
No assumptions possible
Stronger than CBSE loose coupling
SE, Servic Orientation, Hans van Vliet, ©2008
16
Services are stateless
Rental agency cannot retain information: it doesn’t know if and
when it will be invoked again, and by whom
SE, Servic Orientation, Hans van Vliet, ©2008
17
Services are autonomous, hide their logic
Rental agency has its own rules on how to structure its
process
Its logic does not depend on the municipality service it is invoked
by
This works two ways: outside doesn’t know the inside, and
vice versa
SE, Servic Orientation, Hans van Vliet, ©2008
18
Services are reusable
Service models a business process:
Not very fine grained
Collecting debt status from one credit company is not a service,
checking credit status is
Deciding on proper granularity raises lots of debate
SE, Servic Orientation, Hans van Vliet, ©2008
19
Service use open standards
Proprietary standards vendor lockin
There are lots of open standards:
How services are described
How services communicate
How services exchange data
etc
SE, Servic Orientation, Hans van Vliet, ©2008
20
Services facilitate interoperability
Because of open standards, explicit contracts and loose coupling
Classical CBSE solutions pose problems:
Proprietary formats
Platform differences
Etc
Interoperability within an organization (EAI) and between
(B2B)
SE, Servic Orientation, Hans van Vliet, ©2008
21
Overview
Services, service description, service communication
Service-Oriented Architecture (SOA)
Web services
SOSE: Service-Oriented Software Engineering
SE, Servic Orientation, Hans van Vliet, ©2008
22
Service-Oriented Architecture
Architecture:
the fundamental organization of a system in its components, their
relationships to each other and to the environment and the principles
guiding its design and evolution
SOA: Any system made out of services?
SE, Servic Orientation, Hans van Vliet, ©2008
23
What is SOA?
Orchestration/coordination layer
service
service
Business services layer
service
Infrastructure service layer
service
service bus
physical
logical
SE, Servic Orientation, Hans van Vliet, ©2008
24
Service bus
Event-based messaging engine
Origin: EAI, solve integration problems
Often takes care of:
Mediation: protocol translation, data transformation, etc
Quality of Service issues: security, reliable delivery of messages, etc
Management issues: logging, audit info, etc.
Service discovery
Can be central (broker, hub), or decentral (smart endpoints)
SE, Servic Orientation, Hans van Vliet, ©2008
25
Service coordination
Orchestration: central control
Choreography: decentral control
SE, Servic Orientation, Hans van Vliet, ©2008
26
Overview
Services, service description, service communication
Service-Oriented Architecture (SOA)
Web services
SOSE: Service-Oriented Software Engineering
SE, Servic Orientation, Hans van Vliet, ©2008
27
Web services
Implementation means to realize services
Based on open standards:
XML
SOAP: Simple Object Access Protocol
WSDL: Web Services Description Language
UDDI: Universal Description, Discovery and Integration
BPEL4WS: Business Process Execution Language for Web Services
Main standardization bodies: OASIS, W3C
SE, Servic Orientation, Hans van Vliet, ©2008
28
Coordination of Web services
BPEL4WS
WSDL
Java
WSDL
Java
WSDL
Java
SE, Servic Orientation, Hans van Vliet, ©2008
29
Web services stack
composition
description
BPEL4WS
WSDL
UDDI
messages
SOAP
network
HTTP, FTP, …
discovery
SE, Servic Orientation, Hans van Vliet, ©2008
30
XML
Looks like HTML
Language/vocabulary defined in schema: collection of trees
Only syntax
Semantic Web, Web 2.0: semantics as well: OWL and
descendants
SE, Servic Orientation, Hans van Vliet, ©2008
31
SOAP
Message inside an envelope
Envelop has optional header (~address), and mandatory
body: actual container of data
SOAP message is unidirectional: it’s NOT a conversation
SE, Servic Orientation, Hans van Vliet, ©2008
32
WSDL
Four parts:
Web service interfaces
Message definitions
Bindings: transport, format details
Services: endpoints for accessing service. Endpoint = (binding,
network address)
SE, Servic Orientation, Hans van Vliet, ©2008
33
UDDI
Three (main) parts:
Info about organization that publishes the services
Descriptive info about each service
Technical info to link services to implementation
SE, Servic Orientation, Hans van Vliet, ©2008
34
UDDI (cnt’d)
Original dream: one global registry
Reality: many registries, with different levels of visibility
Mapping problems
SE, Servic Orientation, Hans van Vliet, ©2008
35
BPEL4WS
Three main parts:
Partnerlinks: dependencies between services: who sends what to whom
Global variables
Workflow model: “program”
BPEL4WS is an orchestration language; executable
WS-CDL (Web Services Choreography Description Language) is a
choreography language; not executable
SE, Servic Orientation, Hans van Vliet, ©2008
36
Overview
Services, service description, service communication
Service-Oriented Architecture (SOA)
Web services
SOSE: Service-Oriented Software Engineering
SE, Servic Orientation, Hans van Vliet, ©2008
37
SOSE life cycle
Service oriented
analysis
Service
development
Service
deployment
Service oriented
design
Service
testing
Service
administration
SE, Servic Orientation, Hans van Vliet, ©2008
38
Terminology
service oriented environment (or service oriented ecosystem)
business process + supporting services
application (infrastructure) service
business service
Task-centric business service
Entity-centric business service
hybrid service
SE, Servic Orientation, Hans van Vliet, ©2008
39
Terminology
entity centric
order
fulfilment
service
hybrid
services
hybrid
services
entity-centric
task centric
task-centric
purchase
order
service
business services
business services
infrastructure
infrastructureservices
services
wrapper
service
send
utility
service
customer
profile
service
verify
PO
service
notification
service
SE, Servic Orientation, Hans van Vliet, ©2008
40
Strategies for life cycle organization
Top-down strategy
Bottom-up strategy
Agile strategy
SE, Servic Orientation, Hans van Vliet, ©2008
41
Top-down strategy
Service oriented
analysis
Service
development
Service oriented
design
Service
testing
Service
deployment
SE, Servic Orientation, Hans van Vliet, ©2008
42
Top-down SO analysis
step
step 11
Define enterprise
business models
step 2
2
step
Compose SOA
step 3
3
step
step 4
4
step
Define enterprise
service model
Perform service
oriented analysis
Service oriented
design
....
SE, Servic Orientation, Hans van Vliet, ©2008
43
Bottom-up strategy
Model application
services
Develop
application
services
Design application
service
Test
services
Deploy
services
application service = infrastructure service
SE, Servic Orientation, Hans van Vliet, ©2008
44
Agile strategy
Top-down
analysis
SO analysis
align with
current state
business
models
SO design
Develop services
Test service operations
Deploy services
on-going
align with
current state
business
models
Revisit business
(and process) services
SE, Servic Orientation, Hans van Vliet, ©2008
45
Service oriented analysis
The process of determining how business automation
requirements can be represented through service orientation
SE, Servic Orientation, Hans van Vliet, ©2008
46
Goals of SO analysis
Service operation
Service candidates
candidates
(logical contexts)
Appropriateness for intended use
Identify preliminary issues that may challenge required service autonomy
Define known preliminary composition models
SE, Servic Orientation, Hans van Vliet, ©2008
47
3 Analysis sub-steps
step 1
Service oriented
analysis
Define
analysis scope
step 2
Service oriented
design
...
Identify
automation
systems
step 3
Model
candidate services
SE, Servic Orientation, Hans van Vliet, ©2008
48
Step 1: Define analysis scope
Mature and understood business requirements
S = ∑i Si, where smaller services may still be quite complex
Can lead to
process-agnostic services/service operations (generic service portfolio)
services delivering business-specific tasks
Models: UML use case or activity diagrams
SE, Servic Orientation, Hans van Vliet, ©2008
49
Order Fulfillment Process
start
Transform
PO
receive PO
validate PO
PO
valid
no
Send
notification
Import
PO
yes
Send PO
to queue
stop
SE, Servic Orientation, Hans van Vliet, ©2008
50
Step 2: Identify automation systems
What is already implemented?
encapsulate
replace
Models: UML deployment diagram, mapping tables
SE, Servic Orientation, Hans van Vliet, ©2008
51
Order Fulfillment Process
already
automated
by
Order
fulfillment
service
start
receive PO
same as
previous
validate PO
same as
previous
PO
valid
no
Send
notification
Transform
PO
(XML -> native format)
(currently custom
component)
service candidate
Import
PO
(into accounting sys.)
service candidate
(currently custom legacy)
service candidate
yes
Send PO
to queue
(to accounting clerk's
work queue)
same as previous
stop
SE, Servic Orientation, Hans van Vliet, ©2008
52
Step 3: Model candidate services
How to compose services?
Service (candidates) conceptual model
operations + service contexts
SO principles
Focus on task- and entity-centred services
Models: BPM, UML use case or class diag.
SE, Servic Orientation, Hans van Vliet, ©2008
53
Example service operation candidates
Receive PO document
<<include>>
Validate PO document
PO processing
service
<<include>>
...
(If PO document is invalid,)
send rejection notification
(and end process)
Transform PO document
into native
electronic PO format
SE, Servic Orientation, Hans van Vliet, ©2008
54
Example business process logic
Not service operation candidates
if PO document is valid, proceed with the transform PO document step
if the PO document is invalid, end process
SE, Servic Orientation, Hans van Vliet, ©2008
55
Task- versus entity-centred services
Task-centred
(+) direct mapping of business
requirements
(-) dependent on specific
process
Entity-centred
(+) agility
(-) upfront analysis
(-) dependent on controllers
SE, Servic Orientation, Hans van Vliet, ©2008
56
Benefits of business-centric SOA
introduce agility
prepare for orchestration
enable reuse
SE, Servic Orientation, Hans van Vliet, ©2008
57
Service-oriented design: design sub-steps
Service oriented
analysis
step 1
Compose SOA
Service oriented
design
...
step 2
Design entity-centric
business services
step 3
Design infrastructure services
step 4
Design task-centric
business services
step 5
Design SO
business process
SE, Servic Orientation, Hans van Vliet, ©2008
63
Entity-centric business services
Goal: entity-centric business service layer + parent orchestration layer
Invoice
Customer
Hours billed
Order
*
1
*
1
PO
1
*
*
1
*
<<include>>
...
Validate PO document
*
1
Employee
Email
Weekly hours
...
1
*
1 Customer
1
Receive PO document
PO processing
service
<<include>>
...
(If PO document is invalid,)
send rejection notification
(and end process)
Transform PO document
into native
electronic PO format
...
SE, Servic Orientation, Hans van Vliet, ©2008
64
Infrastructure services
PO
processing
service
Verify
PO
service
Orchestration/coordination
layer
PO
service
Business service layer
Notification
service
Transform
service
Infrastructure service layer
SE, Servic Orientation, Hans van Vliet, ©2008
65
Task-centric business services
UML sequence diagram
express and refine order of invocations implicit in the UML use case
diagram
Receive PO document
<<include>>
Validate PO document
PO processing
service
<<include>>
...
(If PO document is invalid,)
send rejection notification
(and end process)
Transform PO document
into native
electronic PO format
Verify PO
service
PO
service
Notification
service
get_PO
[PO data]
verify
send_reject
SE, Servic Orientation, Hans van Vliet, ©2008
66
Summary
Services have a long history (telephony)
Most important characteristic: dynamic discovery of services
SOA as architectural style
Today’s Web services mostly syntax-based
Key design decisions in SOSE concern service layering,
industry standards, and relevant SO principles
SOSE differentiates from traditional life cycles mainly in the
analysis and design phases
SE, Servic Orientation, Hans van Vliet, ©2008
67