I agree with Gregg on "this discussion is really not going down a path of 
useful result". 

What we have to find in the end: that programmatic service interface does not 
include non-functional characteristics of the service described in the Service 
Contract? - it is obvious. That the same code may be used under different 
Service Contract? - it is obvious. That different service features may be used 
behind the same programmatic interface? - it is also obvious. That service 
consumer gets aware of non-functional features not from programmatic interface? 
- it is trivial. May we call an implementation a service if its functions are 
not defined in, e.g., WSDL only? - the SOA RM answers YES. Should a developer 
know about such features and distinguish between "service instances" on this 
basis? - my answer is 'not necessary; it is the architect's and BA job' but for 
the service consumer it does not matter, right?

- Michael


Gregg Wonderly <[EMAIL PROTECTED]> wrote:                                  
shashank d. jha wrote:
 > Two instances of service is executing now? (may be possibly service is
 > re-used from service repository (instances are not same as object
 > instances as mentioned by you) . Still min. two instances of service
 > must exist to support two different contract).
 > 
 > Or single service is running, and different clients interact with
 > service using different contract, as such service is same.?
 
 I think this discussion is really not going down a path of useful result.  It 
is 
 true that all of the attributes of connectivity provide part of the 'contract' 
 of the service.  But, variability of connectivity capabilities is also a 
 description of the service.  So, in the end, the ability to provide access on 
 separate networks, using separate wire protocols, using separate invocation 
 layers etc. is nothing more than a more flexible service contract 
implementation.
 
 With Jini, we do this quite readily using the JERI stack to change these 
things 
 at deployment time.  Other messaging/invocation technologies have similar 
 capabilities.  Unless the services operations are limited/controlled by these 
 details, it really is the same service.
 
 A simple example would be encryption.  The presence of such a wire protocol 
 facility, application data wrapping detail, might control which functions a 
 service would allow the user to execute.  This is still part of the service 
 contract.  It is controlled by the invocation environment, but that does not 
 change the fact that it is a capability of the service which is simply 
 controlled/requested by the access/invocation/transport mechanism/interface.
 
 Gregg Wonderly
 
 
     
                       

 
---------------------------------
Sponsored Link

$200,000 mortgage for $660/mo - 30/15 yr fixed, reduce debt, home equity - 
Click now for info

Reply via email to