13. Service-Oriented, Model Driven Approach Business Concerns Technology Specification JEE, JMS, Web Services WSDL, BPEL, XML Schema… Logical System Model Technology Services (t-SOA), Components, Compositions Interfaces, Messages & Data Business Model Business Services (e-SOA) Roles, Collaborations & Interactions Process & Information
14. Focus on the Business Model Business Concerns Technology Specification JEE, JMS, Web Services WSDL, BPEL, XML Schema… Logical System Model Technology Services (t-SOA), Components, Compositions Interfaces, Messages & Data Business Model Business Services (e-SOA) Roles, Collaborations & Interactions Process & Information
15. The Dealer Network Order GetItThere Freight Shipper Acme Industries Manufacturer Mechanics Are Us Dealer A participant in the network The role played by the participant in the network An interaction between participants Confirmation
16. The Dealer Network Order Ship Req GetItThere Freight Shipper Acme Industries Manufacturer Mechanics Are Us Dealer A participant in the network The role played by the participant in the network An interaction between participants Confirmation
17. The Dealer Network Order Confirmation Shipped Ship Req Shipped Status GetItThere Freight Shipper Acme Industries Manufacturer Mechanics Are Us Dealer A participant in the network The role played by the participant in the network An interaction between participants
18. The Dealer Network Order Confirmation Shipped Ship Req Shipped Delivered Status GetItThere Freight Shipper Acme Industries Manufacturer Mechanics Are Us Dealer A participant in the network The role played by the participant in the network An interaction between participants Physical Delivery
19. Marketplace Services Status Order Confirmation Shipped Shipper (Provider) Requester (Consumer) Vendor (Provider) Orderer (Consumer) Recipient (Consumer) Shipper (Provider) GetItThere Freight Shipper Mechanics Are Us Dealer Acme Industries Manufacturer The role played by the participant for a specific service A service contract grouping the interactions required for providing a specific service Ship Req Shipped Delivered Physical Delivery
20.
21.
22. Services Architecture for the Dealer Network A Services Architecture (or SOA) is a network of participant roles providing and consuming services to fulfill a purpose. The services architecture defines the requirements for the types of participants and services that fulfill those roles. Shipping service Delivery service Ordering service Manufacturer Participant – provides and consumes services Dealer Participant – provides and consumes services Shipper Participant – provides services
23. “ Place Order” Service Contract: High Level View This view of a service contract only identifies the service name and the roles each participant plays in the service. This is a high-level summary view. A service contract is the specification of the agreement between providers and consumers of a service as to what information, products, assets, value and obligations will flow between them. It specifies the service without regard for realization, capabilities or implementation. The orderer role (the consumer) and its Order Placer interface The vendor role (the provider) and its Order Taker interface
24. “Place Order” Service Choreography An optional interaction to request a quote A reply to return the quote A required interaction to place an order A reply to accept or reject the order This is a more detailed look at the same service. Note that this models a fully asynchronous interaction – like most business interactions. (The interaction message types are detailed later.) A second reply to confirm shipment
25. Drilling down - Inside a Manufacturer Order Confirmation Shipped Ship Req Shipped Delivered Fulfillment Production Accounting Acme Industries Not every manufacturer is going to be the same inside – this shows some of the internals of “Acme”
26. Services Architecture Inside of Acme This shows a “drill down” of the services architecture inside of a particular manufacturer, Acme. Other manufactures may have different internal architectures and processes. The Acme architecture realizes the Dealer Network participant role. This participant is within the Acme organization. This participant (from the Dealer Network architecture) is external to Acme
27. Acme Manufacturing Business Process A business process represents the desired behavior among the various participants in a services architecture. Each participant is given a swimlane containing the actions carried out by that participant within the business process. Interactions between participants must be consistent with their service contracts. (Note: for simplicity, the optional “quote” interaction is not shown here.)
28. “Place Order” Message Types This is the detail for the message types that correspond to the interactions for the Place Order service. Note that at the technology level this model can be used to produce the implementation specification of the messages, e.g., XML schema. The messages passed between roles in a service contract are specified using message types.
29. Customer Order Information Model An information model is a model of individually identifiable business entities and relevant information about them.
30. Linking Messages to Business Information Messages can reference and include parts of the logical information model – forming a connection between SOA and enterprise data.
31. Producing the Logical Systems Model Business Concerns Technology Specification Web Services, JEE, .NET WSDL, BPEL, XML Schema… Logical System Model Technology Services (t-SOA), Components & Compositions Interfaces, Messages & Data Business Model Business Services (e-SOA) Roles, Collaborations & Interactions Process, Information & Rules
32. Interfaces for Participant Roles These interfaces will correspond with parts of WSDL in a web services implementation. Each role in the service that receives interactions has an interface . This is the interface for a logical technology component and is implemented by components providing or using this service. The service is bi-directional – messages flow in both directions – so there is an interface on each side.
33.
34.
35. Logical System Components Components implement the service interfaces providing the link to systems. A component may realize a services architecture.
36. Composite Application Components Components can be assembled from other components by linking their services. This corresponds to the architecture for Acme. Ideally, IT components directly play the roles of SOA participants. This component is defined as a composition of other components. This is a service delegation to an internal subcomponent. This is a service channel connection between a consumer and a provider.
37. Legacy Application Architecture In reality, the legacy architecture of most enterprises often does not reflect the business service architecture clearly. Participant roles are played primarily by human workers using ad-hoc IT interfaces. A request point is a port that is used to request services provided by a corresponding service point. Human participants may also interact without the aid of IT.
38. Acme Order Processing: Initial Service Implementation This is Acme’s initial pilot service-oriented solution architecture. Existing enterprise systems can be integrated using adapter components This new component provides full back-end support for fulfillment. The new component uses back-end service interfaces directly based on the business services architecture.
39. Adapting Enterprise Systems This is the inside of the SAP AR component – also a composition, it uses the existing SAP interfaces and adapts them to the service contract. This separates the concerns of a particular enterprise system from the enterprise SOA. Sometimes the system interfaces are used directly or adapted by an Enterprise Service Bus (ESB).
40. Acme Order Processing: Re-Architected Service Implementation Acme next decides to implement a new Fulfillment Component, with external service interfaces, while continuing to use adapter interfaces to back-end AR and Inventory Management systems.
41. Provisioning Technology Artifacts Business Concerns Technology Specification JEE, JMS, Web Services, .NET WSDL, BPEL, XML Schema Logical System Model Technology Services (t-SOA), Components Interfaces, Messages & Data Business Model Business Services (b-SOA) Roles, Collaborations & Interactions Process, Rules & Information
45. Example Provisioning to JEE Web Services How SoaML is provisioned to technology artifacts, such as Web Services, is not yet standard. This illustrates one approach. The components to be provisioned are dropped into a technology specific provisioning node (in this case JEE and web services).
46. Custom Business Logic Components Application Framework Generated Component Wrapper Custom Code Framework Component Application components provide service implementations with user supplied logic. These “plug into” the users architecture as composite application components Framework components add infrastructural capabilities by extending the platform (E.G. JBI) and are called by the provisioned code or platform configuration XSLT Java Etc. As MDA progresses, there will be less and less need for custom components, but the capability will remain. Custom part is separate from the generated part
47. Model-Driven Development Using a standard-conforming UML modeling tool With custom business logic components Developers write the custom logic code Technologists specify the implementation platform The models are provisioned onto the target platform Architects create the models
48. Model Driven Development With fully executable models Using a standard-conforming UML modeling tool Using a standard-conforming UML execution tool The models are the source code. Analysts validate the models by executing them in a simulated test environment Technologists specify the implementation platform The models are provisioned as executing artifacts on the target platform Architects create the models
49.
50.
51.
Notas do Editor
“Enterprise enabling platform”/”Enterprise business execution platform” - Includes SOA, BPM, UI, data, rules Model repository Performance instrumentation Dashboard? Service oriented systems and technical architecture