Models Pictorial representation of the design of an application Model is a pictorial representation of a specific kind of elements based on the established notation Structure Diagram – class, object, components, composite, package and deployment Behavior diagram – use case, activity and state machine Interaction diagram – sequence, communication, timing and interaction Principles of Service Design Reuse Well chosen granularity coarse grained services consumed by number of other service or application Abstraction All interaction based on contract(service / data) High cohesion (cohesion describes particles that are the same and tend to stick together) All operations and functionality are grouped Autonomy Control over its environment and required resources Principles of Service Design Integration Loose coupling – all interactions via interfaces Agility Statelessness conversational state are not stored Composability Combining of services to build new services Discoverability Metadata describes the capability and limitations of the service. Service registry is implemented for dynamic discovery of services by consumer Design of Activity Services (Business Services) Service Contract Service exposed with operation Data Contract Data exchange format Requirement analysis and business applications
Activity service identification
Perform Analysis
Choose Technology platform & Framework
Design of Activity Service
Code & Test Activity Service
Design of Data Services Encapsulated access to data stored across the enterprise Interact with the data sources outside the enterprise Data Modeling
Data service identification
Perform Analysis
Technology Selection
Design of Data Service
Code & Test Data Service
Design of Client Services Identify the requirements of users Analysis of requirements of results Information available portal/Mobile Source of information that are aggregated by client service Technology infrastructure Identified client services are specified in terms of service contracts and data contracts Requirement analysis of Business Applications
Client service identification
Perform Analysis
Technology Selection
Design of Client Service
Code & Test Client Service
Design of Business Process Services BPEL – Business Process Execution Language XML Based language Combines benefits of hierarchical languages (XLANG and WSFL - Web Services Flow Language) Process orchestration engine – runtime environment for BPEL Basic Activities Receive – Begin with receive Invoke –invoke web service operation Assign – data manipulation of variables Reply - it similar to return statement Terminate – terminate entire process Throw - exception handling Wait – wait for period of time or specified point in time Empty – no-op instruction Compensate – compensation for a successfully completed set of activities Structured Activities While – used to implement loops Switch –select one branch at decision Step-pick – selection of specific branch based on message or time out Sequence – set of activities executed sequentially Flow – activities executed in parallel Scope – define nested activities, correlation sets, fault handlers, compensation handlers and event handlers