Advertisment

Service Oriented Architecture

author-image
CIOL Bureau
Updated On
New Update

GURGAON, INDIA: 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.

 

Advertisment

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.'

Advertisment

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.

 

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.

Advertisment

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.

 

----