There's a fundamental change taking place with enterprise software. Complex, expensive, proprietary solutions are being replaced by technology that not only solves problems faster and more efficiently, but brings corporate IT closer to the business function. Nowhere is this more apparent than in the enterprise integration market. What used to take months, is now taking weeks and in some cases days. Web services and service-oriented architecture (SOA) are fueling this phenomenal change. The SOA philosophy is based on a few simple ideas:
All functionality should be available as Web services.
Access to these services should be based on open standards.
New services can be created from existing services.
The first point is the most important. Whereas in the past we had a mix of competing integration technologies (CORBA, DCOM, JMS, MQ) and proprietary vendor adapters – today there is only one clear choice: Web services. At last a consensus has emerged about an integration technology. The question used to be “how do I get system A to talk to system B”, the question now is “how do I expose system A as a Web service?” Furthermore, the Enterprise Service Bus (ESB) is bringing legacy systems and data stores that can’t natively support Web services onto the network. From an integrators’ point of view this is great news. As vendors start rolling out products and Web service adapters, your life gets easier.
The next important point is open standards. Open standards provide an integrator with two important things: interoperability and product choice. Open standards mean that an integrator can choose between competing vendors on the features they offer (provided those vendors adhere to the standards). Today most integration projects use XML Schema, SOAP (Simple Object Access Protocol) and WSDL (Web Services Description Language). Together they provide the means to describe a service and deliver a message to it. Coming up fast are WS-Security and WS-ReliableMessaging providing signing, encryption and open reliable message delivery respectively.
The final principle of SOA is that you can build new services out of existing ones. This really is the “holy grail” of integration. When companies look at their past integration projects they see islands of integration – different technical solutions were used to solve different integration problems. There was little re-use between integration projects and ever increasing maintenance costs. The whole SOA approach is a response to this: you define all your services in one way, as Web services. This means they have at least a potential to be reused. SOA goes further however, enabling you to build new services by composing together existing services. This is new. Previously new services were built by integrating with existing databases and servers. SOA says that you should also be able to build new services from services you've already integrated.