“Services” is the buzz word these days.
So what are Services in SOA?
Services are broadly classified into two categories Business Services and Technology Services.
Let’s explore these with the example of a fictious insurance company “XYZ”.
For the sake of this example assume that there are just three departments (domains) New Business, Renewals and Claims.
New business as evident from the name issues new policies to the consumers and the business process ( for issuing a new policy) includes the following steps.
Capture Driver Info
Capture Vehicle Info
Get Prior Insurance Info
Get Accidents Info
Calculate Premium
Process payment
Issue Policy
The ones in bold above are the best examples of business services that support the underlying business process.
Make a note that we have not talked about technology yet.
Renewals on the other hand has the following steps.
Get Accidents Info
Calculate Premium
Process Premium
Issue Policy
Now if you are designing/building a system to process renewals it is important to not only have a vertical view of the domain but also have a horizontal view across domains(New business and claims in our example) to make sure that the information you need is available or not.
As you noticed that there are similar business services available in New Business.
The question is how Renewals will be able to use the Business Services from New Business.
The answer could be the much talked about Web Services. However, great care should be taken to expose a business service as a web service. Not every business service is a candidate for a web service. If some of these business services are very specific to a particular domain, we have to think twice before exposing these services as web services.
Now let’s talk about Technical Services.
Technical Services are services that will help build business services. These could be set of common services like logging, security etc….
Enterprise Frameworks built on .Net and Java assist in accomplishing these tasks. Frameworks however has a much broader scope. It is a vertical that can be used across horizontal layers like (UI, Business Services, Data Services, Utility Services)
Now that we have a determined that GetAccidentsInfo is a good candidate to be exposed as a web service, we will create one using WCF.
Monday, January 19, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment