Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant...
-
Upload
lewis-winkles -
Category
Documents
-
view
238 -
download
8
Transcript of Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant...
![Page 1: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/1.jpg)
Lecture 24
Enterprise
Systems
Development( CSC447)
COMSATS Islamabad
Muhammad Usman, Assistant Professor
![Page 2: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/2.jpg)
Service Orientation
![Page 3: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/3.jpg)
3
Overview
Services, service description, service communication Service-Oriented Architecture (SOA) Web services SOSE: Service-Oriented Software Engineering
![Page 4: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/4.jpg)
4
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
![Page 5: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/5.jpg)
5
Main ingredients
Services Service descriptions Messages
Implementation: through web services
![Page 6: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/6.jpg)
6
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 …
![Page 7: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/7.jpg)
7
What’s a service
Platform-independent computational entity that can be used in a platform-independent 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, …
![Page 8: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/8.jpg)
8
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
![Page 9: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/9.jpg)
9
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
![Page 10: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/10.jpg)
10
Service discovery
Service registry
Service provider
Service requestor
lookup
bind
publish
![Page 11: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/11.jpg)
11
Service discovery
Rental agency 1Rental agency 2
Rental agency 2Municipality
system
Apartment(immediate, cheap) publish
Agency 1
Apartment?
Rental agreement
Rental agency 1
Rental agency 1
![Page 12: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/12.jpg)
12
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 fault-tolerance
![Page 13: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/13.jpg)
13
Is discovery really new?
Many design patterns loosen coupling between classes
Factory pattern: creates object without specifying the exact class of the object.
![Page 14: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/14.jpg)
14
Services can be composed
Service can be a building block for larger services
Not different from CBSE and other approaches
![Page 15: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/15.jpg)
15
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)
![Page 16: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/16.jpg)
16
Service discovery
Rental agency 1Rental agency 2
Rental agency 1Municipality
system
Apartment(immediate, cheap)
Agency 1
Apartment?
Rental agreement
![Page 17: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/17.jpg)
17
Services are loosely coupled
Rental agencies come and go
No assumptions possible
Stronger than CBSE loose coupling
![Page 18: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/18.jpg)
18
Services are stateless
Rental agency cannot retain information: it doesn’t know if and when it will be invoked again, and by whom
![Page 19: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/19.jpg)
19
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
![Page 20: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/20.jpg)
20
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
![Page 21: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/21.jpg)
21
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
![Page 22: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/22.jpg)
22
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)
![Page 23: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/23.jpg)
23
Overview
Services, service description, service communication
Service-Oriented Architecture (SOA)
Web services SOSE: Service-Oriented Software Engineering
![Page 24: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/24.jpg)
24
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?
![Page 25: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/25.jpg)
25
What is SOA?
Infrastructure service layer
Orchestration/coordination layer
Business services layer
serv
ice b
us
service
serviceservice
service
logicalphysical
![Page 26: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/26.jpg)
26
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)
![Page 27: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/27.jpg)
27
Service coordination
Orchestration: central control
Choreography: decentral control
![Page 28: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/28.jpg)
28
Overview
Services, service description, service communication Service-Oriented Architecture (SOA)
Web services
SOSE: Service-Oriented Software Engineering
![Page 29: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/29.jpg)
29
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
![Page 30: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/30.jpg)
30
Coordination of Web services
BPEL4WS
WSDL
Java
WSDL
Java
WSDL
Java
![Page 31: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/31.jpg)
31
Web services stack
BPEL4WS
WSDL UDDI
HTTP, FTP, …
SOAP
composition
description
messages
network
discovery
![Page 32: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/32.jpg)
32
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
![Page 33: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/33.jpg)
33
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
![Page 34: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/34.jpg)
SOAP Message Structure
Request and Response messages Request invokes a method on a remote
object Response returns result of running the
method
SOAP specification defines an “envelop”
“envelop” wraps the message itself Message is a different vocabulary Namespace prefix is used to distinguish
the two parts
Application-specific message
vocabulary
SOAP Envelop vocabulary
![Page 35: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/35.jpg)
SOAP Request Message
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.stock.org/stock">
</soap:Body>
</soap:Envelope>
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
SOAP Envelope
Message
SOAP Envelope
Namespace
Message
Namespace
![Page 36: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/36.jpg)
SOAP Response Message
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.stock.org/stock">
</soap:Body>
</soap:Envelope>
<m:GetStockPriceResponse>
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
SOAP Envelope
Message
Result
returned in
Body
![Page 37: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/37.jpg)
Why SOAP?
Other distributed technologies failed on the Internet Unix RPC – requires binary-compatible Unix implementations at
each endpoint CORBA – requires compatible ORBs RMI – requires Java at each endpoint DCOM – requires Windows at each endpoint
SOAP is the platform-neutral choice Simply an XML wire format Places no restrictions on the endpoint implementation
technology choices
![Page 38: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/38.jpg)
38
WSDL
Four parts: Web service interfaces Message definitions Bindings: transport, format details Services: endpoints for accessing service. Endpoint =
(binding, network address)
![Page 39: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/39.jpg)
39
UDDI
Three (main) parts: Info about organization that publishes the services Descriptive info about each service Technical info to link services to implementation
![Page 40: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/40.jpg)
40
UDDI (cnt’d)
Original dream: one global registry Reality: many registries, with different levels of visibility
Mapping problems
![Page 41: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/41.jpg)
41
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
![Page 42: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/42.jpg)
42
Overview
Services, service description, service communication Service-Oriented Architecture (SOA) Web services
SOSE: Service-Oriented Software Engineering
![Page 43: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/43.jpg)
43
SOSE life cycle
Service orientedanalysis
Service orienteddesign
Servicedevelopment
Servicetesting
Servicedeployment
Serviceadministration
![Page 44: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/44.jpg)
44
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
![Page 45: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/45.jpg)
45
Terminology
orderfulfilmentservice
purchaseorder
service
sendutility
service
wrapperservice
customerprofileservice
hybrid services
business services
infrastructure services
entity-centric
verifyPO
service
task-centric
notificationservice
hybrid services
business services
infrastructure services
task centric
entity centric
![Page 46: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/46.jpg)
46
Strategies for life cycle organization
Top-down strategy
Bottom-up strategy
Agile strategy
![Page 47: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/47.jpg)
47
Top-down strategy
Service orientedanalysis
Service orienteddesign
Servicedevelopment
Servicetesting
Servicedeployment
![Page 48: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/48.jpg)
48
Top-down SO analysis
Define enterprisebusiness models
Define enterpriseservice model
Compose SOA
Perform serviceoriented analysis
Service orienteddesign
....
step 1 step 2
step 3 step 4
step 1
step 4step 3
step 2
![Page 49: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/49.jpg)
49
Bottom-up strategy
Model applicationservices
Design applicationservice
Developapplication
services
Testservices
Deployservices
application service = infrastructure service
![Page 50: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/50.jpg)
50
SO analysis
SO design
Develop services
Test service operations
Deploy services
Revisit business(and process) services
Top-downanalysis
on-going
align withcurrent state
businessmodels
align withcurrent state
businessmodels
Agile strategy
![Page 51: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/51.jpg)
51
Service oriented analysis
The process of determining how business automation requirements can be represented through service orientation
![Page 52: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/52.jpg)
52
Goals of SO analysis
Appropriateness for intended use Identify preliminary issues that may challenge required
service autonomy Define known preliminary composition models
Service operation Service operation
candidatescandidates
Service candidates Service candidates
(logical contexts)(logical contexts)
![Page 53: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/53.jpg)
53
3 Analysis sub-steps
Service orientedanalysis
Service orienteddesign
Defineanalysis scope
Identifyautomation
systems
Modelcandidate services
step 3
step 2
step 1
...
![Page 54: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/54.jpg)
54
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
![Page 55: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/55.jpg)
55
Order Fulfillment Process
start
receive PO
validate PO
POvalid
TransformPO
ImportPO
Send POto queue
stopSendnotification
yes
no
![Page 56: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/56.jpg)
56
Step 2: Identify automation systems
What is already implemented? encapsulate replace
Models: UML deployment diagram, mapping tables
![Page 57: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/57.jpg)
57
Order Fulfillment Process
start
receive PO
validate PO
POvalid
TransformPO
ImportPO
Send POto queue
stopSendnotification
yes
no
alreadyautomatedby Orderfulfillmentservice
same asprevious
same asprevious
(XML -> native format)(currently custom component)service candidate
(into accounting sys.)service candidate(currently custom legacy)service candidate
(to accounting clerk'swork queue)same as previous
![Page 58: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/58.jpg)
58
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.
![Page 59: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/59.jpg)
59
Example service operation candidates
Receive PO document
PO processingservice
Validate PO document
(If PO document is invalid,)send rejection notification
(and end process)
Transform PO document into native
electronic PO format
<<include>>
<<include>>
...
![Page 60: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/60.jpg)
60
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
![Page 61: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/61.jpg)
61
Task- versus entity-centred services
Task-centred (+) direct mapping of
business requirements (-) dependent on specific
process
Entity-centred (+) agility (-) upfront analysis (-) dependent on
controllers
![Page 62: Lecture 24 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader031.fdocuments.us/reader031/viewer/2022020101/551c3c615503460d398b49ea/html5/thumbnails/62.jpg)
Reference
SE, Servic Orientation, Hans van Vliet
62