From business processes to web services

67 %
33 %
Information about From business processes to web services

Published on July 30, 2007

Author: mrw

Source: slideshare.net

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.

From Business Processes to Web Services Michael Weiss, Carleton University (approach developed in collaboration with Daniel Amyot, University of Ottawa)

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

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

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 Architecture Business Model Business Process Stakeholders

Structured method for describing and analyzing opportunities for improving the business objectives of stakeholders (identify roles and activities that contribute to business goals )

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?

Why do this activity?

What should this activity be?

Who is involved?

Where should the activity be performed?

When should it be performed?

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

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

How URN Fits UCMs link to operationalizations (tasks) in GRL models 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 Informal Requirements, Textual Use Cases Structural Diagrams SDL, ODL, or UML Class, Object, Component, & Deployment Diagrams Testing and Performance Languages TTCN, LQN, ... Behavioral Diagrams MSC/SDL, or UML Sequence, Collabor., & Statechart Diagrams ? ? UML Use Case Diagram & Activity Diagram URN-NFR/GRL Goals, non-functional requirements, alterna-tives, rationales URN-FR / UCMs Superimpose visually system level behavior onto structures of abstract components

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 a GRL model

Goals describe the objectives a system should achieve, and allows a strategic level of modeling a current or future system and its environment

Use Case Maps (UCM) UCMs model scenarios as causal flows of responsibilities that can be superimposed on underlying structures of components Responsibilities Components

UCMs model scenarios as causal flows of responsibilities that can be superimposed on underlying structures of components

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

jUCMNav supports both UCM and GRL diagrams

Supports links between both types of models

Open source Eclipse plug-in

http://www.softwareengineering.ca/jucmnav

 

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.

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.

Business Objectives – GRL Actors Dependencies Internal Goal Model per Actor

Business Process – UCM Create a root map for the business process Stubs as placeholders (eg SubmitOrder) for further refinements in lower-level maps

Create a root map for the business process

Stubs as placeholders (eg SubmitOrder) for further refinements in lower-level maps

Submit Order Stubs can be refined via plug-ins Plug-in for SubmitOrder stub shows details of the inter-component causal flow …

Stubs can be refined via plug-ins

Plug-in for SubmitOrder stub shows details of the inter-component causal flow …

Fulfill Order … and plug-in for FuffillOrder stub possible outcomes of sourcing goods

… and plug-in for FuffillOrder stub possible outcomes of sourcing goods

Source Goods Check each Warehouse for availability of line items, and collate the ones we can ship …

Check each Warehouse for availability of line items, and collate the ones we can ship …

Replenish Stock … and update the Retailer's inventory if necessary

… and update the Retailer's inventory if necessary

Architectural Alternatives Alternative 1: Replenishment is triggered on decrementing the inventory level

Alternative 1: Replenishment is triggered on decrementing the inventory level

Architectural Alternatives Alternative 2: Replenishment is triggered periodically by a timer

Alternative 2: Replenishment is triggered periodically by a timer

Non-Functional Requirements Trade-offs are made in terms of non-functional requirements (NFRs) and user priorities: alternatives will affect NFRs in different ways

Trade-offs are made in terms of non-functional requirements (NFRs) and user priorities: alternatives will affect NFRs in different ways

Documenting Trade-Offs GRL model to compare the alternatives (impact of Period Replenishment highlighted)

GRL model to compare the alternatives (impact of Period Replenishment highlighted)

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

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

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.PresentCatalog r.PresentCatalog-c.EnterOrderInfo c.EnterOrderInfo-r.ReceiveOrder c: Consumer r: Retailer

Look for paths that cut across component boundaries: each indicates a potential message

Group those messages into operations

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)

Documents grouping of messages into operations , and of operations into services

Lists messages exchanged and their type

Service-Based Architecture Service provisioning relationships summarized in a UML deployment diagram

Service provisioning relationships summarized in a UML deployment diagram

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

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

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

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

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

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

Other Current Work Business model design and evolution Modeling business processes in patient care Monitoring processes via KPIs Modeling supporting services using aspects

Business model design and evolution

Modeling business processes in patient care

Monitoring processes via KPIs

Modeling supporting services using aspects

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

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

Add a comment

Related presentations

Related pages

Business processes in a web services world - IBM

BPEL4WS allows the definition of both business processes that make use of web services and business processes that externalize their functionality as web ...
Read more

Page 3 - Business Processes and Web Services

Business Processes and Web Services. Last week we introduced you to the idea of using existing Web services to build more complex web services. This week ...
Read more

Web Services and Business Processes: An Overview - UPM

Web Service Framework Development Development of the Web Services framework has been layer-by-layer and rather ad-hoc Web Servers → Standard Data Format ...
Read more

Web Services and Business Processes: A Round Trip

Web Services and Business Processes: A Round Trip Mohammed AbuJarour1 and Ahmed Awad2 1 SAP Innovation Center Potsdam, Germany mohammed.abujarur@sap.com
Read more

Business processes for Web Services: Principles and ...

Business processes for Web Services: Principles and applications & R. Khalaf A. Keller F. Leymann The Business Process Execution Language for Web Services ...
Read more

Business Process Management in the Finance Sector - Oracle

Business Process Management in the ... business processes”. ... analysts with a GUI console to model new processes, referencing existing Web Services
Read more

Business Processes and Web Services - Dev Articles

Business Processes and Web Services. Last week we introduced you to the idea of using existing Web services to build more complex web services. This week ...
Read more

Business process - Wikipedia

A business process or business ... which in turn raised the need for standardized protocols and web services ... Business processes comprise ...
Read more

Automating business processes and transactions in web services

The role of dynamic e-business within the enterprise is to simplify the integration of business and application processes across technological and ...
Read more

Semantic Business Process Management: A Vision Towards ...

Semantic Business Process Management: ... positions Web services and business processes as the basis for future application structures.
Read more