3. Business Processes are asynchronous Why asynchronous services are important Triggering event Process to be orchestrated act Master Planning Process Create master productionplan Produce BOM Request capacities Create Delivery Forecast Submit Delivery Forecast New sales forecast
4. Enterprise Application Integration Business process transformed into independent stateless flows: Low visibility of process. Firewall, Wan Why asynchronous services are important sd EAI Production Planning PLM PLM Partner Gateway Material Ordering Partner gateway Partner Gateway Material Ordering Integration 1 Integration 2 Integration 3 Integration 4 Production Plan «flow» Products «flow» BOM «flow» Capacity Request «flow» Production Capacity «flow» Production Capacity «flow» Material Forecast «flow» Forecast «flow» act Process Get Production Plan Produce BOM Request capacities Create Forecast Send Forecast
5. SOA emerged as layered composition model Why asynchronous services are important Animated slide Asynchronous ly triggered processes historically not in focus. SOA was envisioned as layered, application-like architectures – and thus fragile to operate.
6. SOA based integration Firewall, Wan Business process transformed into process orchestration Why asynchronous services are important sd SOA «Service» Partner Service receiveDeliveryForecast requestCapacity «Service» Forecasting Process receiveCapacityStatement submitDeliveryForecast «Service» BOM Service explodeFeatureList «Legacy Adapter» Production Planning «Service» Alarm Tracking raiseAlarm «Service» Business Optimization recordEvent 2b «notification» 4b «notification» 1 3 2b,4b «notification» 2 4 5 act Process Get Production Plan Produce BOM Request capacities Create Forecast Send Forecast
7. Asynchronous services: Stateless, batch one-way service invocation Why asynchronous services are important sd SOA «Service» Partner Service receiveDeliveryForecast requestCapacity «Service» Forecasting Process receiveCapacityStatement submitDeliveryForecast «Service» BOM Service explodeFeatureList «Legacy Adapter» Production Planning «Service» Alarm Tracking raiseAlarm «Service» Business Optimization recordEvent 2b «notification» 4b «notification» 1 3 2b,4b «notification» 2 4 5
8. Synchronous service: Request-rep sponse Why asynchronous services are important sd SOA «Service» Partner Service receiveDeliveryForecast requestCapacity «Service» Forecasting Process receiveCapacityStatement submitDeliveryForecast «Service» BOM Service explodeFeatureList «Legacy Adapter» Production Planning «Service» Alarm Tracking raiseAlarm «Service» Business Optimization recordEvent 2b «notification» 4b «notification» 1 3 2b,4b «notification» 2 4 5
9. Asynchronous services: Stateful conversation Why asynchronous services are important sd SOA «Service» Partner Service receiveDeliveryForecast requestCapacity «Service» Forecasting Process receiveCapacityStatement submitDeliveryForecast «Service» BOM Service explodeFeatureList «Legacy Adapter» Production Planning «Service» Alarm Tracking raiseAlarm «Service» Business Optimization recordEvent 2b «notification» 4b «notification» 1 3 2b,4b «notification» 2 4 5
10. Asynchronous services: Event-driven services Why asynchronous services are important sd SOA «Service» Partner Service (from Business Process Model) forcastMaterial requestCapacity «Service» Forecasting Process receiveCapacityStatement produceDeliveryForecast «Service» BOM Service explodeFeatureList «Legacy Adapter» Production Planning (from Business Process Model) «Service» Alarm Tracking raiseAlarm «Service» Business Optimization (from Business Process Model) recordEvent 2b «notification» 4b «notification» 1 «OneWay, Reliable» 3 «OneWay,Reliable» 2b,4b «notification» 2 «ReqRepl» 4 «OneWay, Reliable» 5 «OneWay,Reliable»
11.
12.
13.
14. One-way 1 3 2b,4b «notification» 2 4 5 Asynchronous Message Exchange sd SOA «Service» Partner Service receiveDeliveryForecast requestCapacity «Service» Forecasting Process receiveCapacityStatement submitDeliveryForecast «Service» BOM Service explodeFeatureList «Legacy Adapter» Production Planning «Service» Alarm Tracking raiseAlarm «Service» Business Optimization recordEvent 2b «notification» 4b «notification»
15.
16.
17. Bi-directional with callback Asynchronous Message Exchange sd SOA «Service» Partner Service receiveDeliveryForecast requestCapacity «Service» Forecasting Process receiveCapacityStatement submitDeliveryForecast «Service» BOM Service explodeFeatureList «Legacy Adapter» Production Planning «Service» Alarm Tracking raiseAlarm «Service» Business Optimization recordEvent 2b «notification» 4b «notification» 1 3 2b,4b «notification» 2 4 5
18.
19.
20. Message Correlation Asynchronous Message Exchange sd SOA «Service» Partner Service receiveDeliveryForecast requestCapacity «Service» Forecasting Process receiveCapacityStatement submitDeliveryForecast «Service» BOM Service explodeFeatureList «Legacy Adapter» Production Planning «Service» Alarm Tracking raiseAlarm «Service» Business Optimization recordEvent 2b «notification» 4b «notification» 1 3 2b,4b «notification» 2 4 5
21.
22.
23. Stateful Conversations Transparent Correlation Firewall, Wan Asynchronous Message Exchange sd SOA «Service» Partner Service receiveDeliveryForecast requestCapacity «Service» Forecasting Process receiveCapacityStatement submitDeliveryForecast «Service» BOM Service explodeFeatureList «Legacy Adapter» Production Planning «Service» Alarm Tracking raiseAlarm «Service» Business Optimization recordEvent 2b «notification» 4b «notification» 1 3 2b,4b «notification» 2 4 5
24.
25.
26.
27.
28.
29.
30. WS-Addressing: Foundation for routing Web-Service technology SOAP Envelope SOAP Header <wsa:action> there </wsa:action> <wsa:To>...</wsa:to> Body WSDL <wsaw:action> there </wsaw:action> Runtime Design time JAX-WS generates code that uses WSDL addressing as default when sending a WS-request. SOAP Header wsa extensions - Action: anyURI - MessageID: anyURI - RelatesTo: anyURI EndpointReferens - Address: anyURI +To 0..1 +From 0..1 +ReplyTo 0..1 +FaultTo 0..1
31.
32.
33.
34.
35.
36.
37. Deploying SOA integrations to an ESB Webservice-based message bus (routing of SOAP messages) configured routing rules UDDI directory BPEL engine Forecasting Process Process X Java EE engine BOM Service AlarmTracking Service BusOpt Service Message Mapping engine PP Fixed-to-xml service Other mapping JMS Binding Components A JMS binding Legacy Prod Planning WebSphere MQ Partner Service ESB Business Event wsa:Action -> wsa:Address 1 1 2 2 2b 2b 3 3 4 5 4 4b 4b 1 1 1
38. Tracing a message exchange Webservice-based message bus (routing of SOAP messages) configured routing rules UDDI directory BPEL engine Forecasting Process Process X Java EE engine BOM Service AlarmTracking Service BusOpt Service Message Mapping engine PP Fixed-to-xml service Other mapping JMS Binding Components A JMS binding Legacy Prod Planning WebSphere MQ Partner Service ESB Deploying SOA integrations to an ESB 1.0 1.4 1.1 1.2 1.3