Insane !? Yea, it depends, the D... is in the details, as usual. Let me walk 
along your examples, Gregg:

1) if an interface is contract at some levels, one has to say "...an interface 
is contract at level XYZ". Simplifying the statement and skipping the 'level' 
part leads to many problems one of which we face now - people took 
{interface=contract} literally, w/o any 'level' conditions

2) "Graphical User "interface" is the contract, because it presents the set of 
things that they can 
do/have access to". Disagree, GUI is interface only because it does not 
necessary carries semantics of the things it helps to access. The contract in 
this case would sound as '...using this UI, you can operate on business 
functionality ABC with Real World Effect XYZ". For example, a GUI Console for 
Security Admin allows placing a user into security group.Business functionality 
- obtaining access right to the asset - does not come or being represented by 
the GUI, plus, RWE - ability to access resource is unrelated to that GUI. It is 
assumed that the system would be able act in this or that way but it is not 
expressed in the GUI at all. Thus, GUI is not a contract.

The trick here is in over-simplification: instead of saying that interface is a 
PART of the contract (which immediately raises a question - What are other 
parts?), people said "interface-is- the-contract", period. No needs to explain 
other parts of contract. This is the trap. This is why we need now to talk to 
everybody that BTW, interface is important but it is not a contract per se (and 
NEVER was).

If an interface like Web Service would be the only contract, consumers were not 
interested in anything else. In reality, it is only program/code does not 
interested in anything but interface, while consumers are interested in many 
other things except interface (besides the case with GUI where User Experience 
is quite important and delivered via the UI).

- Michael





----- Original Message ----
From: Gregg Wonderly <[EMAIL PROTECTED]>
To: [email protected]
Sent: Friday, July 18, 2008 3:58:15 PM
Subject: Re: [service-orientated-architecture] Is Governance Killing SOA?


Michael Poulin wrote:
> I recall JavaOne in  2001 when Web Services were announced by Sun as a 
> big thing. One of the populist interpretation of WS was 
> "interface-is- the-contract" . Now, we are just dealing with marketing 
> oversimplification. ..

At some level, the interface is the contract.  At other levels, the 
functionality and side effects are the contract represented by how different 
pieces of software "interface" with each othere.  For some, the Graphical User 
"interface" is the contract, because it presents the set of things that they 
can 
do/have access to.  I think it's insane to run around saying "the interface is 
not the contract" when "interface" has so many meanings.  The "interface" is 
the 
contract.  The problem is that without an architectural view, you don't see all 
the meanings of "interface" and hence have a hard time understanding the 
requirements that your "interface" presents to my "interface".

Gregg Wonderly
    


      

Reply via email to