service modeling based on soa: concepts, technology, design by thomas erl mis 181.9: service...
TRANSCRIPT
Service Modeling Based on
SOA: Concepts, Technology, Designby Thomas Erl
MIS 181.9: Service Oriented Architecture
2nd Semester, 2011-2012
Service-Oriented Development
►Development of a service-oriented solution
►General Steps► Analysis►Design► Implementation (Development, Testing,
Deployment)►Maintenance
Service-Oriented Analysis
►Define Business Requirements►Data Gathering
►Can be focused on Tasks or Entities
► Identify Automation Systems► Scope Definition
►Model Candidate Services► Service Modeling
Defining Business ServicesTask-Centric vs Entity-Centric
Service-Oriented Analysis
►Goal: Figure out what has to be considered in the Design Process
► Identify Services► Start by identifying CANDIDATE SERVICES
►Service Candidates are the outputs of Service Modeling
Service Modeling
1. Decompose business processes2. Identify operation candidates3. Define orchestration logic4. Create service candidates5. Refine and apply service orientation6. Identify service compositions
Service Modeling
7. Revise operation grouping8. Analyze processing requirements9. Identify application service operations10. Create application service candidates11. Revise service compositions12. Revise operation grouping
Decompose Business Processes
►Breakdown process into smaller steps►Create Process models
►DFDs►BPM models
Example: Invoice Submission Process
1. Create electronic invoice.
2. Issue electronic invoice.
3. Export electronic invoice to network folder.
4. Poll network folder.
5. Retrieve electronic invoice.
6. Transform electronic invoice to XML document.
7. Check validity of invoice document. If invalid, end process.
8. Check if it is time to verify TLS metadata.
9. If required, perform metadata check. If fails, end process.
Identify Operation Candidates
►Remove those that can not be part of the automated solution
► Filter list of business processes
Filter Original List of Processes
1. Create electronic invoice. (Manual step done by accounting clerk)
2. Issue electronic invoice. (Manual step done by accounting clerk)
3. Export electronic invoice to network folder. (Currently a custom developed extension of the legacy system. Could be made part of a generic service candidate.)
4. Poll network folder. (Currently a custom developed component. Could be made part of a service candidate.)
5. Retrieve electronic invoice. (Same as previous.)
Filter Original List of Processes
6. Transform electronic invoice to XML document. (Same as previous.)
7. Check validity of invoice document. If invalid, end process. (Is currently being performed as part of the Invoice Submission Service's parsing routine. No foreseeable need to change this.)
8. Check if it is time to verify TLS metadata. (Is currently being performed as part of the Invoice Submission Service's parsing routine. Looks like a potentially reusable operation candidate. Could be moved to a separate service candidate.)
9. If required, perform metadata check. If fails, end process. (Same as previous.)
Abstract Orchestration Logic
►Business Rules►Conditional Logic►Exception Logic►Sequence Logic
Abstract Orchestration Logic
1. If the invoice document is valid, proceed with the metadata check step.
2. If the invoice document is invalid, end process.
3. If the interval period for performing a metadata check has completed, proceed to the perform metadata check step.
4. If the interval period has not completed, skip the perform metadata check step.
5. If the PO document is valid, proceed with the transform PO document step.
6. If the PO document is invalid, end process.
Create Business Service Candidates
►Review remaining processes►Determine logical grouping► Each grouping = service candidate
Create Business Service Candidates
► Legacy System Service1. Export electronic invoice to network folder.
2. Import electronic PO into accounting system.
3. Send PO to accounting clerk's work queue.
► Invoice Processing Service1. Poll network folder for invoice.
2. Retrieve electronic invoice.
3. Transform electronic invoice to XML document.
4. Check validity of invoice document. If invalid, end process.
Create Business Service Candidates
►Metadata Checking Service1. Check if it is time to verify TLS metadata.
2. If required, perform metadata check; if metadata check fails, end process.
►PO Processing Service1. Receive PO document
2. Validate PO document
3. If PO document is invalid, send rejection notification and end process.
4. Transform PO XML document into native electronic PO format.
Create Business Service Candidates
Legacy
System
Service
Invoice Process
-ing Service
Metadata
Check-ing
Service
PO Process
-ing Service
Refine and ApplyService-Orientation Principles
► Important properties in the modeling stage►Reusability► Autonomy
► Identify potentially reusable and autonomous services
Refine and ApplyService-Orientation Principles
Legacy
System
Service
Invoice Process
-ing Service
Metadata
Check-ing
Service
PO Process
-ing Service
Polling Notifica
-tion Service
Transform
Accounting
Documents Service
Refine and ApplyService-Orientation Principles
►Polling Notification Service1. Poll folder for new documents.
2. If documents arrive for which there are subscribers, issue notifications.
► Transform Accounting Documents Service► Transform XML documents into native format► Transform native documents to XML
Refine and ApplyService-Orientation Principles
►Metadata Checking Service1. Check if it is time to verify TLS metadata. If it is time, perform
metadata check.
2. If required, perform metadata check; if metadata check fails, end process. Issue notification.
►PO Processing Service1. Receive PO document
2. Validate PO document
3. If PO document is invalid, send rejection notification and end process.
4. Transform PO XML doc. into native electronic PO format.
Refine and ApplyService-Orientation Principles
► Legacy System Service1. Export electronic invoice to network folder.
2. Import electronic PO into accounting system.
3. Send PO to accounting clerk's work queue.
► Invoice Processing Service1. Poll network folder for invoice.
2. Retrieve electronic invoice.
3. Transform electronic invoice to XML document.
4. Check validity of invoice document. If invalid, end process.
Identify Service Compositions
Apply Service Layer Principle
Service Layers
► Application Service Layer► Express technology-specific functionality► Provide reusable functions related to processing data
► Business Service Layer► Implementation of the business service model► Represents business logic
►Orchestration Service Layer► Defines business rules and service execution
sequence logic ► Adds complexity to SOA implementation
Service Composition Defined
Service Composition Defined