Enterprise SOA Reference Architecture
Enterprise SOA Reference Architecture
[email protected]
http://www. architecture-soa-bpm-eai.blogspot.com
Tushar Jain
http://www. architecture-soa-bpm-eai.blogspot.com
Contents
Here I propose SOA Enterprise Reference Architecture. This is for enterprise and
certainly for an application it should be inspiration.
Service Providers
At this layer EAI exist. Some may argue that SOA is one form of integration then how
EAI can exist at this layer. I will discuss this argument in one of my future posting but
not now.
Services Layer
This layer is consists of multiple sub layers which encapsulate different class of
services. It encompasses Connectivity Services, Data Services, Business Activity
Services and Business Process Services. Each layer in turn consists of other sub-types
of services.
These services though in layers but still breach layered architecture to expose these
services independent of layers and for better performance. These services can also
be exposed to multiple ESBs if situation warrants.
2. Data services comprises of services, which caters to Business, Technical and Meta
data related services.
Orchestration
Routing
Mediation
Enrichment
Some ESBs may provide one more functionality - Choreography. This functionality is
associated with BPM systems and currently none of Commercially available ESB
provides the same.
Presentation Services
These services support various user interfaces (human or machine centric) and let
outer world (intra & inter enterprise) interact with enterprises IT assets. The
consumers of presentation services are
Human
Thin Client
Thick Client
Machine
These types of interfaces are not very obvious but very prevent at enterprise
level. Application level interaction (Software to software) and interaction with various
devices like RFID tags, Bar code readers, etc (Hardware to Software or vice versa)
are part of this type of interfaces.
Most of the large enterprises also get integrated with external world. This integration
is both ways - information flow is in both directions. To further complicate the
scenario, enterprises increasingly using SAAS. This situation requires special attention
and tools. In case of integration with business partners B2B Engine plays major role
in conjunction with Partner services. SAAS services may be consumed directly or via
B2B engine. In case of Human interaction (CRM - Salesforce.com) B2B Engine should
be bypassed but for m/c interaction or substantial data transfer (Document
management for insurance companies) B2B engine should be engaged.
Security
Security in SOA is one of the biggest concern due to distributed & heterogeneous
systems interacting with each other. The security related aspects should be handled
at each level of enterprise. In the proposed model security is considered from
physical and virtual perspective. It also takes into account security from network and
application view.
At monitoring front it take care of Technical - For support staff, Process & Managerial
- For business process owners & managers and Executive - for top rung of business
leadership requirements.
Governance
Service Life Cycle Management essentially helps in managing service life cycle from
its conception to decommission. This is one of the vital components, which determine
the success of SOA initiative in any enterprise and also its long-term viability.
Service Directory
Service directory essentially consists of UDDI, which facilitates consolidated listing of
services.
Event Management
To exploit SOA to its full extent event handling plays crucial role. In SOA environment
Events can be classified into three categories
1. Generic Event
Event fired/raised in response of event or interaction with other service/s.
These are events which fire/raise other events or results due to interaction of services
in ecosystem.
2. These events should be formatted as per the event protocol defined in ecosystem,
so that theses event are available to entire ecosystem for further processing.
Ø Event Pre-processing: Check that mandatory attributes are present in the incoming
events
Ø Event Refinement: Introduce the other system-generated attributes like start time
etc.
Ø Situation Refinement: Check the target status on which action would be performed
Ø Impact assessment: Required result assessment after that impact applies on the
target
3. Event factory determine the specific type of action, which the given event have.
4. Event listener executes the specific action, which stated at the specific action code.
There we have some general action apply to all type of system is present in generic
action code and specific to specific action is present in the specific action listener
5. Event listener executes the action and calls the required system to complete it.
7. Some events which need further processing from some other services or may be
generate other event in response of event is send back to the event engine
8. Event in response of event is again run as a new event and again it initiates its
processing cycle in the event engine
Scheduled event delivered to a service at specific time in the future. Event deliveries
can be deferred for short periods of time (such as seconds or minutes) or for long
stretches of time (for example, hours later for batch processing). Until that delivery
time, the Event is essentially invisible until it is delivered, allowing you to schedule
work at a particular time in the future.
Transaction Management
Remediation Framework
Remediation framework plays very important role in any SOA ecosystem. It can be
though of extension of Error & Exception Management and Transaction Management
frameworks. Remediation framework leverages Error & Exception Management
Framework by utilizing logged error & exceptions. It also supplement Transaction
Management Framework via helping to implement relaxed ACID where human
intervention might be needed. Remediation framework also makes whole of SOA
ecosystem robust via utilizing compensatory services.
Relationship
In SOA ecosystem Security, Governance, Operations, Quality are closely related. Each
face of SOA ecosystem affects other.