Rogers Handout
Rogers Handout
Rogers Handout
SOA in Context
1. 2. 3. 4. 5. 6.
Delivery company publishes phone # Customer finds them using yellow pages and orders delivery service from a price list Delivery company picks the package up and customer signs the contract Package goes into routing and distribution process Package is driven to location and is delivered Delivery company notifies customer package was delivered
Some terms before we begin Service Action or Activity that is available to a Service Consumer through a defined interface. Service Provider Makes available set of capabilities through a defined service contract for use by consumers. Service Consumer Reviews the price list an requests a Provider to deliver on a Service Contract. Service Interface (Contract)
The predefined agreement between a consumer and provider. Taking the order and Delivering the package are services. In both cases, the customer didnt need to know what happened behind the scenes. The Delivery company provides the services. Its service contract is the speed at which it promises to delivery and the price it charges. The Consumer is the person who places an order for delivery. They have agreed to the Contract terms and initiate the interaction with the Provider. Requester provides the delivery company with their address, the shipping address, package size and payment information over the phone. This information represents the Message Interface or Contract.
4
Service Functions Functions that are executed to complete a service that are not visible to a service consumer. Orchestration Coordination of service operations to execute a process involving a sequence of activities. Also known as Business Process Management. Loosely Coupled A design
approach that decreases the impact of change between services
Guiding Principles to Follow A Service Oriented Architecture (SOA) is an IT architecture that enables business needs to be satisfied by following a few simple principles: 1. Services are designed for the enterprise, not just a department (and regional differences shouldnt be ignored). 2. The architecture should facilitate users working how they want to work (within given business process constraints) 3. A consumer of a service should not need to know the technologies that enable a service. 4. Industry accepted standards should be used when possible 5. Services should be discoverable (do not reinvent the wheel) 6. Consider the lifecycle of a service every time 7. Let the tools do their job 8. Externalize Externalize Externalize
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Service Message Interface Monitoring and Management Business Process Management Process Orchestration Security Policy and Trust Governance and Lifecycle Standards
Services come in many forms A Service is a self-contained, sharable software resource that performs a well-defined function and provides information specific to that function in a message-passing, networked environment. A service may: Complete an end-to-end business process such as Order Complete part of a process such as Quote Perform actions just on data such as Customer Only perform a specific function such as TransferBalance Only perform business rules such as ValidateRate
Services up to today Until recently, most services created by IT have been single-purpose or single-function (like GetCustomerAccountNumbers) and only used within a single application or by a single department (or by at most two departments). They have been mostly designed as Web Services and finding out about them has been done through word of mouth.
Application A Interface
How services interact is described using a Web Service standard known as the Web Service Definition Language (WSDL). A WSDL describes the operations the service can perform and the interfaces. A WSDL may contain multiple interfaces.
9
Services in a managed SOA In a more managed SOA, the service architecture would look more like:
Enterprise Registry Contains Service: Interface definitions and locations (WSDL) Service Policies (WS-Policies) Service Security (WS-Security) Service Trust (WS-Trust) Service Management (WSDM or WS-Management)
Application A Interface
The benefit of this is better service manageability and monitoring. And remember, Externalize Externalize Externalize.
10
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Service Message Interface Monitoring and Management Business Process Management Process Orchestration Security Policy and Trust Governance and Lifecycle Standards
11
Messages