Service Capsules A Language and Patterns Perspective on Service Design and Implementation

+2

No comments posted yet

Comments

Slide 1

By analysing how and why communication takes place between cooperating persons, we have encountered the business transaction communication pattern. We have seen how instances of this pattern are chained together to form business processes. The understanding that business processes are composed of business transactions enables us to perform the reverse action; the decomposition of business processes into business transactions. Each business transaction identifies one business role, which represents the elementary amount of authority and responsibility to execute the transaction. These business roles are the building blocks for authorisation policies within organisations. Each business role can be viewed as an elementary supply chain and provides a well-defined service. By studying how these services are realised we have encountered the need for additional informational and infrastructural services to enable storage and exchange of information. The decomposition of business processes into business, informational and infrastructural services and the definition of their dependencies provide a solid basis for enterprise information and application architecture. As technology has not played a role in the decomposition of business processes into services, the resulting services are technology-independent. The degree to which services are automated may vary strongly, but this has no influence on the information architecture. When implementing a service, we would recommend hiding both the chosen implementation technology from other interacting services as well as the degree of automation within the service. This approach provides an organisation with the flexibility to change the technology itself as well as the way it is applied in business process implementations.

Slide 12

These are the actions at the various layers. It would be great to use this as a top level categorization for your message exchanges. Today’s approaches conflate all of this together. We don’t want this and merely causes confusion and is not easy to change.

Slide 24

Example conversation - can we canonicalize the way people communicate? Intention (intent) -> Message (content) -> Send Message (form)

Slide 25

Now we move on to a more complicated conversation…

Slide 29

This is a KEY concept. The structuring principles depend entirely on this.

Slide 31

Communication is more than just conveying information. Inform Agree Request Act

Slide 32

The important thing is that the fact is the same in both communicative acts, but the intent is different.

Slide 33

All elementary conversations boil down to a message exchange around one single fact. The intents change. ASK, STATE, REQUEST, ACCEPT, PROMISE

Slide 34

This slide show how elementary communicative acts interleaved and how production acts are surrounded by communicative acts. What is the fact? It is always the final situation/state that is intended. There are actually multiple elementary communications and some of the facts are implied. One physical (production act) can relate to more than one communicative acts (i.e. as with the payment act). It is very important to have a verification that the production act has occurred and this is usually via a stated fact (explicit or implicit).

Slide 35

Explains why the communications are being performed.

Slide 36

Communication take place at various levels to enable communicative acts. Shared Syntax -> Shared Semantics/Understanding -> Shared Interpretation/Context (this last part is why humans are important) Allows co-ordination of actions to get things done.

Slide 37

Business TXs are important for the co-ordination of processes whereas Information exchanges are not. Biz TXs identify roles and activities and are essential for the design/analysis of processes. There is surely a good tie in with this and MS Motion. Business TXs pattern is used when you want someone/something to perform an action / do some work. Information Exchange simply supports/clarifies the Business TX.

Slide 38

Relate this to the Agile Machine architecture and negotiate/agree/perform/verify cycle.

Slide 39

So far we have shown only the success scenarios… but how to handle failures. This is done by having refinement of the Business TX communication flow (interaction). This is the link with Windows Workflow Foundation – we can capture an activity template for this type of communication. Each actor works with his own workflow. So the overall interaction shown actually materializes within a set of related workflows. [See later slides in this deck.]

Slide 42

… thus we have a very strong definition of BUSINESS ROLE = i.e. the person who is able and authorized to perform one particular production action and we discover production actions by finding Business TXs and their associated business role. An individual ROLE can play multiple BUSINESS ROLES.

Slide 43

Workflow services can have parallel conversations with multiple clients over the same contract. Understand how to correlate messages that are sent for the same contract and same operation but need to be handled differently as they are sent by different clients…

Slide 47

The example architecture is modelled after simple AI agents (BDI agents specifically; see Yoav Shoham’s Agent0 work from 1994).

Slide 48

The example architecture is modelled after simple AI agents (BDI agents specifically; see Yoav Shoham’s Agent0 work from 1994).

Slide 1

Service Capsules A Language and Patterns Perspective on Service Design and Implementation Arvindra Sehmi Director, Microsoft Corporation asehmi@microsoft.com Acknowledgement: Gerke Geurts & Savas Parastatidis

Slide 2

ALTERNATIVELY Modeling Robust & Reliable People-to-Machine Business Processes Arvindra Sehmi Director, Microsoft Corporation asehmi@microsoft.com Acknowledgement: Gerke Geurts & Savas Parastatidis

Slide 3

ALTERNATIVELY The Case for Workflow-First Service Design Arvindra Sehmi Director, Microsoft Corporation asehmi@microsoft.com Acknowledgement: Gerke Geurts & Savas Parastatidis

Slide 4

This session is about emerging ideas and concepts. The term Service Capsule is not an official term approved or endorsed by Microsoft. The term Service Capsule is used simply to distinguish them from the commonly understood term Service. Nothing in this talk is guaranteed to be officially supported, approved or endorsed by Microsoft. Caveat Emptor

Slide 5

To Model Robust & Reliable People-to-Machine Business Processes Using Workflow-Based Communication Patterns & Services Business Processes Automation & Design Services and Workflow People-to-People Communication: Basics & Theory Workflow-First Service Design Q&A Objective & Agenda

Slide 6

Business Process Automation Problems

Slide 7

Business Process Financials Warehousing Shipping Customer Order Mgmt Inspector

Slide 8

Financials UI Business Process Automation (1/2) Financials Customer Customer Portal Order Logic Order Data Credit Check Logic Credit Data Customer Data

Slide 9

 Business Process Automation (2/2)    Presentation Business Process Business Information

Slide 10

Business Process Design There’s much more to the design of robust reliable automated (and manual) business processes than having great technology & tools

Slide 11

Business Process – Knowledge Concepts

Slide 12

Three Levels of Business Automation Coordination Interpret Information Exchange Storage (archive) Derivation (transform) Infrastructure Data transfer Data storage Calculations

Slide 13

Business Roles are supported by Informational Roles & Infrastructural Roles

Slide 14

Services and Workflow Modeling services and their message interaction protocols: Some ideas exploring “workflow-backed service contracts” – an essential ingredient for business process automation

Slide 15

A Services Messaging Behaviour A service is characterised by the messages it can send and receive WSDL describes the format of those messages and basic message exchange patterns i.e. request-response The collections of messages sent or received by a service, their format and their relative order sequence or choice represent the messaging behaviour of that service The messaging behaviour can be exposed as metadata – examples SSDL, Abstract BPEL and WS-CL

Slide 16

What’s the Difference? Logic Service Client Logic Service Client 1 2

Slide 17

What’s the Difference? Service contract describes operations Message interaction protocol determined by client Service contract describes interaction protocol and operations Message interaction protocol controlled by service 1 2

Slide 18

A Workflow as a Service Windows Workflow is a great technology for modelling and implementing the behaviour of a process or application We can capture logic through the concept of an activity An activity may represent an incoming or outgoing message We can automatically host such a workflow as a WCF service

Slide 19

Extracting the Messaging Behaviour The messaging behaviour of a Workflow hosted as a service can be extracted automatically by analyzing the workflow The metadata capturing the messaging behaviour can be exposed as a workflow i.e. XOML The XOML file can be used as a skeleton for the implementation of other services / consumers wishing to interact with the hosted service

Slide 20

Workflow as a Service Experimental work with VS2005 (.NET FX 3.0)

Slide 23

People-to-People Communication The Basics

Slide 24

Everyday Conversation Example What is the capital of the Netherlands? I’ll ask Steve… What is the Dutch capital? He asks for the name of the Dutch capital… I think it’s Amsterdam. I’m sure it is, so I’ll state this… It’s Amsterdam

Slide 25

Business Conversation Example I would like a pizza calzone please. Do you want meat sauce on top? No thank you. Ok, That will be €15. Money payment Pizza production There you go, your pizza sir Wonderful! Thank you. Customer Pizza Guy

Slide 26

Fundamental Aspects of Communication Message Form Message Content Message Intent

Slide 27

Message Form Transport Medium Message Syntax Message Grammar Medium: sound waves in air Syntax & Grammar: UK English spoken sentence

Slide 28

Message Content Information – what is in the form, semantics What is the Dutch capital? It’s Amsterdam

Slide 29

Message Intent How should message receiver take the message? I’ll ask Steve… Ask: Provide me with information I’m sure it is, so I’ll state this… State: Accept my information as truth

Slide 30

People-to-People Communication The Theory

Slide 31

Language Action Perspective of Communication Communication is more than message exchange ‘Speaker’ intends to influence behaviour of ‘hearer’ Communicating = Performing communicative acts

Slide 32

Communicative Act Normalised view of message content Performer: Intent: Addressee: Fact: Deadline What is the Dutch capital? It’s Amsterdam Bill: Ask: Steve: Amsterdam is the capital of the Netherlands: ASAP Steve: State: Bill: Amsterdam is the capital of the Netherlands: ASAP

Slide 33

Conversation Sequence of communicative acts between two people with a particular goal All communicative acts in conversation share by definition same fact and deadline Bill: Ask: Steve: Amsterdam is the capital of the Netherlands: ASAP Steve: State: Bill: Amsterdam is the capital of the Netherlands: ASAP

Slide 34

Business Conversation Example I would like a pizza calzone please. Do you want meat sauce on top? No thank you. Ok, That will be €15. Money payment Thanks Pizza production There you go, your pizza sir Wonderful! Thank you. Customer Pizza Guy C pays money P produces pizza C: request: P: C owns pizza <p> P: ask: C: Pizza <p> has sauce C: deny: P: Pizza <p> has sauce P: promise: C: C owns pizza <p> P: request: C: payment <m> made for pizza <p> C: promise: P: payment <m> made for pizza <p> C: state: P: payment <m> made for pizza <p> P: accept: C: payment <m> made for pizza <p> P: state: C: C owns pizza <p> C: accept: P: C owns pizza <p>

Slide 35

Business Conversation Example C pays money P produces pizza C: request: P: C owns pizza <p> P: ask: C: Pizza <p> has sauce C: deny: P: Pizza <p> has sauce P: promise: C: C owns pizza <p> P: request: C: payment <m> made for pizza <p> C: promise: P: payment <m> made for pizza <p> C: state: P: payment <m> made for pizza <p> P: accept: C: payment <m> made for pizza <p> P: state: C: C owns pizza <p> C: accept: P: C owns pizza <p> conversation 2: aim: information to complete request conversation 3: aim: payment commitment conversation 1: aim: pizza production commitment conversation 4: aim: agreement on fulfilment of payment commitment conversation 5: aim: agreement on fulfilment of pizza production commitment

Slide 36

Layers of Communication Coordination Layer Shared social understanding of action that must be performed Social awareness required to understand mutual expectations and act accordingly Informational Layer Shared social understanding requires shared intellectual understanding first Information exchange Infrastructural Layer Shared intellectual understanding requires transmission of signs and shared understanding of these signs Data transfer

Slide 37

Business Communication Patterns Business Transaction Pattern Aim: creation of new production fact Main communicative acts: Request/Promise/State/Accept Information Exchange Pattern Aim: exchange of existing facts/information Main communicative acts: Ask/State or Inform/Confirm

Slide 38

Business Transaction Pattern Result Phase Order Phase Execution Phase 3. Produce 1. Request 5. Accept 2. Promise 4. State Agreement on production action to be performed Agreement on outcome of production action

Slide 39

Execution Phase Order Phase Result Phase Business Transaction Pattern Initiator (Customer) Success Layer Negotiation Layer Failure Layer Request Quit Request Quit Promise Decline Execute State Stop Promise Decline Execute State Stop Accept Reject Accept Reject

Slide 40

Nested Business Transactions Product Sale

Slide 41

Business Transaction Nesting

Slide 42

Business Process – Full Circle! Business process = a structure of causally interconnected business transactions for delivering a particular final product to the environment Each business transaction identifies exactly one business role We can design more robust and reliable business processes by observing the communication pattern semantics

Slide 43

Workflow-First Service Design Available in Visual Studio 2008 (.NET FX 3.5)

Slide 47

Agile Machine Architecture (1/2)

Slide 48

Agile Machine Architecture (2/2)

Slide 49

References G. Geurts and A. Geelhoed, Business Process Decomposition and Service Identification using Communication Patterns, Microsoft Architecture Journal, Issue 1, January 2004. J.R. Searle, Speech Acts, an Essay in the Philosophy of Language, Cambridge University Press, Cambridge MA, 1969. J.L.G. Dietz, P.J.M. Mallens, An Integrated, Business-Oriented Perspective on Facts and Rules, data2knowledge newsletter, January-May 2001. V.E. van Reijswoud, J.L.G. Dietz, DEMO Modeling Handbook Volume 1, Delft University of Technology - Department of Information Systems, Version 2.0, May 1999. SSDL – The SOAP Service Description Language at http://www.ssdl.org. A. Sehmi and B. Schwegler, Service Oriented Modeling for Connected Systems, Microsoft Architecture Journal, for Part 1: Issue 7, January 2006 and for Part 2: Issue 8, April 2006. A. Sehmi and B. Schwegler (2005), “Modeling and Messaging for Connected Systems”, a webcast presenting elements of the paper above can be found here: http://www.ftponline.com/channels/arch/reports/easbarc/2005/video/.

Slide 50

Q&A Questions?

Summary: Arvindra Sehmi, Платформа 2008, https://platforma2008.ru

Tags: service oriented architecture platform 2008 conference

URL: