from business processes to web services
DESCRIPTION
Web services often developed bottom-up by exposing legacy system APIs as services. It is difficult to align such services with business goals. This talk presents a complementary approach that starts from business goals and refines them to business processes.TRANSCRIPT
![Page 1: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/1.jpg)
From Business Processes to Web Services
Michael Weiss, Carleton University
(approach developed in collaboration with Daniel Amyot, University of Ottawa)
![Page 2: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/2.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 2
Motivation• Web services often developed bottom-up by
exposing legacy system APIs as services• Difficult to align such services with business goals• Need a complementary approach:
– Refining business goals into business processes
– Derive service requirements from processes
• Central role of business processes: glue between business model and software architecture
• This talk is about modeling business goals and processes in the User Requirements Notation
![Page 3: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/3.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 3
Business Process Modeling
• Structured method for describing and analyzing opportunities for improving the business objectives of stakeholders (identify roles and activities that contribute to business goals)
Software ArchitectureSoftware Architecture
BusinessBusiness Model Model
Business ProcessBusiness ProcessStakeholdersStakeholders
![Page 4: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/4.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 4
5 W’s
• Why do this activity?• What should this activity be?• Who is involved?• Where should the activity be performed?• When should it be performed?
![Page 5: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/5.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 5
User Requirements Notation (URN)
• Semi-formal, lightweight method for modeling and analysis of early user requirements:– Bridge between use cases and UML models– Explicitly addresses non-functional requirements
• Combines goal and scenario modeling: – Goal-oriented Requirement Language (GRL)– Use Case Maps (UCM)
• Emerging ITU standard for reactive systems, with particular focus on telecommunications
![Page 6: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/6.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 6
How URN Fits
Informal Requirements,
Textual Use Cases
UCMs link to operationalizations
(tasks) in GRL models
Structural Diagrams
SDL, ODL, or UML Class,
Object, Component, &
Deployment Diagrams
Testing and Performance Languages
TTCN, LQN, ...
Behavioral DiagramsMSC/SDL, or UML
Sequence, Collabor., & Statechart Diagrams
UCMs represent visually use cases in terms of causal
responsibilities
UCMs provide a framework for
making high level and detailed
design decisions
UCMs visually associate
behavior with structure at the
system level
?
?UML Use Case
Diagram & Activity Diagram
URN-NFR/GRLGoals, non-functional requirements, alterna-
tives, rationales
URN-FR / UCMsSuperimpose visually system level behavior
onto structures of abstract components
![Page 7: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/7.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 7
Goal-Oriented Requirements Language (GRL)
• Goals describe the objectives a system should achieve, and allows a strategic level of modeling a current or future system and its environment
Can evaluate aGRL model
![Page 8: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/8.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 8
Use Case Maps (UCM)
• UCMs model scenarios as causal flows of responsibilities that can be superimposed on underlying structures of components
Responsibilities
Components
![Page 9: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/9.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 9
Tool Support: jUCMNav
• jUCMNav supports both UCM and GRL diagrams• Supports links between both types of models• Open source Eclipse plug-in• http://www.softwareengineering.ca/jucmnav
![Page 10: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/10.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 10
![Page 11: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/11.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 11
Supply Chain Case Study
• Based on the SCM sample application of the Web Service Interoperability Organization (WS-I)
– R1. Retailer offers consumer electronic goods to Consumers.
– R2. Retailer needs to manage stock levels in Warehouses.
– R3. Retailer must restock a good from the respective Manufacturer’s inventory, if its stock falls below a certain level.
– R4. Manufacturer must execute a production run to build the finished goods, if a good is not in stock.
– R5. Key events must be logged to a Monitoring System, which allows monitoring services from a single monitoring service.
![Page 12: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/12.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 12
Business Objectives – GRL
Actors
DependenciesInternal GoalModel per Actor
![Page 13: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/13.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 13
Business Process – UCM• Create a root map for the business process• Stubs as placeholders (eg SubmitOrder) for further
refinements in lower-level maps
![Page 14: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/14.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 14
Submit Order• Stubs can be refined via plug-ins• Plug-in for SubmitOrder stub shows details of the
inter-component causal flow …
![Page 15: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/15.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 15
Fulfill Order• … and plug-in for FuffillOrder stub possible
outcomes of sourcing goods
![Page 16: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/16.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 16
Source Goods• Check each Warehouse for availability of line
items, and collate the ones we can ship …
![Page 17: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/17.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 17
Replenish Stock• … and update the Retailer's inventory if necessary
![Page 18: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/18.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 18
Architectural Alternatives• Alternative 1: Replenishment is triggered on
decrementing the inventory level
![Page 19: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/19.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 19
Architectural Alternatives• Alternative 2: Replenishment is triggered
periodically by a timer
![Page 20: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/20.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 20
Non-Functional Requirements
• Trade-offs are made in terms of non-functional requirements (NFRs) and user priorities: alternatives will affect NFRs in different ways
![Page 21: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/21.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 21
Documenting Trade-Offs• GRL model to compare the alternatives (impact of
Period Replenishment highlighted)
![Page 22: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/22.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 22
Mapping to Services
• Map the model to web services• Service: collection of related operations that a
component implements• Operation: set of messages exchanged between
service user and provider• Four basic interaction patterns• Extract service provisioning relationships between
components from the UCM
![Page 23: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/23.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 23
Extract Service Operations
• Look for paths that cut across component boundaries: each indicates a potential message
• Group those messages into operations
Messages
c.NavigateToSite-r.PresentCatalogr.PresentCatalog-c.EnterOrderInfoc.EnterOrderInfo-r.ReceiveOrder
c: Consumerr: Retailer
![Page 24: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/24.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 24
Service Template
• Documents grouping of messages into operations, and of operations into services
• Lists messages exchanged and their type
Operation: getCatalog() Request: c.NavigateToSite-r.PresentCatalog (Navigate) Response: r.PresentCatalog-c.EnterOrderInfo (Catalog) Operation: submitOrder() Request: c.EnterOrderInfo-r.ReceiveOrder (OrderInfo) Response: r.OrderSuccessful-c.ShipmentConfirmed (ShipmentConfirmed) OR Response: r.NoSuchProduct-c.RejectOrder (RejectOrder) OR Response: r.NoItemCanBeShipped-c.RejectOrder (RejectOrder)
![Page 25: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/25.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 25
Service-Based Architecture• Service provisioning relationships summarized in
a UML deployment diagram
![Page 26: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/26.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 26
Validation
• Simple path data model that can be used to traverse paths in a deterministic way
• Works by defining variables and setting them at start points and responsibilities, and using them to define conditional expressions on branches
• Can extract scenarios for various purposes: define test goals, performance analysis
• UCM supports both informal and formal analysis
![Page 27: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/27.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 27
Support for the 5 W’s
• Why do an activity? GRL models allow the analyst to link business or system goals to architectural alternatives
• What should this activity be? We can refine business goals into high-level tasks with GRL models, and further into low-level responsibilities using UCM models
• Who is involved in this activity? UCM models can also capture the structure of the organization
• Where and when should the activity be performed? UCM models allows us to define how responsibilities are allocated to components, as well as their temporal ordering
![Page 28: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/28.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 28
Conclusion
• With URN we can model business processes at different levels of formality – GRL models can describe “soft” aspects of a business
process, and their mapping to operational goals
– In a UCM model we can simulate scenarios under different conditions, and walk through their execution
• Evaluation mechanism in GRL lets us analyze the impact of architectural alternatives on goals
• Unlike use cases, UCM models can also provide input to downstream validation activities
![Page 29: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/29.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 29
Other Current Work
• Business model design and evolution• Modeling business processes in patient care• Monitoring processes via KPIs• Modeling supporting services using aspects
![Page 30: From business processes to web services](https://reader035.vdocuments.us/reader035/viewer/2022070322/559075d31a28abdb118b46ae/html5/thumbnails/30.jpg)
(C) Michael Weiss IT Conference 2007, Ottawa 30
References
• Weiss, M., and Amyot, D., Business Process Modeling with URN, International Journal of E- Business Research, 1(3), 63-90, Idea, 2005
• Weiss, M., and Amyot, D., Business Model Design and Evolution, in: Khalil, T., Management of Technology, Elsevier, 2007