1.4. Typical Web Service Scenarios

Enterprise applications cover a wide spectrum of scenarios, such as interactions between business partners, supply chain management, inventory management, and even simple services (specialized converters, calculators, and so forth). Web services, when used strategically, can augment an application's functionality, but keep in mind that Web services are not an appropriate solution at every point in an application. While they do provide functional richness and interoperability, Web services may come at the price of increased performance overhead. Choosing when to implement a Web services-based solution comes down to addressing such issues as:

  • Interoperability requirements for the enterprise application in a heterogeneous enterprise environment

  • Integration requirements for those whose environments contain various enterprise information systems (EISs)

  • Types of clients expected to be supported, such as J2EE applications, wireless devices, PDAs, and so forth

  • Availability of tools to implement the solution

  • Level of sacrifice, in terms of complexity and performance, that can be tolerated to achieve the advantages (interoperability, diverse client reach, and so forth) of Web services

This section looks at a typical enterprise scenario and identifies where a Web services solution might be appropriate. By no means does this section attempt to cover all scenarios suited for Web services. Rather, it tries to give the reader a flavor of the typical scenarios that might benefit from choosing Web services. Rather than continuing in the abstract, let's examine a sample enterprise application and see where in such an application it is beneficial to use Web services. That is, let's see where the use of Web services improves the application's functionality, its ease of use, or its ability to reach all types of clients.

Our sample scenario, called the JavaTM Adventure Builder Reference application (referred to as adventure builder), is a fictitious enterprise that sells adventure packages for vacationers. This enterprise is considering going online. To do so, the enterprise needs to create a Web site, and it is considering having that site take advantage of the benefits of Web services. The enterprise is especially interested in using Web services to integrate with its numerous partners.

This enterprise

  • Provides customers with a catalog of adventure packages

  • Lets the customer build his or her particular trip experience, choosing accommodations, transportation, and scheduling various adventure activities, and finally booking the trip

  • Provides customers with additional services, such as enabling them to track the status of their orders

For example, a customer might choose an adventure on Mt. Kilimanjaro. In addition to selecting accommodations, mode of transport, and preferred dates, the customer also can select from an assortment of adventures, such as mountain climbing, guided hiking tours of the volcanic peaks, a safari, and so forth. To achieve this, the enterprise might have in place non-Web-based applications or operations that do the following:

  • Interact with clients who want to book adventures. There might be toll-free telephone numbers available to clients.

  • Receive orders from clients and process the orders. Orders pass through a workflow, such as a workflow engine, during their various stages for completion.

  • Keep track of client preferences, plus update clients regarding the status of an order. Customer relations management (CRM) is one such means for tracking clients.

  • Verify and obtain approval for client payment.

  • Interact with business partners—airlines, hotels, adventure or activity providers—so that the enterprise can provide a complete adventure package to the client.

When the developers of the adventure builder enterprise take it online, they implement individual modules for each function. (See Figure 1.1.) Let us see where Web services might fit in and where they might provide the enterprise with advantages in terms of integration and interoperability.

Before proceeding, keep in mind that Web services basically help you to expose an interface to a software application or component that can be used by the client of that application or component, regardless of the client's platform.

Figure 1.1. Adventure Builder Enterprise Modules


Note: This sample scenario is used in the remainder of this book to illustrate specific design issues and recommendations.

1.4.1. Interacting with Business Partners

The adventure builder enterprise works with a number of partners to help it provide complete adventure packages to its customers. These partners range from small businesses, such as “mom and pop”-type shops that might arrange a fun activity in a locale, to large enterprises, such as major airlines and hotel chains. In effect, these partners fulfill various components of the travel packages ordered by customers.

Additionally, there is a two-way communication between adventure builder and its partners. The adventure builder enterprise communicates various orders to different partners. The partners, in turn, each bill the adventure builder enterprise for their costs. It is essential that the enterprise resolves the handling of this inter-partner communication when it goes online.

Web services can be an ideal way to integrate the enterprise with multiple partners for several reasons. Web services are more cost effective than electronic data interchange (EDI), currently the most common solution available for business partner interaction. EDI requires a significant up-front investment by all parties. While its large business partners may have an extensive EDI infrastructure in place, the adventure builder enterprise cannot expect its many small business partners to expend the resources to implement such an EDI infrastructure. Web services-based interaction is a good solution for small businesses that have no investment in an EDI infrastructure and more cost effective for larger enterprises with existing EDI infrastructures.

In addition, Web services can be used on a variety of hardware and software platforms. Existing and potential partners need not purchase or lease a particular hardware or software platform. Most likely, the partners can use their existing systems as long as these systems support Web services. Since many of the industry leaders cooperate on Web service standards and specifications, it is expected that the majority of platforms will support Web services.

Web services-based interaction gives the partners, especially the larger partners with significant technology infrastructure investments, a further advantage: They can use Web services to integrate their existing enterprise systems. Businesses that have integrated their existing systems with Web services offer an enhanced, more automated interaction experience for partners such as adventure builder. The result is an improved customer experience, cost saving, and increased interoperability.

1.4.2. Integrating with Existing Enterprise Information Systems

The adventure builder enterprise may have invested much time and resources in their existing enterprise information systems. The customer relations management system alone is a costly system that could have taken a significant amount of time and resources to implement and fine-tune to the enterprise's unique needs. The other enterprise information systems, too, may have been customized and tweaked so that they work efficiently within the unique combination of requirements and constraints of the adventure builder enterprise. Getting all these systems to work right is an evolving and expensive process. Although the adventure builder enterprise management is tempted by the advantages of some new technologies, they have invested too much in their existing systems to completely replace them with new systems.

Similarly, most enterprises have made extensive investments over the course of many years in information technology (IT) processing, data, and system resources. Often, most of this investment is in enterprise information systems (EISs), or what are sometimes referred to as legacy systems. Discarding existing systems is never easy. It means not only writing off money spent to install, use, and customize these systems, but also spending equivalent sums or more to install and customize new systems. There is also the disruption to the business itself, such as the lost productivity during the transition to the new system, and the potential changes in business processes that a new system may impose. Most businesses consider it more cost effective to evolve and enhance their existing information systems. As a result, enterprises are looking for solutions that let them not only stay current with the times but also evolve their infrastructure and integrate their existing systems with new systems.

Web services can efficiently meet this need to integrate existing technologies with new technologies. Since they are based on universally accepted, platform-independent standards, Web services make a natural integration layer. It is now possible to provide software to expose an existing EIS as a Web service. This makes it feasible for users who require access to that EIS to do so through its Web service.

1.4.3. Reaching Diverse Clients

Web services make it possible for an enterprise to make its functionality available to various types of clients. The adventure builder enterprise, to enhance the customer experience, can provide services such as customer order tracking and weather information at travel destination points, and the enterprise can ensure that these services are accessible by any type of client. Customers can get the information they want from anywhere, using almost any device. Some customers may use a Web browser to access these services, while others may prefer to use a more full-featured interface such as that of a rich client written with J2SE technology or Microsoft technologies. Other customers may use mobile devices, such as cell phones or PDAs, running on the JavaTM 2 Platform Micro Edition (J2ME) environment. The customer experience is enhanced when end users have such a range of choices for accessing a service.

Web services are an ideal way to open these enterprise services to all types of clients. Since they expose a standard interface that is platform and technology independent, Web service-based features make it easy to develop clients on any platform that supports Web services.

1.4.4. Aggregation of Partner Data

Much of the adventure builder enterprise's interactions with its various business partners centers on obtaining and aggregating information from partners and other disparate sources. To provide a complete adventure package to its customers, adventure builder must obtain from its partners such information as the details of modes of travel, accommodations, and activities or adventures. This information is dynamic in nature, and the adventure builder enterprise needs these updates. For example, adventure builder needs to know which seats for a particular airline are available or which hotels have rooms available, and at what price. This information changes frequently, and it is important for the adventure builder enterprise to keep its data current.

The dynamic nature of the adventure builder enterprise's information extends beyond current availability of services. It is entirely possible that one or more of its partners may change its services, or even that a business partner ceases to exist. To maintain the best possible customer experience, the adventure builder enterprise needs to make available the most current package details possible. To do so, the adventure builder enterprise needs to maintain a dynamic catalog of its offerings. That is, adventure builder not only builds its catalog of adventure packages based on the services available from its various partners, but it may also periodically update its catalog of adventures, particularly when changes occur with its partners.

Web services enable a truly dynamic way to build and maintain this catalog of information. Furthermore, by incorporating its Web services with registry services, adventure builder can expand its network of suppliers and allow any number of suppliers or partners to participate at their own choosing. Once suppliers signal their participation through the registry, adventure builder can dynamically build its own catalog from the suppliers' offerings. Keep in mind, however, that a truly dynamic arrangement requires a set of legal and financial agreements to be in place beforehand.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset