Geeks With Blogs

News Dave's Mug View David Oliver's profile on LinkedIn Add to Technorati Favorites Blog Directory for Guildford, Surrey

Dave Oliver's Blog Enterprise Technology Thought Leadership in a FTSE 100

In the next two posts we are going to discuss SOA which as you may know if you read this blog regularly is a pet subject of mine.

I’ve encounter many a good person that is fully aware of SOA and its much hyped benefits but this doesn’t help them visualise it, hence these posts which are for you good people.

The logical model is my interpretation of SOA, it may not be everyone’s interpretation, so if it’s not I would love to hear from you.

The SOA logical model has 6 layers, Existing Systems, Data Transport, Functional Services, Business Process Logic, Business services and Presentation.

Essentially my SOA logical model follows the guiding principle of three tier architecture where the presentation, business process logic and data. The extra layers, business services and functional services are abstraction layers that insure that the main three tiers aren’t tightly coupled together and protects them from implementation technologies and communication protocols etc, all the extra stuff that can make presentation and business logic needlessly complex and detracts them from their main function.

It is important to note that the logical model does not necessarily equate to the number of layers in a physical implementation, in the next post I will give an example of an SOA implementation using Microsoft Technologies.

Presentation Layer

The presentation layer categories the user interface and its different types of implementation for example, web-pages or windows clients of many descriptions that can be deployed via many means.

Business Services Layer

The Business Services layer presents course grain business services that encapsulates and abstracts the complexities of the technical implementation underneath. The course grain business services equate to business processes which are not tied or trapped in a specific software application.

The Business Services Layer is further categorised into three parts, Enterprise Services, Process Services and Event Services. The section titled, ‘XML Service types’ covers these in more detail.

Business Process Logic Layer

Business processes are created, maintained and executed in this layer. Although this layer is likely to be made up of many different products it will essentially be split into two areas,

• Synchronous service - synchronous calls concentrate on simplicity and performance and will have a limited amount of orchestration if any at all.
• Asynchronous service - asynchronous calls that may include long running transactions or orchestrations across different services and services layers.

Functional Services Layer

The functional services layers is the entry point into the data transport layer. This layer protects the business logic layer from needing to know about technical implementations underneath reducing the complexity business logic will need to endure as there is a consistent interface.

Data Transport Layer

The data transport layer communicates directly with existing systems in their various different protocols and technologies. The transport layer deals the complexities of communicating with all the different platforms and software so this complexity is not exposed to the above layers. An Enterprise Service Bus is usually positioned in this layer.


Existing Systems Layer

This layer represents the different multitude of existing and legacy systems and interfaces (internal and external) which the data transport layer will connect to.

XML Service types

The XML services are separated into different categories. These different categories represent services that have a similar utilization and configuration. The main benefit of using these categories is to simplify development, implementation and support & monitoring of the services.

Entity Services
Represent simple atomic operations on an entity. An entity in this context could be a simple CRUD data operation for example.

Activity Services
Coordinate several Entity Services to enable Business Function execution
(UpdateCustomer, AddProduct for example) and implement common business transactions.

Process services
Represent long running business processes that may involve complex workflow and human interaction.

Enterprise Services
Represent enterprise wide services, or public services, i.e. Internet/B2B. These may require a maximum security configuration that may not be applicable for other service categories as they could be in trust domains. Also these services may need to enjoy a higher level of robustness and resilience.

Infrastructure Services
Provide common functionality to other services, represent horizontal common services across organisations enable security, management and metering/monitoring/audit, e.g. authentication, authorization, logging and exception management.

Event Services
Notify subscribers of interesting events triggered as a preferred alternative to using the ‘polling’ for notification of a data change.

Posted on Tuesday, July 11, 2006 11:29 AM SOA , Main | Back to top


Comments on this post: SOA Logical Model

# re: SOA Logical Model
Requesting Gravatar...
Hi Dave, This is a very good article. I have just skimmed it now and am bookmarking it to read in depth shortly. Discussing the logical layers and giving examples of services was a great idea. I've been reading through Thomas Erl's new book on SOA and he puts forth ideas similar to what you have done. Btw, i have just been reading up on the Connected Services Framework from MS to see what it has to offer from a architecture perspective that i can apply to my projects. Looking forward to reading about the Customer Care Framework also,.

Cheers,
Benjy
Left by Benjy on Jul 15, 2006 8:16 PM

# re: SOA Logical Model
Requesting Gravatar...
What happened to the SOA logical model pic? I'd like to see how you imagined your 6-layers!

M :)
Left by Matthew Hodgson on Jan 04, 2008 5:13 AM

# re: SOA Logical Model
Requesting Gravatar...
Many Thanks for pointing that out Matthew!

It seems the image was lost in a recent GWB update, so I have now put it back.

Left by Dave Oliver on Jan 08, 2008 3:49 PM

Comments have been closed on this topic.
Copyright © Dave Oliver | Powered by: GeeksWithBlogs.net