Figure 0-1: Web Services Architecture [3] The web services architecture is founded on the principles of connection, communication, description and discovery using open standards and a common infrastructure: 1) A common language is required to connect and share information with others. Extensible Markup Language (XML) [5] is the universal data format that makes connection possible by providing a standard format for data exchange that does not require business partners or customers to use a particular programming language, application or operating system to interact with each others' systems. 2) Systems need to communicate and make requests. Simple Object Access Protocol (SOAP) [6] is an XML-based protocol that defines a framework for passing messages between systems over the Internet. It is typically used for the execution of remote procedure calls (RPC). SOAP was originally intended and defined for use on top of HTTP to make SOAP more easily incorporated into web-based applications, but other transport protocols, such as SMTP, can also be used. 3) Additionally, the functions the web service performs need to be described. Web Services Description Language (WSDL) [7] is an XML document standard for describing a particular web service's details, including its input and output, the names and types of methods or functions that the service implements and the protocols (e.g. HTTP) to which the service is bound. 4) Finally, businesses need a way to discover services on the Internet for consumption. The Universal Description, Discovery and Integration (UDDI) [8] specification is a broad industry effort that creates a global, platform-independent, open framework to enable businesses to (a) discover each other, (b) define how to interact over the Internet, and (c) share information in a global registry that will more rapidly accelerate the global adoption of B2B e-Commerce.
Together, these technologies enable the organisation to deliver web services across the Internet or an intranet regardless of the operating system, programming language, computing device or back-end software that the application is using. Issues of Concern Several issues of concern have to be resolved for web services to succeed, many of which are related to the open, hostile environment in which they must survive. Here are some of the issues [9]: - Although UDDI addresses the issue of discovery, what happens if the web service changes or moves, after it has been advertised?
- Some web services hosts are more reliable than others. How can this reliability be measured and communicated?
- Security over the web is of paramount importance. What security mechanisms should be provided? How does a web service authenticate users? What security granularity should be available?
- Traditional transaction systems use a two-phase commit approach. Although this works well for closed environments for short-lived transactions, transactions implemented in open environments that span hours or even days are much more challenging.
- It should be possible to leverage the load-balancing and other scalability mechanisms that exist for Enterprise Java Beans exposed as web services. However, are there unforeseen stumbling blocks along this course?
- What kinds of mechanisms are required for managing such a highly distributed system? Is it possible to out source the management of some web services to other web services?
- Accountability. How do companies charge for web services? If a web service is sold, how is the change of ownership handled?
- Testing and debugging is much more complex when a system comprises many web services whose location and qualities are dynamic.
Although these sound rather daunting, careful analysis indicates that there are already two example systems that solve these problems. These are the human society and biological organisms. By following solutions from these systems, web services will be able to collaborate with each other to achieve their own individual goals. Organisational Challenges Web services provide a simple, flexible, standards-based model for integrating applications. Developers can easily assemble new applications from existing and new code, regardless of the platform or development language used to implement any of the constituent services or applications. This development framework translates into business agility by making it simple to integrate within the organisation and to link with business partners. From a business standpoint, web services offer a new range of possibilities how organisations and their partners can develop business solutions. Web services architectures define three distinct roles for organisations: - Providers, who define, publish, expose and manage the location and nature of a service.
- Brokers who maintain a registry of available services and their location.
- Consumers who find and bind to an available service. They must realise the real productivity gain and cost saving by out sourcing most of their non-core business functions.
Web services architectures represent a powerful new technology platform because of their ability to deliver more value with less investment. By harnessing the capabilities of web services [10], enterprises will be able to: - Escape being held hostage by proprietary interfaces of software providers
- Source best of class technology resources for each business need
- Evolve and tailor business processes much more cost-effectively and quickly
- Access resources from other enterprises much more cost effectively and quickly
IDC forecasts that "in 2003, we will see people experimenting with web services architectures within the confines of the firewall and then having a gradual exploitation of that outside [the firewall] later on." Reduced transaction costs will encourage the out sourcing of non-core functions through electronic links with key partners. In fact, this architecture will generate the greatest business value in mission critical business processes, especially those spanning across multiple enterprises. Web services architectures will generate three broad waves of business opportunities [10]: - Service grid utilities - specialised business delivering the enabling services required to support mission critical business processes;
- Application service businesses - a broad range of business focused on delivering applications as services;
- Enterprise growth platforms - the opportunity for companies to harness the power of web services architectures to redefine their business and deploy aggressive growth strategies focused on leverage the resources of other organisations.
Long term winners will be those companies that exploit this architecture to deliver more value to consumers more quickly and at lower costs. Training Implications Web services offer a solid infrastructure technology for improving IT shops' in-house development productivity, integrating applications and otherwise simplifying a number of difficult technical tasks. The speed and reliability associated with using standardised components to process many functions will exponentially increase IT's value to the business. Yet transforming IT from a handcrafted environment to a web services model is a huge challenge that will take years, because of the transition required. However, companies looking to implement the conceptually simple technology had better be prepared to do a lot of work. Companies must also change the way they address collaboration, governance and legacy systems, and this will not happen overnight. - Collaboration facilitates reuse of components, but it is rare. A company's executive team must establish a collaborative work environment and build it into the corporate culture and governance structure. This may mean changing how IT works with business units, how the units work with one another and how a company works with business partners.
- Billions of lines of legacy code perform key business functions, so identifying, extracting, consolidating and redeploying them are prerequisites to building a viable set of reusable components.
Tying together web services require a new breed of application architecture and development tools. Companies must build the organisational and IT capabilities to operate in the web services world by investing in training initiatives: - In an era of shrinking budgets, IT managers need to train their application developers to adapt to this new way of building systems by becoming integrators of several web services rather than developing new components from scratch.
- Companies should learn to consume web services provided by third parties so that they can concentrate on their core business. However such applications need to be flexible enough to allow interchangeability of web services, preferably deferring selection decisions to run time. This will enable IT departments to reduce inefficiencies, out source more easily and deliver solutions more rapidly, while focusing their efforts on building new IT-based businesses. Once applications such as inventory control are out sourced, IT staff focus more on partner relationships and development of new on-line skills within the company.
- IT managers need to upgrade the skill set of employees to include enterprise application architecture and integration using these new core foundations discussed above such as XML, SOAP and the other enabling technologies. Skills in security and IT operations assume higher level of importance at which training investment must be directed to. However, companies can still continue to draw on most of the developers' pool as they are not limited to using a single programming language, whilst gradually re-training them in the new skills required for the future.
- Although greater benefits are achieved by being a consumer of these services, returns also accrue from being a publisher of a web service. There will be granular components that require in-house development; however application developers must learn to keep in mind, that by designing distinctive web services they can generate additional revenue for the company. However these services need to be able to scale well, meet very high flexibility requirements, be easy to manage and guarantee a high degree of reliability. Requirements which may not be most evident for in-house applications. Once IT is trained to fully leverage the use of application servers and related tools, it will be relative simple to enterprises to expose and sell web services to other consumer companies. Such will enable a new outlook for IT shops as potential revenue generators adding business value.
This new technical model gives the potential of creating new business models through more tightly coupled collaboration. Such will also enable proximity relationships between business partners which will untimely benefit the consumers. Concluding Remarks Although there are some concerns, such as security, the reliability and availability of the Internet connection, quality of service and management of each layer of the web services stack, as much as the web has revolutionised B2C, web services will transform B2B in the years ahead. The Web Services architecture provides several benefits, including: - Promoting interoperability by minimising the requirements for shared understanding
- Enabling interoperability of legacy applications by letting disparate applications platforms interact more smoothly than ever before
- Enabling just-in-time integration over the web
- Cut the amount of time and money needed for systems integration, the single biggest IT expense of most companies
- Reducing complexity by encapsulation
- Ubiquity by using open communication standards such as HTTP and XML
- Low barrier to entry, with the major players providing free toolkits allowing developers to quickly create and deploy web services
- Industry support from major vendors.
All of this technology is built on existing Web standards, meaning that aspects of Web applications that seemed exciting not too long ago will now be taken for granted. When one considers the backing that this technology is getting from industry giants, e.g. IBM, Microsoft, Oracle, BEA and SUN to mention a few, success is inevitable. Web services must be in every CIO's strategy for the coming years. Bibliography [1] http://www-106.ibm.com/developerworks/library/ws-arc1.html [2] http://www.gartner.com/webletter/microsoft/article1/article1.html [3] http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/html/websvcs_platform.asp [4] http://www6.software.ibm.com/developerworks/education/wsbasics/wsbasics-1-1.html [5] http://www-4.ibm.com/software/webservers/appserv/doc/v20dcadv/dac/whatis/icxml4j.html [6] http://www.w3.org/TR/SOAP [7] http://msdn.microsoft.com/library/?url=/library/en-us/dnwebsrv/html/wsdl.asp?frame=true [8] www.uddi.org [9] http://www-106.ibm.com/developerworks/webservices/library/ws-peer1.html [10] http://www.hbsp.harvard.edu/products/hbr/oct01/R0109G.html Acronym Key B2B Business to Business B2C Business to Consumer CIO Chief Information Officer EJB Enterprise Java Beans HTTP Hyper Text Transfer Protocol RPC Remote Procedure Call SMTP Simple Mail Transfer Protocol SOAP Simple Object Access Protocol UDDI Universal Description, Discovery and Integration WDSL Web Services Description Language XML eXtensible Mark-up Language |