Harmony > SOA Lifecycle & Work Patterns > Service Stages

Understanding Service Stages

A service is a self-contained function that responds to requests. The functions typically have a strong relationship to steps in a business process such as “Ship Order” or “Check Inventory”.  The services typically mimic the primary activities found in a business. A service can be bought from a vendor (COTS), it can be ‘rented’ as in “Software as a Service” or it can be programmed from components, frameworks and custom coding. Regardless of the method of bringing a service to fruition, a service will typically pass through several stages.

 The Harmony™ SOA Methodology identifies 8 stages in a Service Lifecycle. They are as follows:

  1. Conceptual Service (idea)
  2. Candidate Service (proposal)
  3. Contractual Service (definition)
  4. Built Service (fully coded)
  5. Integrated Service (certified)
  6. Released Service (consumable)
  7. Managed Service (controlled)
  8. Utilized Service (actively consumed)

 After reviewing the states a service passes through, we’ll identify how the services pass through an organization and determine roles, activities and work products.

Stage 1: Conceptual Service

The Conceptual Service is just that; it is the ‘idea’ of a service. Many organizations already have applications that partition functionality. There is often a high correlation between in-place applications and the service counterparts.

At the conceptual level the primary focus is on ‘service identification’ and ‘service scoping’.  Imagine looking at every major piece of software in an enterprise and creating a bunch of buckets, or placeholders for software functionality. This is the job of the conceptual service. It reserves a slot of functionality for a future service. As a slice of functionality, it enables an organization to define what’s in the service and what’s out. By defining the boundaries or scope of a service, you are able to chunk related pieces of functionality together for implementation. 

Stage 2: Candidate Service

A candidate service is the product of formal domain analysis. Typically, some combination of service analysis is performed to determine the scope of a service and the functions and behaviors that it represents. The Harmony™ method encourages a combination of Top Down, Bottom Up and Meet-in-the-Middle analysis to view problem from several angles. The result is a specification identifying the service boundaries and operations. The analysis will also identify the business logic, constraints, persistence, security and other functionally significant elements.

A core concept of Harmony™ is to ‘succeed fast’ or alternatively, ‘fail fast’.  A common mechanism used to reduce risk in software implementations is the prototype. The goal of the prototype is to create a rough draft of the systems, or portions of it, so that users and stakeholders can get a better understanding of the final product. In prior methods, most of the work around prototyping has focused on the GUI or presentation layer. We are continuing to promote these concepts but are also suggesting that a “dummy service” be created that the UI model connects to. The goal is to find deficiencies in both UI and service models in parallel.

Stage 3: Contractual Service

A service is considered 'contractual' when the contract is defined (the service interface and associated policies). A service interface is a digital representation of the functions provided by a service. Service interfaces are typically described using a metadata model or markup languages such as IDL or WSDL. Accompanying the interface are policies that describe the non-functional requirements of the service like security, reliability and transactional integrity. The service interfaces are a tangible artifact that can be handed to downstream participant for either prototyping or realizing production implementations.

Stage 4: Built Service

A built service is one that is “code complete”. The code could come from internal coding efforts, off-the-shelf, outsourced, etc. Various paths exist to obtain a working service and should be explored.

Stage 5: Integrated Service

An integrated service is on that has passed a certain level of certification. Many organizations have design guides, or policies that software assets must adhere to. It is common for the criteria to include reviews of the technology standards used, message exchange patterns, cardinality constraints, use of enterprise information models, etc.

Stage 6: Released Service

After a service has been created (or obtained), it is necessary to deploy the service to a hosting environment. In a service oriented enterprise, it is likely that the deployable unit also be registered with various elements of the infrastructure such as a intermediaries, registries or repositories.

Stage 7: Managed Service

A managed service is one that has been deployed and is ‘under management’. This means that operational instructions have been documented and personnel have been trained to monitor the service. It is common that the service is benchmarked against predetermined service level agreements. In a managed service environment, utilization rates, latency and general usage is monitored. Reports are generated and fed back to ‘service owners’.

 Stage 8: Utilized Service

A service is considered utilized when the first consumer begins using it. This stage is noteworthy because it changes how you deal with changes and versioning. 

 

 

 


 

Request More Information