Web Services Basics by ctw10436


									29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 27

                        Web Services Basics                                                                   1
          If you ask five people to define Web services, you’ll probably get        There’s no one              6
          at least six answers. Some people use the term “Web services” to        official definition of        7
          describe applications that communicate with Simple Object Access        “Web services”              8
          Protocol (SOAP). (SOAP is an XML messaging protocol. We’ll dis-                                     9
          cuss it in detail in Chapter 3.) Other folks use the term to describe                               1
          only the SOAP interface. Still other people vehemently object to the                                1
          idea of constraining the definition to a specific technology such as                                  2
          SOAP. Some people use the term to describe any application that                                     3
          communicates over the Internet. Other people use the term to                                        4
          describe any Web-based application. Some people view Web ser-                                       5
          vices as anything that’s accessible over the Web. And some people                                   6
          use the term to describe the software-as-a-service business model.                                  7
          Given that there is no official consensus within the industry, I am      For the purposes of         9
          establishing my own set of names and definitions. I want to give         this book I am              2
          you a basic grounding to help you understand this technology, so        defining my own              1
          my goal is to make things as simple and straightforward as possible.    terminology                 2
                          What Is a Web Service?                                                              5
          The simplest and most basic definition that I can give you is that       A Web service is an         6
          a Web service is an application that provides a Web API. As men-        application with a          7
          tioned in Chapter 1, an API supports application-to-application         Web API                     8
          communication. A Web API is an API that lets the applications com-                                  9
          municate using XML and the Web.                                                                     3
          So here’s the basic concept: Web services use the Web to perform        Web services use the        3
          application-to-application integration. A lot of the hype around        Web for application-to-     3
          Web services talks about dynamic assembly of Web-based software         application integration     3

    29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 28

             Chapter 2      Web Services Basics

1                                    services. It talks about the software-as-a-service business model.
2                                    It talks about spontaneous discovery of new business partners.
3                                    My advice is to ignore this hype. It’s possible that at some point
4                                    in the future some of these glossy images will become reality, but
5                                    please don’t let the science fiction stories distract you from reality
6                                    or dissuade you from using this technology today to solve real
7                                    business issues.
0                                                          Why Web Services?
1            Web services help       Rather than “what?” I think the more important question is “why?”
2            you integrate           Why should you care about Web services? The answer is that Web
3            applications            services mitigate the application integration crisis. They help you
4                                    integrate applications, and they do so at a significantly lower price
5                                    point than any other integration technology.
7            XML and the             Web services represent a new form of middleware based on XML
8            Web solve the           and the Web. XML and the Web help solve the challenges associ-
9            ”Traditional            ated with traditional application-to-application integration, which
0            Middleware Blues”       I identified in Chapter 1 as the Traditional Middleware Blues. To
1                                    summarize:
                                       ❏   Traditional middleware doesn’t support heterogeneity.
                                       ❏   Traditional middleware doesn’t work across the Internet.
                                       ❏   Traditional middleware isn’t pervasive.
                                       ❏   Traditional middleware is hard to use.
                                       ❏   Traditional middleware is expensive.
                                       ❏   Traditional middleware maintenance costs are outrageous.
                                       ❏   Traditional middleware connections are hard to reuse.
                                       ❏   Traditional middleware connections are fragile.
1            Web services support    Web services address these issues. Web services are platform- and
2            heterogeneous           language-independent. You can develop a Web service using any
3            interoperability        language, and you can deploy it on any platform, from the tiniest
4                                    device to the largest supercomputer. More to the point, any Web

29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 29

                                                                         Defining “Web” and “Service”

          service can be accessed by any other application, regardless of                                       1
          either’s language or platform. Web services communicate using                                         2
          XML and Web protocols, which are pervasive, work both inter-                                          3
          nally and across the Internet, and support heterogeneous                                              4
          interoperability.                                                                                     5
          Web services simplify the process of making applications talk             Web services are            7
          to each other. Simplification results in lower development cost,           inexpensive                 8
          faster time to market, easier maintenance, and reduced total cost                                     9
          of ownership. The bottom line is this: Web services allow you to                                      1
          integrate your applications at a fraction of the cost of traditional                                  1
          middleware.                                                                                           2
          Traditional RPC-style middleware, such as RPC, CORBA, RMI, and            Web services are            4
          DCOM, relies on tightly coupled connections. A tightly coupled            flexible and                 5
          connection is very brittle, and it can break if you make any modi-        adaptable                   6
          fication to the application. Tightly coupled connections are the                                       7
          source of many a maintenance nightmare. In contrast, Web services                                     8
          support loosely coupled connections. Loose coupling minimizes the                                     9
          impact of changes to your applications. A Web service interface pro-                                  2
          vides a layer of abstraction between the client and server. A change                                  1
          in one doesn’t necessarily force a change in the other. The abstract                                  2
          interface also makes it easier to reuse a service in another applica-                                 3
          tion. Loose coupling reduces the cost of maintenance and increases                                    4
          reusability.                                                                                          5
                      Defining “Web” and “Service”                                                               8
          So let’s dig a little deeper into our definition. Just what is a Web       A Web service is            9
          service? If we dissect the name, we can infer that a Web service has      a service that lives        3
          something to do with the Web and something to do with services. I         on the Web                  3
          like to say that a Web service is a service that lives on the Web. This                               3
          definition doesn’t help us very much, though, unless we know the                                       3
          meaning of the terms “Web” and “service.” So let’s start there.                                       3

    29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 30

             Chapter 2       Web Services Basics

1            The Web is a            The Web is an immensely scalable information space filled with
2            huge information        interconnected resources. The architecture for the Web has been
3            space filled with        developed and standardized by the World Wide Web Consortium
4            interconnected          (W3C). A Web resource is any type of named information object—
5            resources               such as a word processing document, a digital picture, a Web page,
6                                    an e-mail account, or an application—that’s accessible through the
7                                    Web. All resources on the Web are connected via the Internet, and
8                                    you access Web resources using standard Internet protocols. Any
9                                    network-enabled application or device can access any resource in
0                                    the Web. Right off the bat, you can see that the Web solves one of
1                                    your integration challenges: The Web is pervasive and provides
2                                    universal connectivity.
4            A service is an         A service is an application that exposes its functionality through an
5            application that can    application programming interface (API). In other words, a service
6            be consumed by          is a resource that is designed to be consumed by software rather
7            software                than by humans.
9            “Service” refers to     The term “service” implies something special about the application
0            the service-oriented    design. It refers to something known as the service-oriented
1            architecture            architecture (SOA). The SOA is the basic architecture used by
2                                    most RPC-style middleware systems. Chapter 3 talks about the
3                                    SOA in detail.
5            An interface hides      One of the most important features of the SOA is the separa-
6            the complexities of     tion of interface from implementation. A service exposes its func-
7            the internal system     tionality through an interface, and that interface hides the inner
8                                    workings of the application. A client application doesn’t need to
9                                    understand how the service actually performs its work. All it
0                                    needs to understand is how to use the interface. To give you an
1                                    analogy, let’s look at a car. A car is a complicated machine, but the
2                                    car provides a set of interfaces that’s relatively simple to use. To start
3                                    a car, you don’t need to know how an internal combustion engine

29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 31

                                                                         Defining “Web” and “Service”

          works, or even how the starter motor works. You only need to                                           1
          know how to use the interface that the car supplies to start it: Turn                                  2
          the key.                                                                                               3
          A Web service possesses the characteristics of both a Web resource        A Web service is             5
          and a service. It is an application that exposes its functionality        both a Web resource          6
          through an API, and it is a Web resource that is designed to be con-      and a service                7
          sumed by software rather than by a human sitting at a browser.                                         8
          Understanding the concept of a service is key to understanding Web        A service is software        1
          services. A service is a piece of software that does work for other       that does work for           1
          software. In most circumstances, a service runs on a server, waiting      other software               2
          for an application to call it and ask it to do some work. In many                                      3
          cases services don’t provide any type of human interface, and the                                      4
          only way to access the service is through its API.                                                     5
          A service can perform system functions or business application            A service can                7
          functions. For example, a file service can create, find, save, or           perform system or            8
          delete a file. A stock quote service can retrieve the current ask and      business functions           9
          bid prices of an equity.                                                                               2
          All client/server technologies rely on this basic concept of a service.   A service plays              2
          A service is the business or system application that plays the part of    the role of server           3
          the server in a client/server relationship. Print servers, file servers,   in a client/server           4
          database servers, Web servers, and application servers are all            relationship                 5
          examples of service-oriented systems.                                                                  6
          Any business application that exposes its capabilities through an         Application services         8
          API is a service. Business application services often run in an appli-    often run in an              9
          cation server. An application server manages and coordinates the          application server           3
          utilization of all resources available in a shared, multiprocessing                                    3
          environment, enabling optimized performance, scalability, reliabil-                                    3
          ity, and availability.                                                                                 3

    29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 32

             Chapter 2         Web Services Basics

1            Figure 2-1: A service
             can be shared by
2                                         Browser
             many different                              Web Store           Su
                                           Client                                 bm
3            applications.                                                             it O
4                                                                                                   r
                                          Browser                     Get O
                                                           Portal                 rder
5                                          Client                                           Statu
6                                                                                                                 Order
                                          Desktop                     List Back Orders
7                                                          Report                                              Processing
                                           Client                                                                Service
8                                                                                           er His
                                                                      Get Cu
9                                         Desktop
                                                            CRM                               is
                                           Client                                          rH
0                                                                                     de
                                                                             t   Or
1                                                                         Ge
2                                          Client
4            A service is a            You often need this type of scalability because many different users
5            shared resource           can share a single service. A service is a shared resource. One rea-
6                                      son you might want to design a business application as a service is
7                                      to consolidate your efforts and reduce duplicated work. If there is a
8                                      particular piece of functionality that many of your applications
9                                      need to perform, you should build this functionality as a service
0                                      rather than reimplement the functionality in each application.
2            One service can           For example, as shown in Figure 2-1, it’s much simpler and
3            support many              easier to manage and maintain your order processing system if
4            applications              you have only one application service that actually processes
5                                      orders. This one service can support all the different ways that
6                                      you offer to place orders, inquire about order status, and generate
7                                      reports about orders.
9                                                             Building Services
0            You use middleware        To let clients access a service over the network, you must build a
1            to create your            network API for the service. You generally use some type of com-
2            network API               munication middleware to create a network API. You can use a
3                                      traditional middleware technology, such as RPC, DCOM, CORBA,
4                                      RMI, or MOM, but all these technologies suffer from the Traditional

29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 33

                                                                                                    Web Evolution

          Middleware Blues. If you want to make your services available to                                               1
          heterogeneous users across multiple systems (including the Inter-                                              2
          net) at a reasonable cost, you should use middleware technology                                                3
          that supports these requirements.                                                                              4
          Web services represent a new type of middleware that relies on                        Web services are         6
          the Web. The Web resolves the pervasive aspects of the Traditional                    Web-based                7
          Middleware Blues.1 The Web is pervasive. The Web is free. The Web                     middleware               8
          is completely vendor-, platform-, and language-independent. The                                                9
          Web uses the Internet as its native communication protocol. Web                                                1
          services support easy integration, flexibility, and service reusability.                                        1
                                         Web Evolution                                                                   4
          The Web was originally created to support interactive communica-                      The Web was              5
          tion. People use the Web to communicate with other people and to                      designed for             6
          access information. You use e-mail and instant messaging to con-                      interactive              7
          verse with friends and colleagues. You use a browser to access                        communication            8
          information.                                                                                                   9
          In the early days of the Web, a Web site was simply a set of static                   A dynamic Web site       1
          pages that were stored in files. You could view only the text and                      allows people to talk    2
          pictures contained in these files. To change what users saw, a Web                     to applications          3
          site operator had to edit the files. Soon we realized that we could                                             4
          also use the Web to access dynamic information. When you link                                                  5
          to a dynamic page, the Web server doesn’t merely display a file.                                                6
          Instead it calls an application that dynamically generates and ren-                                            7
          ders the requested information. The introduction of this technique                                             8
          marked the point when the Web evolved to allow people to talk to                                               9
          applications.                                                                                                  3
          1 The   other Traditional Middleware Blues tend to be a function of tightly coupled                            3
          connections. Web services solve these issues using XML. Chapter 3 discusses XML.                               3

    29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 34

             Chapter 2        Web Services Basics

1            Web services allow       Web services represent the next step in the Web’s evolution
2            applications to talk     because they allow applications to talk to applications. Web-based
3            to applications          application-to-application integration allows us to exploit the uni-
4                                     versal connectivity and immense scalability of the Web, and it sup-
5                                     ports a much richer set of usage models than do human-oriented
6                                     applications.
8            Web sites support        Figure 2-2 summarizes the differences between a Web site and a
9            humans; Web              Web service. A Web site represents a group of Web resources that
0            services support         are designed to be accessed by humans, and a Web service repre-
1            software                 sents a group of Web resources that are designed to be accessed by
2                                     applications.
4            A service interface      The interfaces to these two types of applications are fundamentally
5            must be structured       different. A Web site supports human clients who have a tremen-
6            and unambiguous          dous capacity to interpret the meaning of information. The site
7                                     returns information as a Hypertext Markup Language (HTML)
8                                     page—a string of text containing formatting information, often
9                                     including graphics, clickable buttons, and links. A human interprets
0                                     this information based on visual layout and physical association. In
1                                     contrast, an application can’t interpret information this way. An
             Figure 2-2: A Web
             site is designed to be
4            accessed by humans.
             A Web service is
             designed to be
6            accessed by
                                                                         Web site
                                                                       Web service

29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 35

                                                        Understanding the Scope of Web Services

          application needs unambiguous information. It needs to know                                    1
          what programmatic functions are available, and it needs to know                                2
          how to structure and interpret the data being exchanged. A Web                                 3
          API defines these programmatic functions and data structures in a                               4
          completely unambiguous way.                                                                    5
             Defining Characteristics of Web Services                                                     8
          A Web service exhibits the following defining characteristics:        A Web service is a        9
                                                                               Web resource that         1
            ❏   A Web service is a Web resource. You access a Web service                                1
                                                                               provides an API
                using platform-independent and language-neutral Web                                      2
                protocols, such as HTTP. These Web protocols ensure easy                                 3
                integration of heterogeneous environments.                                               4
            ❏   A Web service provides an interface—a Web API—that can be                                5
                called from another program. This application-to-application                             6
                programming interface can be invoked from any type of appli-                             7
                cation. The Web API provides access to the application logic                             8
                that implements the service.                                                             9
            ❏   A Web service is typically registered and can be located                                 2
                through a Web service registry. A registry enables service                               1
                consumers to find services that match their needs. These ser-                             2
                vice consumers may be humans or other applications.                                      3
            ❏   Web services support loosely coupled connections between                                 4
                systems. Web services communicate by passing XML mes-                                    5
                sages to each other via a Web API, which adds a layer of                                 6
                abstraction to the environment that makes the connections                                7
                flexible and adaptable.                                                                   8
            Understanding the Scope of Web Services                                                      3
          So now that we have the basic definition down, let’s go back to the   Web services concepts     3
          big picture. How do you build Web services? What do you need to      can be divided into       3
          run Web services? How do you use Web services? Obviously this        four layers               3

    29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 36

             Chapter 2         Web Services Basics

1                                      topic covers a lot of territory. Figure 2-3 divides the scope of our
2                                      discussion into four basic concepts: XML and Web services tech-
3                                      nologies, Web services infrastructure, Web services, and Web
4                                      services application templates. Each layer builds on the layers
5                                      below it.
7            XML and Web               The bottom layer in Figure 2-3 comprises XML and Web services
8            services technologies     technologies. These technologies provide the foundation for Web ser-
9            provide the               vices. Don’t worry about all the acronyms used in this illustration.
0            foundation for            We’ll take a closer look at these technologies in Chapters 3–5. (If you
1            Web services              can’t wait, you can find definitions for the acronyms in the Glossary.)
3            Infrastructure refers     The next layer in Figure 2-3 represents Web services infrastruc-
4            to products that          ture: products that implement the XML and Web services technolo-
5            implement Web             gies. You use these products to build, deploy, manage, and use Web
6            services technologies     services. Chapters 8 and 9 will take a closer look at Web services
7                                      infrastructure.
9            Figure 2-3: Web
0            services concepts
             can be divided into
1                                                               Web Services Application Templates
             four logical layers:
2            XML and Web
                                                                         CRM          EAI
             services technol-                                ERP                                   B2B
                                                 Portal                                                           ...
3            ogies, Web services
4            infrastructure, Web                                          Web Services
             services, and Web
5            services application                Sales         Order     Weather        Stock         Map and
                                                 quote       tracking    reports       trading       directions
6            templates.

7                                                                   Web Services Infrastructure
8                                                Tools and
                                                                Containers     Infrastructure     Management            ...
                                                frameworks                                        frameworks
9                                                               and servers       services

                                                 SOAP           XML and Web Services Technologies          BPEL4WS
1                                                            WSDL                                 ebXML
                                                 XML                    UDDI        WSS                           ...
2                                                         XML Schema                                 SAML
                                                                        XSLT     XML Signature

29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 37

                                                                     Web Services Business Models

          A Web service represents an information resource or business            Web services are             1
          process that you have made available to other applications through      applications that            2
          a Web API. In particular, it is a resource that supports application-   communicate using            3
          to-application communication using Web services infrastructure.         Web services                 4
          You can turn any piece of application code into a Web service. A        infrastructure               5
          Web service can do whatever you’ve programmed it to do. Fig-                                         6
          ure 2-3 lists five sample Web services: sales quote, order tracking,                                  7
          weather reports, stock trading, and map and directions.                                              8
          Web services application templates represent the kinds of appli-        Application                  1
          cations and initiatives for which Web services technology offers        templates represent          1
          substantial benefits. The list of templates in Figure 2-3 is by no       systems that benefit          2
          means exhaustive, but it identifies some of the more popular uses        from Web services            3
          of Web services, such as portals, enterprise resource planning, cus-                                 4
          tomer relationship management, enterprise application integration                                    5
          initiatives, and business-to-business integration. We’ll discuss a                                   6
          number of real-life Web services applications in this chapter and                                    7
          in Chapter 7.                                                                                        8
                    Web Services Business Models                                                               1
          You may have noticed that I didn’t list software-as-a-service as a      Web services is not a        2
          Web services application template. That’s because software-as-a-        business model               3
          service isn’t an application. It’s a business model in which you                                     4
          license subscription rights to access hosted software rather than                                    5
          license the rights to deploy the software in your own organization.                                  6
          For example, Salesforce.com uses the software-as-a-service busi-                                     7
          ness model. Salesforce.com hosts a CRM system, and users pay a                                       8
          monthly subscription fee to use the software.                                                        9
          A lot of the early hype about Web services led many people to           Many people equate           3
          equate Web services with the software-as-a-service business model.      Web services with            3
          The hype projects a blue-sky vision of being able to dynamically        software-as-a-service        3
          discover, assemble, and consume Internet-based software services.                                    3

    29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 38

             Chapter 2       Web Services Basics

1                                    But IDC predicts that the realization of this vision is at least 10 years
2                                    away. I view that prediction as optimistic.
4            Web services should     My point is that, except in a few rare circumstances, you don’t sell a
5            support your existing   Web service. Instead you sell some other type of product or service,
6            business models         and you use Web services to help you do that. Only in very rare cir-
7                                    cumstances are Web services the focus of their own business model.
8                                    Without a viable business model, it’s hard to create a business case
9                                    for Web services. For example, let’s look at Google.
             Google’s business       Google is the world’s leading Web search company. Google provides
             model is based on       a public search engine that contains an index of more than three
             advertising             billion Web pages. The normal interface to this search engine is a
                                     human-oriented browser interface. The business model that sup-
                                     ports this public service is advertising. Users can access the service
                                     for free in exchange for viewing a few ads. Google collects revenues
                                     from the businesses that place the ads.
             The Google Web          Google also provides a Web service interface to this public search
             service provides an     engine. It calls this Web service the Google Web APIs. You can use
             API to the search       these Web APIs to query the Google search engine from an applica-
             engine                  tion rather than from a browser. The results of the search are
                                     returned as structured data so that the requesting application can
                                     process the information.
             Google is encour-       As of the time of this writing, this Web service is still in an experi-
             aging users to create   mental stage. Google is encouraging developers to use their imagi-
             innovative appli-       nation to create new and interesting applications using the Google
             cations using these     Web APIs. Here are three examples:
             Web APIs
2                                      ❏   Subject monitoring: issue regularly scheduled Web searches to
3                                          find any new information on a particular subject

29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 39

                                                                       Web Services Business Models

            ❏   Market research: issue regularly scheduled Web searches and                                    1
                analyze the difference in the amount of information available                                  2
                on the subject over time                                                                       3
            ❏   Plagiarism search: search for phrases from a piece of writing to                               4
                ensure that it is original material                                                            5
          Researchers and developers may be excited about the Google Web            The Google Web
          APIs, but it’s hard to figure out what benefit Google will gain from        APIs undermine
          this Web service other than goodwill. The Google Web APIs under-          Google’s normal
          mine Google’s normal business model. The Google Web APIs don’t            business model
          constitute a new service. Instead they simply provide a program-
          matic interface to Google’s public Web search engine. The Web APIs
          are free. Users are required to register, and they are limited to 1,000
          queries per day per user, but users of the Google Web APIs don’t
          receive the Google advertisements.
          The cost of an individual Google search is minuscule. Google views        Web services should
          it as a reasonable investment to give away a few million searches in      support your existing
          exchange for the generation of goodwill. But in general, I wouldn’t       business models
          recommend that you follow Google’s example. Web services should
          be designed to support your existing business model. They should
          provide a new or improved mechanism to sell or use an existing
          product or service.
                                        Kinko’s                                                                5
          For example, let’s look at Kinko’s, the world's leading provider          “File, Print . . .         6
          of document solutions and business services. Kinko’s has offered          Kinko’s” will allow        7
          a browser-based utility for quite a while that allows you to send         you to send a print        8
          documents from your PC directly to Kinko’s for printing. Now              job to Kinko’s             9
          Kinko’s wants to use Web services to make the process even more           directly from your         3
          seamless. Kinko’s plans to roll out a “File, Print . . . Kinko’s” Web     Office application          3
          service in mid-2003. This Web service allows you to send a print                                     3
          job to Kinko’s over the Internet directly from any Microsoft Office                                   3

    29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 40

             Chapter 2     Web Services Basics

1                                    application. The service will require you to install a small add-
2                                    in to Office, which will supply the client interface to the Kinko’s
3                                    Web service. After you’ve installed this add-in, “Kinko’s” will
4                                    appear in your list of printers when you select File and Print . . .
5                                    from the Office menu. When you select the Kinko’s print service,
6                                    Office will launch Kinko’s client interface, which then presents
7                                    you with an easy-to-use dialog box to guide you through the
8                                    process of submitting a print job. The dialog box will help you
9                                    find a convenient Kinko’s location, select options such as stapling
0                                    and binding, and specify payment, notification, and delivery
1                                    methods.
3            You can send the        Suppose you’re sitting in your hotel room writing a proposal in
4            print job to any        Microsoft Word. When you’re finished, you select File, Print . . .
5            Kinko’s anywhere        Kinko’s. The hotel’s high-speed Internet connection sends the print
6            in the world            job to a Kinko’s in another city, and the proposal is delivered
7                                    directly to your client. Kinko’s will even send you a notification
8                                    when the job is complete.
0            Kinko’s Web             The “File, Print . . . Kinko’s” Web service doesn’t compete with the
1            service supports        company’s core business model. It enhances it by providing another
2            the company’s core      way for users to submit print jobs. And it provides a level of conve-
3            business model          nience that many users will certainly appreciate.
5                                                                 Amazon
6            Amazon provides a       Amazon also uses Web services to enhance its core business
7            Web API to support      model. Amazon’s business model is based on online retail sales.
8            its marketing           Amazon is renowned for the features of its online catalog, which
9            affiliates               provides the primary consumer sales interface. The catalog is
0                                    designed to be viewed by a human sitting at a browser. Amazon
1                                    also wants to make this catalog available to applications so that
2                                    its 800,000 marketing affiliates can more easily sell products for
3                                    Amazon. So Amazon created a Web API for its catalog. Before it
4                                    offered this Web API, it was quite difficult to access the Amazon

29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 41

                                                                      Web Services Business Models

          catalog from an application. You needed to build a screen scraping                                  1
          application that simulated a human sitting at a browser.                                            2
          The new Amazon Web API allows Amazon’s marketing affiliates              Amazon hopes its            4
          to easily incorporate Amazon content and features into their Web        Web service will            5
          sites. Many of Amazon’s most popular search facilities—such as          boost book sales            6
          keyword search, ISBN search, and even “Listmania!”—are available                                    7
          through the Web service. Now consumers can buy products from                                        8
          Amazon transparently through the affiliate sites. The affiliate Web                                   9
          site uses the Amazon Web service to search Amazon’s catalog and                                     1
          display the results on its own site, including features such as Ama-                                1
          zon reviews and book ratings. This free Web service is a win-win                                    2
          situation for both the affiliates and Amazon. Each time a consumer                                   3
          makes an Amazon purchase through the affiliate site, the affiliate                                    4
          earns a 15% referral fee. Meanwhile Amazon expects to see a                                         5
          boost in product sales.                                                                             6
                                          UPS                                                                 8
          UPS also uses Web services to promote sales. UPS provides a set of      UPS OnLine Tools            9
          Web APIs called UPS OnLine Tools. Businesses can use these APIs         streamline the              2
          to connect their applications directly to the UPS logistics system to   logistics process           1
          add integrated shipping, tracking, and related functionality. UPS                                   2
          OnLine Tools are available at no charge, and UPS provides free                                      3
          e-mail support. As with Amazon, this Web service offers a win-                                      4
          win situation. Customers appreciate the way this Web service                                        5
          can streamline their logistics process; UPS can expect to see an                                    6
          increase in UPS shipments.                                                                          7
                                       T-Mobile                                                               9
          Sometimes Web services can help enable a new business model.            T-Mobile uses Web           3
          T-Mobile International, a division of Deutsche Telekom, is one of       services to enable a        3
          the world’s leading international mobile communication providers.       new business model          3
          One of its service offerings, T-Mobile Online, provides a wireless                                  3
          Web portal for more than three million T-Mobile customers in                                        3

    29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 42

             Chapter 2       Web Services Basics

1                                     Austria, the Czech Republic, Germany, and the United Kingdom.
2                                     As with most wireless plans, the business model is based on con-
3                                     sumer usage.
5            T-Mobile needs           When first planning T-Mobile Online, T-Mobile realized that to
6            interesting content to   promote consumer usage it needed to provide interesting content
7            attract users            on the portal. Recruiting content providers was critical to the suc-
8                                     cess of this new venture. T-Mobile needed to make sure that it was
9                                     as easy as possible for content providers to join the network.
1            The content              One of the biggest challenges T-Mobile faced was figuring out a way
2            providers need           to give the content providers access to information about individual
3            consumer info and        consumers. Providers need this information to furnish customized,
4            billing services         localized, useful content. Another challenge was devising an afford-
5                                     able micro-payment system to ensure that the content providers
6                                     got paid for their services.
8            Web services ensure      Given that each content provider might have a completely dif-
9            easy content             ferent IT infrastructure, T-Mobile elected to use Web services. All
0            integration              consumer information and billing services are made available to the
1                                     content providers as Web services, as shown in Figure 2-4. The Web
2                                     services ensure that content providers can quickly, easily, and in-
3                                     expensively integrate their content into the T-Mobile portal.
5            Web services enable      This venture has been very successful. T-Mobile Online has enlisted
6            this m-commerce          more than 200 content providers to make the wireless Web inter-
7            business model           esting and appealing to T-Mobile consumers. Through T-Mobile
8                                     Online, these content providers provide services such as e-mail,
9                                     Short Message Service (SMS) messaging, news, sports scores,
0                                     restaurant recommendations, directions, stock trading, banking,
1                                     ticket purchases, gambling, and more. T-Mobile doesn’t charge
2                                     either its consumers or the content providers for these Web ser-
3                                     vices. Instead T-Mobile makes money from the increased airtime

29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 43

                                                                                       Web Services Business Models

                                                2 Access Application                                                                   2
                                                                                                  Content                              3
                                                                                                  Provider                             4
                                                  1 Log on and Make
                                                  Menu Selection                                                                       6

                                                           Web Portal

                                                                                    Web API
                                                                                                         3 Service Calls
                                      4 Return to                                                                                      1
                                                 Session                Consumer         Messaging and                                 2
                                               Management                Profile          Notifications                                3
                                               Location and
                                                                        Bookmarks             Calendar
                                                                                                              Address                  4
                                                Presence                                                       Book
                                                                              Web Services
          Figure 2-4: T-Mobile Web services maintain user session information, automatically capture and manage
          billing and payment services, and allow content providers to obtain information about consumers.
          the consumers use to access these third-party offerings. The Web                                                             1
          services aren’t the focus of the business model, but it wouldn’t                                                             2
          work without them.                                                                                                           3
                                  Internal Integration                                                                                 5
          In the examples I’ve cited so far, I’ve talked only about external                                 Web services can          6
          integration applications. One key theme that permeates all these                                   make it easier for        7
          examples is that Web services can make it easier for your customers                                your customers            8
          or partners to do business with you. Anything that simplifies busi-                                 and partners to do        9
          ness integration is a valuable commodity. Another recurring theme                                  business with you         3
          is that Web services do not themselves define a business model.                                                               3
          Instead, they support existing business models, and in some cir-                                                             3
          cumstances they enable a new business model.                                                                                 3

    29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 44

             Chapter 2        Web Services Basics

1            Web services             Although the external applications are interesting, most production
2            lower the cost           applications based on Web services are internal application projects.
3            of application           As with external Web services, internal Web services should sup-
4            integration              port your core business model. You can use them to improve and
5                                     optimize your internal application systems to make your business
6                                     processes work better. The first and foremost reason you should be
7                                     exploring Web services is that they can dramatically lower the cost
8                                     of application integration.
0            Merrill Lynch            Merrill Lynch completed an internal application integration
1            saved more than          project in 2002. The idea was to build an integration bus to pro-
2            96% on a project         vide access to mainframe-based Customer Information Control
3            with Web services        System (CICS) applications. An integration bus is a common
4                                     pathway that multiple applications can use to communicate. The
5                                     original estimated cost for the project based on message-oriented
6                                     middleware was $800,000. Then the company switched to Web
7                                     services technology. Rather than purchase software licenses for
8                                     the MOM technology on a host of different platforms and then
9                                     build a bunch of adapters to allow the various client applications
0                                     to use the MOM middleware, Merrill Lynch developed a small
1                                     SOAP gateway for the CICS environment for only $30,000. Now
2                                     any client environment can access the CICS environment using
3                                     SOAP, and Merrill Lynch doesn’t need any special software or any
4                                     special adapters on any of its systems.
7                                                          Executive Summary
8            A Web service is an      The simplest definition of a Web service is an application that pro-
9            application that         vides a Web API. The Web API exposes the functionality of the
0            provides a Web API       application to other applications. The Web API relies on Web ser-
1                                     vices technology to manage communications. Web services tech-
2                                     nology is pervasive, vendor-independent, language-neutral, and
3                                     very low-cost.

29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 45

                                                                                 Executive Summary

          The purpose of a Web API is to enable application integration.           A Web API                   1
          More specifically, a Web API lets you integrate heterogeneous             enables application         2
          applications. You can use Web services to achieve many different         integration                 3
          goals. You can use them to implement internal point-to-point appli-                                  4
          cation integration projects. You can use them to consolidate your                                    5
          development efforts and reduce redundant applications. You can                                       6
          use them to implement a general-purpose integration bus for                                          7
          your internal application systems. And you can use them to make                                      8
          it easier for your partners and your customers to do business                                        9
          with you.                                                                                            1
          Web services do not represent a new business model. Instead Web          Web services should         2
          services are a technology that you can use to build systems to sup-      support your core           3
          port a business model.                                                   business model              4
          IT departments are being asked to do more with less. There’s less        Web services let you        6
          money in the budget to buy software, and there are fewer people to       do more with less           7
          do the work. Nearly every application development project involves                                   8
          some level of application integration. It just makes sense to reduce                                 9
          the cost and simplify the process of doing integration. Web services                                 2
          are an obvious choice.                                                                               1

29731 02 pp. 027-046 r4jm.ps 5/16/03 9:57 AM Page 46

To top