In my previous post I talked about encapsulating capabilities as services with communication patterns supporting their mutual interactions and coordination - the so-called service capsule. In this post I'll explore communication patterns in more detail and in particular the business transaction communication pattern.
When analyzing how and why communication takes place between cooperating humans a number of linguistic researchers, most notably Searle [JRS69], have been able to identify a canonical description of the way people communicate. Fundamentally the canonical communication is an exchange of messages. However, the communication is more than a mere exchange of information. When communicating, people attempt to influence each other’s behavior. Through all utterances they do something, or more precisely they perform communicative acts. This principle is the main tenet of Searle’s Language/Action Perspective (LAP) [JRS69] methodology that considers communication from an action-oriented perspective.
Messages or communicative acts have a form, or syntax, and a meaning which is the content of the form. This idea is shown in Figure 3.
Figure 3. Message form and content (taken from [GG04])
The form of a message is described by its transport medium, syntax and grammar. The meaning of a message consists of an intention, a factual piece of information and a time-for-completion. The intention of a message reflects how a message is intended to be taken by the receiver. For example, it might be a request or a promise. A message such as this can have an implicit or explicit time for completion, indicating the point at which the receiver must have performed any actions associated with the message. For example, a message from partner cohabiting with another could request that the house is clean before he or she returns home. Alternatively, the intention might be to convey a simple fact. A fact can ascertain or communicate a particular state of affairs. For example, the credit limit of client account 1-345 is €2000.
The DEMO methodology of Reijswoud and Dietz [RD99] builds upon LAP and introduces the important concept of a business transaction communication pattern. The key structuring principle of a business transaction is that all its constituent messages will refer to the same single fact though each message in the transaction will convey different intentions and these in turn depend on the desired outcome of the communication or conversation.
The Business Transaction Communication Pattern
When two people need to communicate and coordinate their actions to achieve a particular goal, they engage in conversation. A conversation is a sequence of message exchanges. Within business processes, the two relevant types of conversation are performative conversations which are used to get people to do something ("Please clean the house before I get home this evening") and informative conversations which are used to share and distribute knowledge ("The credit limit of account 1-345 is €2000"). A key difference between the two is that while informative conversations disseminate existing knowledge, performative conversations result in the production of new facts ("The house is clean").
Studies have shown that when people who are trying to coordinate their actions engage in conversation, the same conversation pattern tends to occur regardless of the business context. Dietz and Mallens  refer to this as the business transaction communication pattern and they identify the following three distinct phases that occur between the customer (or initiator) of the conversation and the supplier (or executor):
The amount of interaction or negotiation that takes place between customers and suppliers varies considerably and correspondingly the amount of time between the order and result phase can also vary greatly.
Business Processes and Nested Business Transactions
A business process consists of a top level business transaction initiated by a particular role in an organization and this may include other child business transactions. New business transactions can be initiated during any one of the three phases outlined above. The child transactions can produce intermediate goods or services which are required to complete the parent transaction.
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 authorization policies within organizations.
The understanding that business transactions combine to form business processes enables us to decompose business processes into business transactions. Each business role can be viewed as an elementary supply chain and provides a well-defined service. By studying how these services are realized 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 organization with the flexibility to change the technology itself as well as the way it is applied in business process implementations.
[GG04] G. Geurts and A. Geelhoed, Business Process Decomposition and Service Identification using Communication Patterns, Microsoft Architecture Journal, Issue 1, January 2004.
[JRS69] J.R. Searle, Speech Acts, an Essay in the Philosophy of Language, Cambridge University Press, Cambridge MA, 1969.
[RD99] 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.
I'll develop this topic in more detail in subsequent posts. Please come back or subscribe to my RSS feed.