This article describes the concept of SOA (Service Oriented Architecture), its benefits, SOA with Web Services, choosing a platform to implement SOA and other related topics. The author recommends implementing SOA right now to survive in this competitive world.
The combination of Web Services and SOAs resolves the issues of CORBA and DCOM approaches to SOAs. Now Web services have removed another barrier by allowing applications to interconnect in an object-model-neutral way. For example, using a simple XML-based messaging scheme, Java applications can invoke Microsoft .NET applications or CORBA-compliant, or even COBOL, applications. So, IBM CICS or IBM IMS transactions on a mainframe in Singapore can be invoked by a .NET application which in turn may be invoked by an agent running on an IBM Lotus Domino server in Munich. Best of all, the invoking application doesn't have to know where the transaction will run, what language it is written in or what route the message may take along the way. A service is requested, and an answer is provided. Web services is a set of enabling technologies for SOA, and SOA is becoming the architecture of choice for development of responsive, adaptive new applications.
The success of many Web services projects have shown that technology does exist that can enable you to implement a true SOA. SOA can be both an architecture and a programming model, a way of thinking about building software. An SOA enables you to design software systems that provide services to other applications through published and discoverable interfaces, and where the services can be invoked over a network. When you implement an SOA using Web services technologies, you create a new way of building applications within a more powerful, flexible programming model. You can reduce your development and ownership costs-and your implementation risk.
It's important to understand that Web services does not equal SOA. Web services is a collection of technologies, including XML, Simple Object Access Protocol (SOAP), Web Services Description Language (WSDL) and Universal Description, Discover and Integration (UDDI), which allow you to build programming solutions for specific messaging and application integration problems. Over time, these technologies can be expected to mature, and eventually be replaced with better, more-efficient, more-robust technology. But for the moment, the existing technologies are sufficient, and have already proven that you can implement an SOA today. SOA is the next wave of application development. Web services and SOA are about designing and building systems using heterogeneous network-addressable software components.