Basic Dynamics of SOA and Service Modeling

Previous Blog Posts


In previous posts we identified what is a service. In this post let’s have a feeling about Service Inventory and Service Composition. Later discuss about Service modeling.

 

 

As illustrated in the above diagram we build services to support different problems. All those services are placed in a store which we name as Service Inventory. Using the inventory we can take one or more services and bind them together to produce a service which can be a solution for a another problem. This approach is known as service composition.  Above is the simplest explanation regarding Service, Service Inventory and Service Composition.

Now we have the fundamental knowledge about basic concepts of SOA. So let’s start the SOA designing from the basic level: “Service Modeling”

The first step in service modeling process is to identify and organize large logical units, so that they can be reassemble into service oriented solutions. Which means we need to group and categorize these according to the nature of their logic. When grouping the logical units there are two main categories: Agnostic and Non Agnostics logic

 

Agnostic Logic does not have any relationship to a parent task. So it can be used in multiple purposes. Hence it’s a reusable component and will help to automate multiple business process.

Non Agnostic Logic is concentrating on a single purpose task. Therefore it’s mainly designed as a single purpose solution.

 

With the logical units we can model the Services. There are four main types of Service Models.

  1. Task Service :- A service with non-agnostic functional context which correspond to single purpose, business process logic
  2. Microservice :-  A non-agnostic service often with a small functional scope encompassing logic with specific processing and implementation requirements
  3. Entity Service :- A reusable service with agnostic functional context
  4. Utility Service :- Again a reusable service with agnostic functional context. But will not cover business requirements. It will cover the low level technology functions like logging, security and notifications

With the above service categories and the logical unit behaviors let’s Breakdown a business problem and design the Service Oriented solution in the next post.

 

References

Read More