I'd like to ask for an excuse in advance because I was not able to trace this
thread down the root but I agree with Mike in the most of crucial statements.
Yes, business messages are meticulously analyzed (by good business, at least)
and business actions ore chained/coupled at some sense. The message part means
that businesses do not deal with each other ad-hock, only because they all
listed in one directory, i.e. service discovery for bold Web Services does
not work for business-centric SOA, there should be a preliminary agreement on
who is who and what is what stands behind the interface and messages, which
could be provided by a SOA Service Contract.
The coupling part is even more interesting business services get coupled
due to the business processes they participate in. Account Receivable service
and Account Payable service, for example, usually work together while still
being self-contained independent business services; the business processes
based on the enterprise business model and industry regulations pair them into
the couple (plus, accounting General Ledger). This is another reason for the
business execution context to be incorporated into the SOA Service Contract and
the latter to be considered as a mandatory control entity in a SOA (between
organizations and inside as well due to possible business domain coverage by
organizations departments).
I observe one another mechanism for service coupling it is security. In
general, the role of security from the business perspectives is the
establishment of the business trust. All legal controls on the service provider
background and each exchanged message work toward this trust maintenance. So,
we can say that totally independent business services when acting in ensemble
(orchestrated) are coupled by mutual trusts (that are constantly validated and
verified).
On this basis, should we conclude that technical services implementing
business services have to be literally coupled? To me, if the services
participate in particular aggregation/orchestration/choreography, then the
answer is YES, in the scope of given composition. If the same service
participates simultaneously in another composition, it is coupled (by the
trust, at least) with other services BUT this does not mean that partner
services from the firs group coupled with the partner services from the second
group. Once again, service responsibilities including coupling last as far as
corresponding SOA Service Contracts. This is why we talk about technical
de-coupling or loose-coupling of the service en soit in the SOA.
- Michael Poulin
Mike Glendinning <[EMAIL PROTECTED]> wrote:
--- In [email protected], "Steve Jones"
<[EMAIL PROTECTED]> wrote:
>
> And I'm not betting against the internet (which is the bigger beast)
> what I'd say is that I'll go along with Bill Joy when he talked about
> multiple different webs, including the business web. There is no
> reason that each of these "webs" have to use the same technology
> approach as the human->human one. The syndication web is just part of
> the person->person web, hence the reason it _should_ work on the same
> technology stack. The business web needs to work on the same basis as
> businesses to today, this means a lack of trust between organisations,
> a high degree of formalism (driven by lawyers) and the importance of
> QoS.
>
To help stop this list degenerating into "Steve Jones against the
world", let me just agree with Steve here and further emphasise this
last point, which is a current concern of mine.
Most of what goes on in business today is actually quite "tightly
coupled".
In particular, buying and selling stuff (that is, the general
commercial trading activity of most businesses) goes through a strict
legal process of contract formation and transaction execution between
two parties. This involves well-defined legal concepts such
as "invitation to treat", "offer", "acceptance" and "consideration".
Businesses define the rules for such things very precisely and this
applies equally to B2B and B2C purchasing scenarios as well as
transactions of both small and large monetary value.
When negotiating these contracts and executing transactions, businesses
pay close attention to the details of what is being said. Anything
proposed by the other party is subject to detailed scrutiny before
being incorporated into the contract terms or allowed to affect the
outcome of a transaction.
A business would never knowingly execute a contract or transaction,
parts of which it did not understand. Of course consumers sometimes do
(for low-value items) but only out of laziness (and perhaps stupidity)
in reading the "small print" and this does cause them problems in
practice.
In designing computer systems, we generally try to model the behaviour
of the business as closely as possible. It is arguable, therefore (and
strongly, in my view) that any computer system designed to automate
this kind of commercial business activity must be similarly "tightly
coupled".
This would mean that messages exchanged as part of a transaction must
be fully understood by both parties, and rigorously checked for
accuracy and completeness. Each party must be sure that nothing is
being said by the other party that may materially affect [in the legal
sense] the outcome of the transaction.
Both the messages themselves and their interactions must therefore be
carefully designed to align properly with the commercial [legal]
aspects of the activity they are automating.
Of course this doesn't prevent the message definitions from
being "extensible" in any way, but it does suggest that the current
vogue for loose message definition, sloppy parsing and ignoring data
you don't understand may not be appropriate in many business contexts.
-Mike Glendinning.
P.S. Businesses do, of course in some areas and industries make use of
intermediaries to reduce the effects of this "tight coupling" (for
example in the various B2B purchasing exchanges), but even so both legs
of such brokered transaction remain tightly coupled as I have described.
---------------------------------
Check out the all-new Yahoo! Mail beta - Fire up a more powerful email and get
things done faster.