Business Ecology Initiative & Service-Oriented Solution

Michael Poulin

Evolution of principles of Service Orientation: Service Contract, part 2

user-pic
Vote 0 Votes

As I mentioned in the Part 1, the description of the principle defining service contract has changed from 'services share a formal contract' to 'Standardized Service Contracts'. The book SOA: Principles of Service Design (by T. Erl) states: 'Services within the same service inventory are in compliance with the same contract design standards' while explanation words have not changed much from 2006 and 'When a service is implemented as a Web service, the service contract can be comprised of a WSDL definition and multiple XML schema and policy definitions, as well as supplementary documents, such as an SLA.' Following description does not clarify more what the principle is about but rather how it might be used.

I think you have caught significant difference in the formulations. The initial requirement of sharing formal contract did not sustain presence of an intermediary like ESB, I guess. Also, it is not clear why services have to share the contract among them instead of sharing it with consumers whatever these entities are (i.e. another service or just a consumer). In this context, sharing contract means understanding of and agreement on the contract. The only thing is not defined here is what the contract is.

Rather than defining service contract, we have an immediate reference onto the implementation technology like Web Service, which cannot replace formal definition of the conceptual thing but only illustrate it. What the contract is if Web Service is not used? Even if we use Web Service, I see two problems in such example.

Firstly, 'supplementary documents' are unknown. Since etymology of the word 'contract' assumes 'agreement', presence of undefined documents prevents us from formalising and standardising the contract. The only one thing we can do in this situation is what OASIS SOA standards do: define the types of information that may be placed in to the service contract. Secondary, I do not think there are many people who would disagree with me if I say that WSDL defines a type of interface called Web Service. If so, how should we understand the statement such as 'When a service is implemented as a Web service '? How a service may be implemented as an interface? An interface is a means of connectivity to something, which is faced; an interface can provide neither business functionality nor Real World Effect (RWE) - the only two things that any consumer is interested in from a service. Buy the way, these two major things are, probably, have to be provided by the 'supplementary documents'. This means that service contract semantics and related ontologies have to be shared between the service and consumer but an attempt to standardise semantics and ontologies is a utopia similar to standardisation of people minds.

Talking about service contract, I cannot miss the notion of service description. An agreement between service provider and consumer has to be based on something, the service has to be announced and found to be used. This is the sphere of the principle of Service Discoverability, which we will look at later, but OASIS SOA has specified a natural dependency between service description and service contract in the SOA RM standard.

In particular, service description is a document, which expresses the offer of the service made by the service provider. If you want, service description contains meta-data about the service. This meta-data may be announced via service registries or other means. This is the meta-data that has to be discovered by the service consumer to decide whether the service capabilities can satisfy consumer's needs. If such match is found, the consumer should be able to find all necessary information in the service description to set the service contract and to physically invoke the service.

So, the most part of the service contract's content is derived from the service description. However, since the service contract is a mutual agreement, consumers have an opportunity to negotiate their own requirements to be preserved by the service. These requirements appear in the form of consumer's policies, which may be included into the contract. For example, such policy may state that only certain type of information should be exchanged with the service via SSL while the service description offered 'clear' and encrypted communication channels but did not mention a capability to mix them on the content basis.

Mentioned explanation of the 'Standardized Service Contracts' via reference to the 'service inventory' confuses me a bit. This explanation drifts from service-consumer interactions into the service registration (inventory) sphere. Certainly, it would be a paradise for the registry management if all submitted services were compliant with 'the same contract design standards' but how much service orientation in this requirement? Is this a principle of Service Orientation or a pre-requisite of the service inventory (even if it is not a registry but an arbitrary composition of the services)? Do we really care what design standards were used for particular service contract if we can understand what is it about? Moreover, service contracts are derivatives negotiated by the consumers or by the developers of the service inventory. That is, standardisation of the service contract is really subjective matter and works for the convenience of the service inventory (registration) management, e.g., another service inventory may require different standards to be used for the same service contract.


Thus, a contract between service (service provider) and service consumer may be standardised only at the level of content types and mechanisms that can help to share understanding of what the service provider meant when formulated offered business functionality, RWE, policy statements and semantics of exchange messages. This line of logic leads me to the conclusion: the principle of Service Orientation regarded to the service contract has to

1) talk about relationship between contract participants, i.e. service provider/service and service consumer;
2) require formalisation and standardisation of the contract parts or types of contained information;
3) require or define a mechanism allowing comprehension of the contract by the contract participants.

On this basis, we, maybe, better call this principle 'Standardized Definition of Service Contracts' meaning, first of all, the shared comprehension of the contract between service provider and consumer regardless to any service inventories or, more general, any SOA infrastructure and run-time environment. The principle definition in this case may be formulated as follows: 'Service contracts are in compliance with the standardised definitions of the contract content types and represent mutual agreements between service provider/own/steward and service consumers '.

(to be continued)

Thumbnail image for Speaking_Qcon_London_03.jpg

No TrackBacks

TrackBack URL: http://www.ebizq.net/MT4/mt-tb.cgi/15319

Leave a comment

Business and Technology ideas, concepts, methodologies and solutions leading to Service-Oriented Enterprise - the primary instrument for obtaining business objectives in fast changing environment

Michael Poulin

Michael Poulin is an enterprise-level solution architect working in the financial industry in the UK and USA.

He specializes in bridging between Business needs and Technology capabilities with orientation on business and technical efficiency, scalability, robustness and manageability. He writes about service orientation, application security and use of modern technologies for solving business problems. Michael contributes to OASIS SOA standards as an Independent Member; he is listed in International WHO's WHO of Information Technology (Historical Society) for 2001. View more

Subscribe

 Subscribe in a reader

Recently Commented On

Categories

Tag Cloud

'Navigating the SOA Standards Landscape, abstraction, active service, ADM, adopt changes, aggregate service, AIA, analysis, API, application, Application Integration Architecture, Architect, architect, architectural mission, architecture, Architecture, architercture, B-SOA, BAWG, BEI, Best Practice, bottom-up, BPEL, BPM, Busienss, busienss case, Business, business, Business Architect, Business architecture, business architecture, Business Architecture, Business Architecture Working Group, business concerns, business data, Business Ecology, business efficiency, business model, business operational model, business organisation, Business Platform Division, business process, Business Process Designer, Business Requirements, business risk, business service, Business service, Business SOA, business value, business view, business-centric, Business-IT problem, capability, CBDI, CBM, choreography, Cloud, Cloud Computing, COBA, collaboration, Collaboration, collaboreation, commodity, component, composition, concept, Conciliator, consumer, COSMIC, cost, cost estimate, cost of ounership, cost of ownership, crisis, CRUD, culture, Cutter Consortium, data ownership, data service, data store, DDD, decision logic, decomposition, demand, design, Design Pattern, development, domain, Domain, Domain Aggregate, Domain Events, Domain Service-Oriented Modelling, DOSOM, DOSOSM, driver, Dynamic Process Edition, EA, EDA, efficiency, end-to-end, Enterprise, Enterprise Architect, Enterprise Architectural Framework, enterprise architecture, Enterprise Architecture, ERP, ESB, event, Event, execution context, Execution Context, expertise, failure, feature, Flexibilit, flexibility, FPA, FSM, Full Functional Points, Functional Points, functionality model, future, Gartner, Governance, governance, granularity, harmonization, Healthcare, IBM, identiy credential, IEEE 1471, IFPUG, implementation, intangible value, Integration-Oriented Architecture, intent, interface, interface orientation, IOA, IT, IT Architect, IT Operation Support, IT organisation, IT without the IT Department, ITIL, Ladder to SOE, leasable Cloud, lease, Loose coupling, Lost in Translation, Management, Manifesto, market, MDA, Michrosoft, Mike Rosen, model, Model-Driven Approach, modelling, Navigating the SOA Standards Landscape Around Architecture, navigation, OASIS, OASIS SOA RA, OASIS SOA RAF, OASIS SOA Reference Architecture Foundation, OASIS SOA RM, ODBC, OMG, ONA, OO, Open Group, Oracle, orchestration, organizational change, participant, pattern, policy, principle, principle of separation of concerns, principles, priority, Private Cloud, Process, process, process-oriented, process-orineted, process-service, project, Provisioning, Pub/Sub, Public Cloud Busienss Requirements, QCon, RA, Real World Effect, Real World SOA, Referemce Architecture, Reference Architecture, Reference Architecture Foundation for SOA, Reference Model, Registry, rent, rentable Cloud, Repository, reuse, RIA, risk, RM, ROI, RPC, rules engine, RWE, SCA, scalability, security, service, Service, Service Autonomy, Service Composability, Service Contract, service contract, service description, Service Description, Service Discoverability, Service Execution Context, Service Orientation, service orientation, Service Oriented Enterprise, Service Relative Autonomy, Service Reusability, Service Separation of Concerns, Service State Management, Service Statelessness, service-oriented, service-oriented eco-system, service-oriented enterprise, Service-Oriented Enterprise, service-oriented environment, ServiceContract, seven properties that differentiate emergent architecture from the traditional approach to EA, situational, sizing, SLA, SO, SO environment, SO Principles, SOA, SOA Manifesto, SOA standard, SOA-RAF, SoaML, SOBA, social networking, SOE, SOEA, solution SOA, SOMA, Spring, standard, study, Summit, supply, T-SOA, tangible value, Technical Architect, Technical Architects, Technical Architecture, technical capabilities, Technology, technology, The Open Group, TOGAF, TOGAF 9.0, top-down, UI, UI Mediator, use, Value Chain, Value Network, Value Networks, view, view model, viewpoint, vision, VPEC-T, Web, Web Service, Web Services, WebSphere, WSDL, ZapFlash,

Monthly Archives

Blogs

ADVERTISEMENT