| you are at: home / standards / Reliable Messaging / WS-RM / WS-Reliability | ||
|
||||||||||||||||||||||||||
WS-Reliable Messaging / WS-Reliability
WS-Reliable Messaging is good, but it’s not enough. WS-Reliable Messaging is a retread of existing messaging technology as a Web Service. WS-Reliable Messaging is supported by IBM and Microsoft. The competing WS-Reliability, supported by Oracle and Sun, is so similar that the world only needs one of them (much like the situation with business transaction specs). We think that IBM and Microsoft are stronger market forces than Oracle and Sun, and so, barring "WS-Rupture", we expect WS-RM to prevail over WS-Reliability, or the two will merge. But we will be happy to use either. Business Transaction Management + Reliable Messaging provides Guaranteed Delivery and Processing (GDP). That is, you can be assured that your message not only got to the incoming message port, but was correctly processed by the destination business application, and moreover, that a whole sequence of related messages between business applications was processed correctly. If you have RM and ACID (XA capable) message queues and database containers, you can get GDP. GDP is a cinch with J2EE. What’s not so easy to achieve is GDP where the endpoints are operations on services which come from different places and families. GDP is dependent on a restricted set of assumptions, and becomes more difficult the more heterogeneous the environment. Even more important is the containment of multiple related messages, even among multiple parties, in the same transactional boundary – in other words, a transactional conversation. You cannot get this larger coordinated unit of work from RM nor J2EE. Example Take a Quote-To-Order process, where a buyer requests a quote, the seller sends the quote, the buyer places a firm order, and the seller accepts the order.
Using reliable messaging alone, both parties can be assured that each message was delivered to the counterparty’s incoming message port. But that’s all. IFF both parties use compatible WS-BPEL processes, both parties can follow the sequence of messages and the state of the process. But they cannot be assured that both parties understand the state of the process in the same way, at the same time, with the same conclusion. This is what we call Mutually Assured Knowledge (MAK): in other words, “I know that you know that I know what you know”. Some of the requirements for business transaction integrity, or Mutually Assured Knowledge :
By the time you get all of these transactional-integrity features working correctly, you will have re-invented Business Transaction Management software. All of these problems and can be handled once and for all, in a standardized way, by Choreology Cohesions Business Transaction Management software. Moreover, BTM software can provide transactional integrity with or without RM, XA or BPEL – in other words, with the usual combination of old and new technologies. We enclose the whole conversation in a transaction:
In this case, each business message is accompanied by a transaction signal. (In other cases, business messages may be separate from transaction signals.) Cohesions software interprets the signals and logs the state of the transaction. If one party fails, Cohesions software can recover and resynchronize with the other party (or parties). At each key stage of the transaction, both parties’ states are synchronized by Cohesions software. At the end of the transaction, both parties have come to the same business conclusion, and know that their counterparty will agree. Cohesions provides more benefits if you have more sellers to coordinate. Coordinating three parties without BTM software is much more difficult than coordinating two. Re-synchronizing with multiple participants becomes especially difficult.
Choreology has documented an experiment where our Chief Architect developed a similar process with our Cohesions software, and without Cohesions but with Reliable Messaging. The productivity gains from Cohesions were 3:1 for a simple process, without considering testing. To achieve the same degree of transactional integrity as Cohesions would make the advantage about 10:1. And that’s 10 times more of a very highly skilled programmer’s time. We are interested in standardized business protocols for transactions like Quote-To-Order because they will help shorten the negotiations on process design and transaction rules between trading partners. But the basics for business transactional integrity are very similar across many business protocols, and are provided by Business Transaction Management software such as Choreology Cohesions. |
||||||||||||||||||||||||||
|
Choreology Ltd, 68 Lombard Street, London EC3V 9LJ
|
||