Thursday, April 7, 2011

SOA-Service Oriented Architecture

Service-Oriented Architecture, or SOA, enables IT Organizations to make the transition from an application-centric view of the world to a process-centric view, and, because the integration mechanism of SOA (usually Web Services) enables loosely coupled integration, organizations can upgrade or change applications without impacting other applications.
Service-oriented architecture is a group of services that communicate with each other. The process of communication involves either simple data-passing or two or more services coordinating with some activity. Intercommunication implies the need for some means of connecting services to each other. SOA uses the Web services standards and technologies and is rapidly becoming a standard approach for enterprise information systems.
Web services face significant challenges because of particular requirements. There are many problems that are to be addressed when applying the SOA paradigm to a real-time system, which include response time, support of event-driven, asynchronous parallel applications, complicated human interface support, reliability, etc.

Oasis defines SOA as — “An architectural style whose goal is to achieve loose coupling among interacting software agents / services.”
In SOA, application logic is in the middle-tier for me it was Tuxedo, operating within numerous technologies most of the time its integration with third party applications.


(image taken from http://www.sun.com/)

To test SOA, you need to go far beyond merely testing a user interface or browser screen as you never find an attractive UI while testing these apps as most of the time you’ll be sitting at backend verifying XML’s with UNIX , Tuxedo or Tibco and weblogic logs.


(image taken from http://www.tibco.com/)

Web Services (WSDL/SOAP) will be an important component for many SOAs.
Let’s discuss them a bit.
SOAP is a simple XML based protocol to let applications exchange information over HTTP.
Or more simply: SOAP is a protocol for accessing a Web Service. It is important for application development to allow Internet communication between programs.
Today’s applications communicate using Remote Procedure Calls (RPC) between objects like DCOM and CORBA, but HTTP was not designed for this. RPC represents a compatibility and security problem; firewalls and proxy servers will normally block this kind of traffic.
A better way to communicate between applications is over HTTP, because HTTP is supported by all Internet browsers and servers. SOAP was created to accomplish this. SOAP provides a way to communicate between applications running on different operating systems, with different technologies and programming languages. WSDL (Web Services Description Language) is an XML-based language for describing Web services and how to access them.
Basically WSDL is a document written in XML. The document describes a Web service. It specifies the location of the service and the operations (or methods) the service exposes.
when you deploy the code in your test environment normally the wsdl url is present in /init.properties file, before building the code just make sure that the correct URL to which Webservice need to hit is added.
Once code is build then deploy the ear files into weblogic servers and just restart them.
In order to efficiently use a SOA, one must meet the following requirements:

•Interoperability between different systems and programming languages should be present.

•Desire to create a federation of resources. Establish and maintain data flow to a federated data warehouse. This allows new functionality developed to reference a common business format for each data element.

No comments:

Post a Comment