Advertisment

EAI with Service Oriented Architecture

author-image
PCQ Bureau
New Update

The increasing needs of enterprises have always forced

technology to evolve. The advent of the OOP had a major impact on how

technologies were harnessed. Service Oriented Architecture or SOA holds the

torch ensuring that it can meet the demanding business requirements.

Advertisment

SOA is a type of enterprise architecture whose core focuses

on the requirements of the enterprise applications. The architectural pattern of

the SOA is based on the approach that considers the software components as

services over the network. Attempts to propose this approach were made

previously by technologies like DCOM and CORBA. However, due to their inherent

features, they could never emerge as a standard that can be used across the

industry. When implementing these technologies, each end had to be aware of the

implementation on the other. This has made the coupling tight, taking away the

benefit of the service orientation.

Direct Hit!
Applies to:

Microsoft BizTalk Server 2004, SOA
USP:

BizTalk Server 2004 uses the SOA approach to create a robust and scalable middleware product that targets the EAI

Primary Link:

www.microsoft.com/biztalk

Google keywords:

Service oriented architecture

In a stark contrast to these, the SOA relies on its

fundamental principles-exposed functionality, document messaging, loose

coupling, and platform independence and service autonomy.

Advertisment

The SOA statement states that each application is

autonomous and has explicitly defined boundaries. These applications expose

their services as a contract. The contract details the information about the

service rather than its implementation. For the service to be accessible by any

client, the contract should be published in a standard format that can be

understood by the client irrespective of its platform or language of

implementation. So in effect, the implementation of the service is hidden behind

this contract.

XML messaging



XML, being ubiquitous, holds the privilege of exposing this contract.

Therefore, a client who understands XML has the capability to consume the

service.In effect, SOA rises as a framework, capable enough of consuming the XML

to execute well defined sequence of routing, processing and transforming XML

messages. Now this can be about integrating the trading partners or two

departments in the same organization. It can also be about exposing a credit

card validation service or something as plain as processing the order. The

nature of the service will be defined by the participants that are involved,

different points in the solution that will be actually triggering the workflow

and also a with the security requirements for the solution. All these become

major deciding factors for the SOA solution.

Developing EAI solutions with SOA



The EAI solutions take care of integrating the various external

applications while defining a workflow for their interactions. Integration

projects can offer several benefits if they make use of the Service Oriented

Architecture. Most importantly, allowing loose coupling of the components in a

highly distributed environment. Each application that participates to complete

the EAI solution is achieving a certain function that contributes to the entire

solution. As we discussed in our previous articles, most of the times, this

application is not at all concerned and has very little or absolutely no

knowledge about the functionality and implementation of the other applications

participating in the integration workflow. This is exactly where the SOA jumps

in with its advantages of loose coupling. This makes it quite simple to add,

remove or reconfigure the components without actually breaking the process.

Another striking attraction about the Service Orientation is the

self-descriptive nature of the services. Due to this factor, it becomes very

easy for making the services extensible. Extensibility of individual components,

thus, participates in theextensibility of the entire solution. With SOA, it can

be easily extended to one or more services to create a totally new service that

is offering a combined functionality of all its participants.

Advertisment
With the Contract-first approach, the BizTalk Solution design actually starts with defining a contract to interact with the end systems

Moving up the discussion on the similar lines, we will see

how this architecture has moved up to support BPM (Business Process Management)

and EAI (Enterprise Application Integration) products, specifically aiming at

the Microsoft BizTalk Server 2004.

SOA in the BizTalk jigsaw



The BizTalk server 2004 implements the SOA not just as a part of the

functionality that is developed, but also as a development approach for anybody

who develops solutions with BizTalk. It approaches this in an interesting way

— the 'Contract-first' way of development.

Advertisment

As we have seen throughout our previous BizTalk articles

that the basic component of any BizTalk process is the message. Whenever BizTalk

interacts with any external system, it expects a 'message'. This can be any

chunk of data that the external application uses to communicate. The

'pre-processor' components, namely adapters and pipelines convert the data

received from the external system to the BizTalk Message. This message in

BizTalk is defined with its xml schemas. Effectively, a BizTalk developer needs

to first get his schemas in place in order to integrate with any external

system. Looking at it from the SOA paradigm, the BizTalk developer actually

starts with defining contracts that would simply 'plug' the end systems to

the integration.

Apart from the fact that this forces a Service oriented

development approach, this also helps in actually creating a very loosely

coupled architecture.

Looking at a fully developed BizTalk solution, we observe

that the BizTalk Server communicates with each end systems using a rich set of

adapters that can adapt to any protocol or system using its customizable adapter

framework. This arrangement ensures that any modifications to the existing

systems that contribute to the workflow will not impact the actual workflow till

the time the end systems follow the contract defined for them.

Advertisment

An example



Let's take a quick glance at how this is possible in the BizTalk

paradigm. To begin with, let's put up a scenario wherein our EAI solution

integrates an inventory system with other systems forming a complete workflow

for Purchase, Sales and Inventory management. Over a period of time, the

functionality offered by this inventory system becomes obsolete and the IT

decides to change it to its latest version.

As long as the new system respects the contracts that were

laid down for the interaction of inventory data, it can easily plug in the

existing workflow. A change in mode of communication would simply involve using

an appropriate adapter to suite the new system. Due to the loosely coupled

model, none of the other participating systems need to be aware of the change.

The impact is totally absorbed by the integration solution.

The adapter framework poses as an interesting feature with

the BizTalk 2004. It recognizes that even as we move towards service

orientation, there are applications that would not understand it. Obviously,

this would be a very common scenario in integration solutions. The adapter

framework acknowledges this and provides an elegant way to communicate with

these systems while still basing the service orientation at its core. This

provides a great deal of power and flexibility to the organization allowing it

easily to respond to the ever increasing business demands while still carrying

on with its legacy applications that it trusts for years.

Advertisment

Web services



.NET Web services are definitely what we can say implementations of

the SOA. The Web services, if designed properly, can form an excellent example

of service orientation. The BizTalk Server leverages the .Net web services

framework to provide its workflows as services over the network.

The server ships with the SOAP Adapter that helps the

orchestration not just to invoke the services but also to expose itself as a web

service. The web services publishing wizard allows the orchestrations to be

easily converted to ASP.Net web services thus allowing their interoperability

with other platforms. As a result the BizTalk workflows can be consumed by

anybody who understands WSDL. Albeit with some limitations about what can be

transformed to a service. Inherently, web services are not that supportive to

long running transactions as is the BizTalk orchestration. With BizTalk, a long

running transaction can span not just across minutes or hours, but it can be in

days, months or even years. 

A new emerging standard-the BPEL-poses as a solution to

the issue.

Advertisment
The wizard allows the orchestrations to be easily published to ASP.Net Webservices, increasing the interoperability with other platforms

Is BPEL just another standard?



Well, definitely not. The Business Process Execution Language or BPEL

is a standard for expressing the business processes in ubiquitous xml format so

that these can be exposed and used across various applications and platforms.

What it means to the organization is amazing ease and flexibility with porting

the workflows from one platform to the other. BPEL actually defines a language

to write workflows that can execute even long running transactions in a service

oriented way.

The BPEL (which is sometimes also known as BPELWS or

BPEL4WS for its closeness to the web services) is put forth as an industry

standard together by Microsoft, BEA & IBM.

The BPEL implementation gives an entry to the pure SOA

world wherein the participating applications communicate with exchange of

messages. All the functionality in an application or a component is exposed as a

set of services that can be consumed by its clients. The BPEL standard takes up

the responsibility to build workflows that manage the collaboration between

these services. BPEL actually proposes XML based language that can be used to

build the workflows. These workflows essentially involve the collaboration

between various participating applications. The applications necessarily follow

a service oriented pattern wherein all its functionality is exposed as services.

The consumer (in this case, the BPEL workflow) would get to know the services

from their self-exposed descriptions and hence would be able to actually invoke

the services during the workflow execution.

Even though the BPEL does not take care of workflow

functions like message mapping and transformations, it allows such functionality

to be exposed as additional services, consuming them as any other.

The BizTalk 2004 implements the BPEL standard by enabling

BPEL 1.1 complaint processes and converting them to XLANG — Microsoft's

proprietary language for defining processes. BizTalk also supports exporting

it's orchestrations in the BPEL format. This allows easy sharing of the

business process along with the huge advantage of platform independence that

comes as a parcel with the BPEL.

Coupled with these advantages is another major benefit that

ensures that the long running transactions in BizTalk can be exposed and

consumed as a service from other applications just like any other.

The complete picture



The Service Oriented perspective looks at extensibility and

scalability of the applications. The applications now no longer remain opaque

procedural implementations but they actually reflect the needs of the

organization while abstracting all the confusing technicalities.

The BizTalk server 2004 is based firmly on the SOA grounds

while keeping in mind the fact that such systems do exist that do not know SOA

and that these cannot be overlooked. It leverages the .NET Web services to

expose itself so that any WSDL aware client can invoke its workflows.

Overall, the BizTalk Server and its framework turns out to

be an active supporter of the SOA. And what's more is that what we have

discussed here is just the beginning of the agile business.

Sanket Bakshi, Sr Technical Associate, Mahindra British

Telecom

Advertisment