Service oriented architecture or SOA essentially consists of various services that communicate with each other, usually in asynchronous fashion. These services are not bound to any particular language or technology and can be implemented by various means. They either communicate using exposed interfaces or some messaging model.
Some of the earliest acquaintances with SOA were using technologies like DCOM and CORBA. DCOM or Distributed Component Object Model was designed for use across multiple network transports. It is based on RPC or Remote Procedure Call and primarily works on Microsoft Windows. CORBA or Common Object Request Broker Architecture was developed keeping inter-operability in mind. A CORBA-based program from any vendor, on almost any computer, operating system, programming language and network can interoperate with another CORBA-based program from any vendor on any computer, operating system, programming language and network.
These technologies, however, haven’t been very popular with vendors for SOA-based applications because of their complexities and inefficient platform support. This is where Web Services comes into picture.
Web Services is an industry standard interface and connectivity technology. WSDL or Web Services Description Language, the interface description language used by Web Services, is self-describing and SOAP or Simple Object Access Protocol, its messaging protocol, is based on XML data interchange. It has fulfilled the long-awaited wish of enterprise application developers by truly separating the interface from the implementation and, because of its widespread adoption over the years, has become synonymous with service-oriented architecture. Its simplicity, openness and wide-spread use has changed the landscape of Enterprise Application Integration giving traditional EAI companies a run for their money.
Many companies all over the world are phasing their existing applications to service oriented architecture to make their business applications accessible to the clients and business partners, and to improve information sharing.
SOA has changed the way enterprise applications are built, with the lines between application development and application integration gradually fading.