Reports from Gartner and IDC say that Web Services will dominate IT market over the next 10 years. But what are 'Web Services' and do they offer the solution we had all hoped for from Enterprise Application Integration (EAI)?
First, the definition. When a user is browsing a site on the Internet, he or she uses what is called a 'User Interface' to interact with the web site. Growing demand for process automation means that applications increasingly need to communicate with each other. When a user is in fact another application a programmatic interface is required and these interfaces are referred to as Web Services.
Are Web Services the new EAI?
One of the primary success factors for any EAI solution is how well it is agreed upon (and used) among various organisations and software vendors. Web Services are based on well established and widely used standards and specifications like XML and HTTP. Almost all Internet users are using HTTP as their transport protocol, while XML has become very popular because of its flexibility.
An additional benefit of XML and HTTP is that they are platform-independent. This means you can have a Web Service implemented using Microsoft .NET while the consumer is based on ]2EE. Although the publisher and consumer of the service are targeted at a specific platform, the interface (which is XML over H-RTP) is platform independent.
Barriers to the adoption of Web Services
Although Web Services are based on XML, the specification for Web Services does not outline what XML documents should look like. This is good as it provides flexibility. But Problems arise when the publisher and consumer of the service have different understandings of the contents of a message.
Standards are emerging from bodies such as OASIS, who defines and publishes schemas for different types of messages (such as Auto Repair, Legal XML and Tax XML). But more needs to be done in order for the true benefit of Web Services to be realised.
The second barrier is created by legacy applications. Almost every company has existing applications in place and most have not been designed with a service- oriented mindset. Software designers did not generally consider the fact that this application may be used by other applications as well as human users. So another challenge is to build 'wrappers' around existing applications and services so that they can be consumed by Web Services clients.
This can get more complicated when building the Web Service interface...