20
MTAT.03.229 Enterprise System Integration Lecture 8: Process-Driven Service Analysis Marlon Dumas marlon . dumas ät ut . ee

MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

MTAT.03.229 Enterprise System Integration

Lecture 8: Process-Driven Service Analysis

Marlon Dumas

marlon . dumas ät ut . ee

Page 2: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

2

Reminder: Service Analysis & Design Methods

•  Top-down capability-driven –  Cf. Steve Jones’s method seen last week

•  Bottom-up process-driven –  Thomas Erl’s method

•  Hybrid or “meet-in-the-middle” –  E.g. IBM SOMA method

•  Other complementary methods –  Entity-driven methods (suitable for data services)

Page 3: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Starting point •  Collection of detailed business process models •  Legacy system documentation

Deliverables: •  Process-centric services (typically “Level 1” services) •  Task-centric and technical support services (Level 2)

Process-driven service analysis

Page 4: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Process-driven service analysis RailCo has a legacy system for order management and invoice processing specifically built to interact with a major client (“TLS”). Railco intends to make this system more extensible and generic to use it with all its customers and to improve the performance of their order-to-cash process.

The service analysis is conducted over two internal business processes, pitched to work with the B2B solution of TLS:

-  Invoice Submission Process: sends an invoice to TLS, uses the Invoice Submission Web Service.

-  Order Fulfillment Process: accepts and processes Purchase Orders from TLS, uses the Order Fulfillment Web Service.

Page 5: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Process-driven service analysis

1. Collect the documentation related to the business requirements and context of a service-oriented architecture. This includes business objects and business processes

2. Identify existing application logic which already covers any requirement documented in Step 1.

3. Identify service operation candidates

and group them into service candidates.

Page 6: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Process-driven service analysis Invoice Submission Order Fulfillment

Page 7: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Process-driven service analysis 1 – Decompose the business process Break down the workflow logic in the “most granular” representation of process steps.

Invoice Submission Process •  Create electronic invoice, •  Issue electronic invoice, •  Export electronic invoice to network folder, •  Poll network folder, •  Retrieve electronic invoice, •  Transform electronic invoice to XML document, •  Check validity of invoice document. If valid, end, •  Check if it is time to verify TLS metadata, •  If required, perform metadata check. If the check fails, end.

Page 8: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Process-driven service analysis Applying the framework: Step 3 - Model candidate services

Page 9: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Process-driven service analysis 2 – Identify business service operation candidates Some steps can be easily identified as not belonging to the potential logic to be encapsulated in a service candidate (e.g. activities performed manually or by some legacy logic).

Invoice Submission Process •  Create electronic invoice, Manual step (accounting clerk)

•  Issue electronic invoice, Manual step (accounting clerk)

•  Export electronic invoice to network folder, Custom developed component (legacy logic)

•  Poll network folder, Performed by a custom developed component •  Retrieve electronic invoice, Performed by a custom developed component •  Transform electronic invoice to XML document, Performed by a custom component •  Check validity of invoice document. If valid, end, Performed by Invoice Submission WS •  Check if it is time to verify TLS metadata, Performed by the Invoice Submission WS •  If required, perform metadata check. Performed by the Invoice Submission WS If the check fails, end.

Could become a separate service candidate. Could become part of a generic service candidate.

Page 10: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Process-driven service analysis 3 – Abstract orchestration logic Identify the parts of the processing logic that this layer would potentially abstract (e.g. business rules, conditional / exception / sequence logic).

The workflow logic of separate process service candidates, derived from the Invoice Submission and Order Fulfillment processes would include the following conditions:

•  if the invoice document is valid, proceed with the metadata check, •  else, end process, •  if the interval period for performing a metadata check has completed, perform the

metadata check, •  else, skip the metadata check. •  if the PO document is valid, transform the PO document, •  else, end process.

Page 11: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Process-driven service analysis 4 – Create business service candidates

•  The identified steps are grouped by logical context, with each group representing a service candidate.

Page 12: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Process-driven service analysis 5 – Refine and apply principles of service-orientation Refine the candidates according to the principles of reusability and loose-coupling.

Validate invoice

Page 13: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Process-driven service analysis 6 – Identify candidate service compositions Identify the set of most common scenarios that can take place, in order to: •  evaluate the appropriateness of the candidate contexts, •  identify potential service composition, •  highlight any missing workflow logic.

Task-Centric and Technical Support Services

Process-Centric Services

Core Services

Page 14: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Process-driven service analysis 7 – Revisit business service operation grouping Revisit contexts and operation candidates. New services may be created.

If needed, further steps can be taken: 8 – Analyze application processing requirements

9 – Identify application service operation candidates

10 – Create application service candidates

11 – Revisit candidate service compositions

12   – Revisit application service operation grouping

Page 15: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Pitfalls of process-driven service analysis The “Percolating Processes” anti-pattern (S. Jones)

Organizations start with a multitude of detailed process models and design an SOA purely based on these process models: •  task-centric business services (Level 1) are tightly bound to the context of a

single process → become difficult or impossible to change, •  fine-grained services (Level 2+) proliferate and become difficult to manage.

Effects •  the system slowly or quickly stagnates •  little reuse

Page 16: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Meet-in-the-Middle Approach to SOA 1.  Create the Service Interaction Map (SIM) independently of the Process Map:

this provides the structure for: –  breaking down the processes, –  creating a clear hierarchy of use.

2.  Overlay the SIM onto the Process Map, to understand potential cuts. 3.  Refactor the current solution by attacking the major inflexibilities.

built independently already existing

Page 17: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

Synthesis Service Analysis

Identification and definition of the services an organization wants to provide or that are involved in a particular project; Service: a discrete domain of control that contains a collection of

tasks to achieve related goals. Deliverable: Service Interaction Map (SIM). Approaches:

–  Top-down service decomposition. –  Bottom-up: identify services from business process

models –  Meet-in-the-middle.

Page 18: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

18

Exercise

•  Loan Application Scenario (extended version) •  Design the process models and identify services

and operations using a process-centric approach

Page 19: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

19

References •  Working example is inspired by:

–  T. Erl: “Service-Oriented Architecture: Concepts, Technology, and Design”, Prentice Hall, 2005.

•  Reading of the week (compulsory): –  Andres Kütt:

System Organization and Architecture: Scientific and artistic aspects of designing software. White paper, 2011.

Page 20: MTAT.03.229 Enterprise System Integration Lecture 8: Process … · 2011-10-30 · Starting point • Collection of detailed business process models • Legacy system documentation

20

Outlook

•  Next week: Guest lecture by Andres Kütt on System Architecture

•  14 November –  Lecture on process-centric services –  Start of project