Theme:
Service-Oriented Architecture [SOA]
Rating: 58 user(s) have rated this article Average rating: 4.9
Posted by: Chandra Hundigam, on 6/20/2007, in category ".NET patterns & practices / Design / Architecture"
Views: this article has been read 1249335 times
Abstract: A service-oriented architecture is a collection of services. These services are designed to communicate with each other. These services communicate with each other that satisfy a business need. These services could be a single service call or nested complex service calls.

Service-Oriented Architecture

 Introduction

As we know today many companies face bottlenecks to adapt their organization technologies to frequent Information technologies changes. And also face difficulty in integrating distributed systems across there internal/external cooperation’s and clients technologies. The greatest challenge for the organization is to interconnect there distributed applications with a set of loosely coupled process.

 Now Service Oriented Architecture (SOA) is being promoted in the industry as the next evolutionary step in software architecture to help IT organizations meet their ever more complex set of challenges. So loosely coupled with SOAs is an approach to distributed computing that regards software resources as services available on the network. Consumers can access these to these desired services in loosely coupled model. SOA is typically a method for accessing these systems through wide collection of interfaces that provide two way communications between many types of application processes

 What Is Service-Oriented Architecture?

Service oriented architecture (SOA) is essentially a collection of services. It’s the aggregation of components that satisfy a business need. These services communicate with each other. These services could be a single service call or nested complex service calls.

 SOA comprises components, services, and processes. In SOA Business processes, presentation rules, business rules and data accesses are split into separate, loosely coupled layers. And each layer communicates with one another to provide the consumer with respective information.

comprises components, services, and processes. In Business processes, presentation rules, business rules and data accesses are split into separate, loosely coupled layers. And each layer communicates with one another to provide the consumer with respective information.

Moreover SOA offers the possibility to reuse existing applications and to transform them into more flexible services. So an application can be said to be SOA model, if it is loosely coupled, distributed, business oriented, invoked and published. SOA does the separation between the interfaces and the implementation.

 Following figure below shows a basic service-oriented architecture.

 

The above figure depicts that service consumer does the service request using service request message to the service provider. And service provider replies the request with a response message back to the service consumer. The Request and Response message are defined in common understandable between the both consumer and provider.

 Role of Web Services

Web services represent an interesting technology for the world of inter-and intra-company applications integration. Web services makes up connection between applications. This means organizations can move information from application to application as well as creating composite applications by integrating any number of back end applications services. Web services are the set of protocols by which services can be published, discovered and used in technology neutral, standard form.

Web services has an interface described in a format that machines can process called as Web service Description Language (WSDL). And this interface contract defines the behavior of the service and the messages they accept and return. The entire interface contracts must be implemented as platform- and language-independent. Therefore, messages are typically constructed using XML documents that conform to XML schema. XML provides all of the functionality, granularity, and scalability required by messages. Since these interface definitions needs to discovered by the consumer, the service provide publishes the interface definitions to a directory of services. The directory could use Universal Description, Discovery, and Integration (UDDI). Other forms of directories can also be used.

 SOA requires that a service have a platform-independent interface contract. So XML fulfills this requirement. And similarly SOA insists on interoperability, So HTTP protocol is mainly used as connection between consumer and service providers in wide platforms.

requires that a service have a platform-independent interface contract. So XML fulfills this requirement. And similarly insists on interoperability, So HTTP protocol is mainly used as connection between consumer and service providers in wide platforms.

So conclusion is Web services play a major role in a SOA implementation. This is because web services are built on top of well-known and platform-independent protocols. These protocols include HTTP, XML, UDDI, WSDL, and SOAP.

Blow figure shows a simple model which depicts how SOA can fit into any existing enterprise applications.

 

So SOA added a layer of abstraction.

Should You Be Thinking About an SOA?

Many IT companies are implementing SOA to increase agility, faster and cheaper integration, the leveraging of existing IT assets and a focus on business processes. Application integration is one of the major issues companies face today; SOA can solve that. System availability, reliability, and scalability continue to bother companies today, SOA addresses these issues. SOA enables fast modifications of business rules, Capacity to measure the efficiency of a business modification, No more functions and components redundancy, Focus on the functions, not on their implementation.

Conclusion

Service-oriented architectures are rapidly being accepted by the IT companies. Many companies are refractor current applications for building and deploying services across the extended enterprise. However, practical implementation of these architectures requires careful planning and understanding. 


About Author
Chandra Hundigam
Author image I have Master’s degree in Computer Application, Microsoft Certified Professional and Software Architect. My experience significantly involved in enterprise application development and distributed object oriented system development using Microsoft .Net technologies to serve global giants in the Media, Finance, Mortgage and Software Industries. I am currently doing Independent Software Consultation for various US-based companies.

How would you rate this article? 1-Poor and 5-Excellent

User Feedback
Comment posted by Hari Mohan on Thursday, August 27, 2009 1:10 AM
Nice article !

Post your comment
Name:
E-mail:
Comment:
Insert Cancel
Translate
Search

 
Top Rated Articles
Popular Articles
Popular Links
Newsletter
Register to the site for free, and subscribe to the newsletter. Every month you will receive new articles and special content not available elsewhere on the site, right into your e-mail box!

Archived Newsletters