Advertisment

Service Oriented Architecture

author-image
PCQ Bureau
New Update

Service Oriented Architecture is on every enterprise executive's to-do list

nowadays. It lets enterprises weave together disparate business applications

such as SCM, ERP or CRM to ensure each application's independent functionality

while enabling them to collaborate with each other within a large-scale business

process at the same time. Enterprises need interoperability and resource sharing

across multiple channels and application platforms to achieve modularization of

business functions for greater flexibility and reusability of business

processes. This allows them to expand their business and offer new services to

customers faster than traditional methods. SOA is touted as a viable way to

overcome complexities involved in creating such a business eco-system of

collaborative business applications.

Advertisment
The story so far:
  • Industry specific Maturity models for SOA

    implementation emerged.
  • More applications and development

    platforms became SOA compliant.
  • Microsoft and Sun introduced .NET and Java

    specifications for building SOA compliant applications.
  • IBM introduced an online concept called

    SOA in a sandbox to help organizations get a feel of the same.

An enterprise has various business applications deployed, be it CRM for

handling customers effectively or SCM for ensuring smooth flow of supplies, etc.

But all these applications have their independent platforms and are not designed

to integrate with each other. To get business processes of different

applications to collaborate with each other, enterprises will have to do

over-hauling of their applications, which would make updating the core

application code a tedious and expensive exercise. For example, take an

automobile manufacturing firm, which wants its dealers to remain informed about

the status of the delivery of cars and also about those that are in stock, their

expected deliveries along with data about their specifications. This would

require the firm to extend a small functionality from its SCM business process

to the dealers, which would be done though the authentication of that dealer and

this data would reside in a separate database application. To make this process

happen would require complex code restructuring and time. This is where SOA

comes into the picture, as it leverages a framework upon which common business

processes or functions can be used interchangeably by different departments of

the enterprise internally and by external business partners. SOA helps an

enterprise to interlace their existing information technologies together or to

adapt them to work with new business applications and in process avoid the cost

of replacing or rewriting the core application's code. As enterprises become

more dependent on electronic processes, they have to adopt new technologies. But

they can't dispose legacy applications on which their whole business

information/data exists. SOA thus becomes an important technology as it solves

the problem of interoperability amongst applications on different platforms and

also provides a way for data aggregation and collaboration amongst them.

Technologies that enable SOA



SOA, as the name says is not a programming language but an architectural

style where small units of business logic of applications are organized as

services, to be combined together and reused to communicate with each other and

pass data amongst them. These SOA application services are independent of the

underlying applications and thus can be used to integrate various heterogeneous

legacy systems and applications. The services communicate with each other for

information retrieval via a programming interface. The most popular interface is

the use of XML over HTTP, known as 'Web Services.' However, SOAs are also

implemented via .NET and J2EE/RMI, as well as CORBA and DCOM, the latter two

being the earliest SOA interfaces, then known as 'Distributed Object Systems.'

CORBA and DCOM were not able to successfully integrate among applications across

different platforms as they were not centered on any business processes. But the

use of XML as the language to interpret data amongst applications, and SOAP as

an envelope to package and deliver services has become a standard for SOA based

applications. The API for such services to create business logic can either be

on .NET or Java and would interact with enterprise business applications for

data collaboration.

Advertisment

Evolving trends



As SOA is one of the key implementations going around in enterprises to cater to
the need of integrating systems and to adapt to constantly changing business

environments, there is a new breed of EAI (Enterprise Application Integration)

vendors coming up. These are the SOA platform vendors, who provide development

and integration of the business processes for SOA model based applications. The

major market drivers in this field are IBM, Oracle, BEA and SUN. Incidentally

BEA was the first to offer a unified SOA based platform to integrate business

processes, applications, and legacy environments for an enterprise. Since the

process of SOA deployment in enterprises is customized and not specific in

nature, these vendors need to categorize the market accordingly to prosper and

sustain in the competitive arena.

For enterprises, SOA implementation is not a onetime work but a repetitive

process. However, once initiated, SOA carves a path leading to optimization of

all business processes for the enterprise. And because of this, many SOA vendors

have modeled their own frameworks to follow for total SOA optimized services for

an enterprise. This model, mostly termed as Maturity Model, starts with

integration of business processes and gradually leading to optimization of those

processes. IBM has its own seven-layer model called as Service Integration

Maturity Model. Similarly, Sonic Software has a five-step model termed as SOA

Maturity Model. The SOA vendors along with enterprise IT managers identify and

define business processes of the enterprise needed for SOA implementation. They

benchmark them for their strategic and business benefits across different stages

of SOA adoption that leads to optimization of SOA services.

The adoption of SOA provides significant potential to enterprises to improve

the value they derive from their IT investments, in terms of increased

flexibility, improved use of assets, alignment with business objectives, agility

to develop new applications from existing systems, and reduced integration

costs. The key to successful SOA deployment shall always be how the platform

vendor has mapped and understood business processes of the enterprise correctly.

Advertisment

Hot SOA areas



With SOA addressing many issues of IT departments, it needs to overcome many

others to cater to the growing demands of dynamically changing business

environments. Some issues like security concerns around Web Services compliance,

management of services etc remain to be implemented. SOA governance is one

framework which is an extension of IT governance focusing on lifecycle

management of business services of an enterprise's SOA-based application.

Service lifecycle management will focus on how services are to be developed,

deployed and managed. SOA governance supplies the decision rights, processes and

policies for such deployment and development of services. Since SOA facilitates

cross application usage of services, it becomes mandatory to ensure that

relationships between services and parties are managed and that there is

compliance with the standards and procedures under which an organization

operates. And SOA governance is the mechanism to ensure that such a decision

making and policy following structure is in place.



Future Predictions
  • With adoption of Web Services picking up,

    organizations would move towards a Web-Oriented Architecture where

    Mash-ups would be commonly used to develop the custom business processes.

    Therefore enterprises would have to adapt to mash-up based development

    architectures.
  • SOA 2.0 — the next generation version of

    SOA that would combine both the service-oriented architecture and the

    event driven architecture (EDA) whereby software modules are related to

    business components based on events and alerts rather than direct calls

    among them.
  • SOA sets up the foundation for the next-gen

    of business intelligence systems which would provide seamless integration

    among various enterprise applications like CRM, ERP etc to be brought

    under single BI solution package.
  • Web 2.0 applications in conjunction with

    SOA framework are already shaping up the platform for Web Services based

    business operating platform for enterprises.

Another area where SOA seems to create interest is its integration with Web

2.0. Enterprises are now implementing SOA and using Web 2.0 to reach out to new

customers and providing them more effective usage of business applications. In

Web 2.0 'mashups' is a way of extending capabilities from existing Web-based

applications in a new way to create a new value for the customer. SOA-based

services are the building blocks on which Web 2.0 Mashups are created. Thus by

combining Web 2.0 with SOA would result in creation of applications that can be

quickly developed and implemented, and that too at a lower cost with reusability

of services. SOA represents the next step for an enterprise to increase its

competitiveness while preserving its information assets on legacy applications

to interoperate with newer technologies. By having flexibility and agility to

develop applications based on SOA services they can extend the capabilities of

their SOA deployments to newer customers and transform themselves as on-demand

businesses and hence garner the returns on their investments.

Advertisment