Skip to main content

What is SOA?


SOA has become a de-facto standard for system development and integration of new with existing legacy solutions running and supporting complex business processes. SOA, as IT world has always a fancy term for any new technology,elaborates to Serivce Oriented Architecture, is not a new term and has been around with emergence of webservices.

In order to understand SOA, we must first understand what a webservice means, which is sometimes referred as crux of SOA,not always though.A system does not necessarily need to use web services and all related standards to be "service-oriented." For example, some service oriented systems have been implemented using Corba,DCOM,RPC, Jini and REST.A webservice is defined by a set of processes over a network which is a manifestation of some physical entities like databases,devices,programs.


It is an interface or gateway for one program/device/system to have a controlled access over a network to other program/device/system like humans need some sort of GUI to interact with one system. A webservice accepts a command as a SOAP envelope to expedite some task and sends response in a form of SOAP envelope too. 


SOAP(Simple Object Access Protocol) is protocol which uses XML based messages generally over HTTP.A webservice is loosely coupled and flexible , it means a consumer of a web service is not tied to that web service directly; the web service interface can change over time without compromising the client's ability to interact with the service.


 A tightly coupled system implies that the client and server logic are closely tied to one another, implying that if one interface changes, the other must also be updated. Adopting a loosely coupled architecture tends to make software systems more manageable and allows simpler integration between different systems.

Apart from SOAP, other key constituents of a webservice are WSDL and UDDI.

WSDL(Web Services Description Language) is an XML technology that describes the interface of a web service in a standardized way. WSDL standardizes how a web service represents the input and output parameters of an invocation externally, the functions' structure, the nature of the invocation (in only, in/out, etc.), and the service's protocol binding. WSDL allows disparate clients to automatically understand how to interact with a web service.

UDDI(Universal Description, Discovery, and Integration - An XML-based registry to publish service descriptions (WSDL) and allow their discovery.UDDI is used to discover available webservices by searching for names,identifiers,categories or specifications implemented by the web service.

SOA is an extension to EAI(Enterprise Application Integration), which is technology independent whether it is Java,.Net,CORBA or webservices.This has given rise to enormous potential of varied and vast scope of application integration in fast changing,ever evolving and getting more and more complex business requirements.Since the large organizations have lot of existing systems over different geographical locations,with different operating systems using different technologies doing different business operations, these organizations have found SOA as a big solution to their burgeoning problem of keeping their IT budgets in control vis a vis addressing their growing business requirements.



The continuous IT growth within organizations have given rise to a new level of complexity and challenge to bind existing legacy,business critical solutions with new ones and that's where SOA fits in putting all different pieces together.When all the hype associated with SOA will reside and organizations will get more close to reality then its fruits will be reaped.
SOA has some ground features which drives development and maintenance of SOA based solutions:

  • Extensibility
  • Interoperability
  • Loose Coupling
  • Reusablity
  • Granularity
  • Modularization
  • Componentization
  • Services Identification and categorization
  • Services Provisioning and delivery
  • Services Monitoring and tracking
  • Basics of Object Oriented Technology like Abstraction,Encapsulation

Comments

  1. Your view is way to technical.

    The first thing to understand about SOA is "What is a Service".

    ReplyDelete

Post a Comment

Popular posts from this blog

Java Health Center - Overview and Features

This video highlights the features available in Health Center. Health Center is a low-processor and memory usage diagnostic tool for monitoring the status of a running IBM Java Virtual Machine (JVM). Health Center provides live information and recommendations in each of the following areas: - Classes: information about classes being loaded - Environment: details of the configuration and system of the monitored application - Garbage Collection: information about the Java heap and pause times - Locking: information about contention on inflated locks - Profiling: sampling profile of Java methods including call paths

WebSphere MQ Interview Questions

What is MQ and what does it do? Ans. MQ stands for MESSAGE QUEUEING. WebSphere MQ allows application programs to use message queuing to participate in message-driven processing. Application programs can communicate across different platforms by using the appropriate message queuing software products. What is Message driven process? Ans . When messages arrive on a queue, they can automatically start an application using triggering. If necessary, the applications can be stopped when the message (or messages) have been processed. What are advantages of the MQ? Ans. 1. Integration. 2. Asynchrony 3. Assured Delivery 4. Scalability. How does it support the Integration? Ans. Because the MQ is independent of the Operating System you use i.e. it may be Windows, Solaris,AIX.It is independent of the protocol (i.e. TCP/IP, LU6.2, SNA, NetBIOS, UDP).It is not required that both the sender and receiver should be running on the same platform What is Asynchrony? Ans. With messag...

Java Garbage Collection

Explain Garbage collection mechanism in Java? Garbage collection is one of the most important features of Java. The purpose of garbage collection is to identify and discard objects that are no longer needed by a program so that their resources can be reclaimed and reused. A Java object is subject to garbage collection when it becomes unreachable to the program in which it is used. Garbage collection is also called automatic memory management as JVM automatically removes the unused variables/objects (value is null) from the memory. Every class inherits finalize() method from java.lang.Object, the finalize() method is called by garbage collector when it determines no more references to the object exists. In Java, it is good idea to explicitly assign null into a variable when no more in use. In Java on calling System.gc() and Runtime.gc(), JVM tries to recycle the unused objects, but there is no guarantee when all the objects will garbage collected. Garbage collection is an automatic pro...