Web services technology is the exposure of specific business functions through an open standard that allows access to data from other Web-services-enabled business applications. In the past, if you wanted to access data from an application, you generally had to develop custom code to determine the application-specific protocol. With Web services, the same methods of accessing the data are offered via a defined, open protocol known as SOAP (Simple Object Access Protocol), using XML (Extensible Markup Language) to transfer data to and from the application.
This change means that access to business functions within applications is platform- and language-agnostic. SDKs are specific to languages and platforms, but Web services offer truly ubiquitous access. The technology is the more open, streamlined resurrection of CORBA. While Web services are being marketed as the panacea to the problem of lengthy development cycles, it's unlikely that Web services will encourage the reuse of code any more than the move to an object-oriented paradigm did because of two factors: trust and communication. Coders only trust their own code and are unwilling to use existing code--if they're even aware that it's available. Communication among development teams is a larger problem because teams rarely discuss with other teams the impact of a single component. The resulting component, or Web service, is unlikely to satisfy the needs of every team, likely necessitating a complete rewrite.
Web services provide much more in terms of packaged applications, as these open interfaces offer a mechanism for integration and support out of the box rather than requiring customization through coding or purchasing additional adapters.
Unfortunately, Web services still don't address security or reliability very well. Web services, whether based on J2EE (Java 2 platform, Enterprise Edition) or Microsoft .Net, all take advantage of XML, which is transported between applications via SOAP. The SOAP standard, which describes how Web services are exposed and accessed, is verbose. As the number of Web services-enabled applications in your infrastructure grows, you can expect resources to work harder than ever to maintain acceptable performance. Because the standard addresses neither security nor reliability, exposing your business functions is an all-or-nothing proposition.
Markets are emerging from the security in Web services, and an abundance of solutions to the security and reliability problems will be available next year, though the field is too new for us to name any front-runners. Cape Clear Software, Blue Titan Software, Actional Corp. and even Check Point Software Technologies offer products that provide Web services security and management, and additional offerings are due in coming months.
You'll also need to take a stand on your platform--and soon. Will you use .Net or one of the many J2EE offerings such as Sun Microsystems' ONE? As with any choice that involves developers, a holy war of splendiferous proportions is already brewing. A J2EE offering has many advantages, of course. Many vendors have products, and a host of tools is available. A .Net environment locks you into a single vendor and substantially limits your choices in terms of vendor and platform support, but the development environment and languages are familiar to most developers, making it attractive in terms of training and time to deploy. It's also difficult for J2EE-based solutions to compete with the ease of development and deployment offered by Microsoft products.
While external software components such as Web services are unlikely to be integrated into your internal development efforts any time soon, the internal use of Web services for intranet portals and integration efforts will become not only acceptable but expected. And if you haven't begun to seriously evaluate Web services as a part of your architecture, you'll need to do so next year, particularly for new applications.
Web services, along with failure of CRM deployments to achieve claimed ROI, is energizing the outsourced CRM market. ASP-based CRM offerings such as Salesforce.com and UpShot are using Web services to integrate their outsourced CRM applications with Microsoft Outlook to provide more robust functionality and features. With the CRM debacle of the past year, it may be wise to consider an outsourced solution. Web services has enabled such solutions to provide the lower total cost of ownership required without sacrificing functionality.