{"id":65,"date":"2018-06-14T19:04:44","date_gmt":"2018-06-14T19:04:44","guid":{"rendered":"https:\/\/pressbooks.ccconline.org\/bus3060\/chapter\/ch09-4\/"},"modified":"2026-02-15T01:02:45","modified_gmt":"2026-02-15T01:02:45","slug":"ch09-4","status":"publish","type":"chapter","link":"https:\/\/pressbooks.ccconline.org\/bus3060\/chapter\/ch09-4\/","title":{"raw":"9.4 Distributed Computing","rendered":"9.4 Distributed Computing"},"content":{"raw":"<div id=\"slug-9-4-distributed-computing\" class=\"chapter standard\">\r\n<div class=\"ugc chapter-ugc\">\r\n<div id=\"fwk-38086-ch09_s04_n01\" class=\"bcc-box bcc-highlight\">\r\n<div class=\"textbox textbox--learning-objectives\"><header class=\"textbox__header\">\r\n<p class=\"textbox__title\"><span style=\"font-family: 'Cormorant Garamond', serif; font-size: 1em; font-style: normal; font-weight: bold;\">Learning Objectives<\/span><\/p>\r\n\r\n<\/header>\r\n<div class=\"textbox__content\">\r\n<p id=\"fwk-38086-ch09_s04_p01\" class=\"nonindent para\">After studying this section you should be able to do the following:<\/p>\r\n\r\n<ol id=\"fwk-38086-ch09_s04_l01\" class=\"orderedlist\">\r\n \t<li>Understand the concept of distributed computing and its benefits.<\/li>\r\n \t<li>Understand the client-server model of distributed computing.<\/li>\r\n \t<li>Know what Web services are and the benefits that Web services bring to firms.<\/li>\r\n \t<li>Appreciate the importance of messaging standards and understand how sending messages between machines can speed processes, cut costs, reduce errors, and enable new ways of doing business.<\/li>\r\n<\/ol>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<p id=\"fwk-38086-ch09_s04_p02\" class=\"nonindent para editable block\">When computers in different locations can communicate with one another, this is often referred to as distributed computing. Distributed computing can yield enormous efficiencies in speed, error reduction, and cost savings and can create entirely new ways of doing business. Designing systems architecture for distributed systems involves many advanced technical topics. Rather than provide an exhaustive decomposition of distributed computing, the examples that follow are meant to help managers understand the bigger ideas behind some of the terms that they are likely to encounter.<\/p>\r\n<p id=\"fwk-38086-ch09_s04_p03\" class=\"indent para editable block\">Let\u2019s start with the term server. This is a tricky one because it\u2019s frequently used in two ways: (1) in a hardware context a server is a computer that has been configured to support requests from other computers (e.g., Dell sells servers) and (2) in a software context a server is a program that fulfills requests (e.g., the Apache open source Web server). Most of the time, server <em class=\"emphasis\">software<\/em> resides on server-class <em class=\"emphasis\">hardware<\/em>, but you can also set up a PC, laptop, or other small computer to run server software, albeit less powerfully. And you can use mainframe or super-computer-class machines as servers, too.<\/p>\r\n<p id=\"fwk-38086-ch09_s04_p04\" class=\"indent para editable block\">The World Wide Web, like many other distributed computing services, is what geeks call a <em class=\"emphasis\">client-server<\/em> system. Client-server refers to two pieces of software, a client that makes a request, and a server that receives and attempts to fulfill the request. In our WWW scenario, the client is the browser (e.g., Internet Explorer, Firefox, Safari). When you type a Web site\u2019s address into the location field of your browser, you\u2019re telling the client to \u201cgo find the Web server software at the address provided, and tell the server to return the Web site requested.\u201d<\/p>\r\n<p id=\"fwk-38086-ch09_s04_p05\" class=\"indent para editable block\">It is possible to link simple scripting languages to a Web server for performing calculations, accessing databases, or customizing Web sites. But more advanced distributed environments may use a category of software called an application server. The application server (or app server) houses business logic for a distributed system. Individual Web served up by the app server are programmed to perform different tasks: returning a calculation (\u201csales tax for your order will be $11.58\u201d), accessing a database program (\u201chere are the results you searched for\u201d), or even making a request to another server in another organization (\u201cVisa, please verify this customer\u2019s credit card number for me\u201d).<\/p>\r\n\r\n<div style=\"text-align: center; font-size: .8em; max-width: 497px;\">\r\n<p class=\"nonindent title\"><span class=\"title-prefix\">Figure 9.6<\/span><\/p>\r\n<p class=\"indent\"><a>\r\n<img style=\"max-width: 497px;\" src=\"https:\/\/pressbooks.ccconline.org\/wp-content\/uploads\/sites\/324\/2018\/06\/a46eb8f712d5426ced0e1419814e069a.jpg\" alt=\"In this multitiered distributed system, client browsers on various machines (desktop, laptop, mobile) access the system through the Web server. The cash register doesn\u2019t use a Web browser, so instead the cash register logic is programmed to directly access the services it needs from the app server. Web services accessed from the app server may be asked to do a variety of functions, including perform calculations, access corporate databases, or even make requests from servers at other firms (for example, to verify a customer\u2019s credit card).\" \/>\r\n<\/a><\/p>\r\n<p class=\"indent para\">In this multitiered distributed system, client browsers on various machines (desktop, laptop, mobile) access the system through the Web server. The cash register doesn\u2019t use a Web browser, so instead the cash register logic is programmed to directly access the services it needs from the app server. Web services accessed from the app server may be asked to do a variety of functions, including perform calculations, access corporate databases, or even make requests from servers at other firms (for example, to verify a customer\u2019s credit card).<\/p>\r\n\r\n<\/div>\r\n<p id=\"fwk-38086-ch09_s04_p06\" class=\"indent para editable block\">Those little chunks of code that are accessed via the application server are sometimes referred to as Web services. The World Wide Web consortium defines <em class=\"emphasis\">Web services<\/em> as software systems designed to support interoperable machine-to-machine interaction over a network<sup>2<\/sup>. And when computers can talk together (instead of people), this often results in fewer errors, time savings, cost reductions, and can even create whole new ways of doing business! Each Web service defines the standard method for other programs to request it to perform a task and defines the kind of response the calling client can expect back. These standards are referred to as <strong>[pb_glossary id=\"668\"]application programming interfaces (APIs)[\/pb_glossary]<\/strong>.<\/p>\r\n<p id=\"fwk-38086-ch09_s04_p07\" class=\"indent para editable block\">Look at the advantages that Web services bring a firm like Amazon. Using Web services, the firm can allow the same order entry logic to be used by Web browsers, mobile phone applications, or even by third parties who want to access Amazon product information and place orders with the firm (there\u2019s an incentive to funnel sales to Amazon\u2014the firm will give you a cut of any sales that you send Amazon\u2019s way). Organizations that have created a robust set of Web services around their processes and procedures are said to have a service-oriented architecture (SOA). Organizing systems like this, with separate applications in charge of client presentation, business logic, and database, makes systems more flexible. Code can be reused, and each layer can be separately maintained, upgraded, or migrated to new hardware\u2014all with little impact on the others.<\/p>\r\n<p id=\"fwk-38086-ch09_s04_p08\" class=\"indent para editable block\">Web services sound geeky, but here\u2019s a concrete example illustrating their power. Southwest Airlines had a Web site where customers could book flights, but many customers also wanted to rent a car or book a hotel, too. To keep customers on Southwest.com, the firm and its hotel and rental car partners created a set of Web services and shared the APIs. Now customers visiting Southwest.com can book a hotel stay and rental car on the same page where they make their flight reservation. This process transforms Southwest.com into a full service travel destination and allows the site to compete head-to-head with the likes of Expedia, Travelocity, and Orbitz (McCarthy, 2002).<\/p>\r\n<p id=\"fwk-38086-ch09_s04_p09\" class=\"indent para editable block\">Think about why Web services are important from a strategic perspective. By adding hotel and rental car services, Southwest is now able to eliminate the travel agent, along with any fees they might share with the agent. This shortcut allows the firm to capture more profits or pass on savings to customers, securing its position as the first place customers go for low-cost travel. And perhaps most importantly, Southwest can capture key data from visitor travel searches and bookings (something it likely couldn\u2019t do if customers went to a site like Expedia or Travelocity). Data is a hugely valuable asset, and this kind of customer data can be used by Southwest to send out custom e-mail messages and other marketing campaigns to bring customers back to the airline. As geeky as they might at first seem, Web services can be very strategic!<\/p>\r\n\r\n<div style=\"text-align: center; font-size: .8em; max-width: 497px;\">\r\n<p class=\"nonindent title\"><span class=\"title-prefix\">Figure 9.7<\/span><\/p>\r\n<p class=\"indent\"><a>\r\n<img style=\"max-width: 497px;\" src=\"https:\/\/pressbooks.ccconline.org\/wp-content\/uploads\/sites\/324\/2026\/01\/89d79447ca194459ecf7ca8f3c9e3d93.jpg\" alt=\"Southwest.com uses Web services to allow car rental and hotel firms to book services through Southwest. This process transforms Southwest.com into a full-service online travel agent.\" \/>\r\n<\/a><\/p>\r\n<p class=\"indent para\">Southwest.com uses Web services to allow car rental and hotel firms to book services through Southwest. This process transforms Southwest.com into a full-service online travel agent.<\/p>\r\n\r\n<\/div>\r\n<div id=\"fwk-38086-ch09_s04_s01\" class=\"section\">\r\n<h2 class=\"title editable block\">Messaging Standards<\/h2>\r\n<p id=\"fwk-38086-ch09_s04_s01_p01\" class=\"nonindent para editable block\">Two additional terms you might hear within the context of distributed computing are EDI and XML. EDI (electronic data interchange) is a set of standards for exchanging information between computer applications. EDI is most often used as a way to send the electronic equivalent of structured documents between different organizations. Using EDI, each element in the electronic document, like a firm name, address, or customer number, is coded so that it can be recognized by the receiving computer program. Eliminating paper documents makes businesses faster and lowers data entry and error costs. One study showed that firms that used EDI decreased their error rates by 82 percent and their cost of producing each document fell by up to 96 percent<sup>2<\/sup>.<\/p>\r\n<p id=\"fwk-38086-ch09_s04_s01_p02\" class=\"indent para editable block\">EDI is a very old standard, with roots stretching back to the 1948 Berlin Air Lift. While still in use, a new generation of more-flexible technologies for specifying data standards are taking its place. Chief among the technologies replacing EDI is extensible markup language (XML). XML has lots of uses, but in the context of distributed systems, it allows software developers to create a set of standards for common data elements that, like EDI messages, can be sent between different kinds of computers, different applications, and different organizations. XML is often thought of as easier to code than EDI, and it\u2019s more robust because it can be extended\u2014organizations can create formats to represent any kind of data (e.g., a common part number, photos, the complaint field collected by customer support personnel). In fact, most messages sent between Web services are coded in XML (the technology is a key enabler in mashups, discussed in <a class=\"xref\" href=\"https:\/\/pressbooks.ccconline.org\/bus3060\/part\/chapter-07\/\" target=\"_blank\" rel=\"noopener\">Chapter 7 \u201cPeer Production, Social Media, and Web 2.0\u201d<\/a>). Many computer programs also use XML as a way to export and import data in a common format that can be used regardless of the kind of computer hardware, operating system, or application program used. And if you design Web sites, you might encounter XML as part of the coding behind the cascading style sheets (CSS) that help maintain a consistent look and feel to the various Web pages in a given Web site.<\/p>\r\n\r\n<div id=\"fwk-38086-ch09_s04_s01_n01\" class=\"bcc-box, bcc-highlight\">\r\n<h4 class=\"title\">Rearden Commerce: A Business Built on Web Services<\/h4>\r\n<p id=\"fwk-38086-ch09_s04_s01_p03\" class=\"nonindent para\">Web services, APIs, and open standards not only transform businesses, they can create entire new firms that change how we get things done. For a look at the mashed-up, integrated, hyperautomated possibilities that Web services make possible, check out Rearden Commerce, a Foster City, California, firm that is using this technology to become what AMR\u2019s Chief Research Office referred to as \u201cTravelocity on Steroids.\u201d<\/p>\r\n<p id=\"fwk-38086-ch09_s04_s01_p04\" class=\"indent para\">Using Rearden, firms can offer their busy employees a sort of Web-based concierge\/personal assistant. Rearden offers firms a one-stop shop where employees can not only make the flight, car, and hotel bookings they might do from a travel agent, they can also book dinner reservations, sports and theatre tickets, and arrange for business services like conference calls and package shipping. Rearden doesn\u2019t supply the goods and services it sells. Instead it acts as the middleman between transactions. A set of open APIs to its Web services allows Rearden\u2019s one hundred and sixty thousand suppliers to send product and service data to Rearden, and to receive booking and sales data from the site.<\/p>\r\n<p id=\"fwk-38086-ch09_s04_s01_p05\" class=\"indent para\">In this ultimate business mashup, a mobile Rearden user could use her phone to book a flight into a client city, see restaurants within a certain distance of her client\u2019s office, have these locations pop up on a Google map, have listings accompanied by Zagat ratings and cuisine type, book restaurant reservations through Open Table, arrange for a car and driver to meet her at her client\u2019s office at a specific time, and sync up these reservations with her firm\u2019s corporate calendaring systems. If something unexpected comes up, like a flight delay, Rearden will be sure she gets the message. The system will keep track of any cancelled reservation credits, and also records travel reward programs, so Rearden can be used to spend those points in the future.<\/p>\r\n<p id=\"fwk-38086-ch09_s04_s01_p06\" class=\"indent para\">In order to pull off this effort, the Rearden maestros are not only skilled at technical orchestration, but also in coordinating customer and supplier requirements. As <em class=\"emphasis\">TechCrunch<\/em>\u2019s Erick Schonfeld put it, \u201cThe hard part is not only the technology\u2014which is all about integrating an unruly mess of APIs and Web services\u2014[it also involves] signing commercially binding service level agreements with [now over 160,000] merchants across the world.\u201d For its efforts, Rearden gets to keep between 6 percent and 25 percent of every nontravel dollar spent, depending on the service. The firm also makes money from subscriptions, and distribution deals.<\/p>\r\n<p id=\"fwk-38086-ch09_s04_s01_p07\" class=\"indent para\">The firm\u2019s first customers were large businesses and included ConAgra, GlaxoSmithKline, and Motorola. Rearden\u2019s customers can configure the system around special parameters unique to each firm: to favor a specific airline, benefit from a corporate discount, or to restrict some offerings for approved employees only. Rearden investors include JPMorgan Chase and American Express\u2014both of whom offer Rearden to their employees and customers. Even before the consumer version was available, Rearden had over four thousand corporate customers and two million total users, a user base larger than better-known firms like Salesforce.com (Arrington, 2007; Schonfeld, 2008; Arrington, 2009). For all the pizzazz we recognize that, as a start-up, the future of Rearden Commerce remains uncertain; however, the firm\u2019s effective use of Web services illustrates the business possibilities as technologies allow firms to connect with greater ease and efficiency.<\/p>\r\n\r\n<\/div>\r\n<p id=\"fwk-38086-ch09_s04_s01_p08\" class=\"indent para editable block\">Connectivity has made our systems more productive and enables entire new strategies and business models. But these wonderful benefits come at the price of increased risk. When systems are more interconnected, opportunities for infiltration and abuse also increase. Think of it this way\u2014each \u201cconnection\u201d opportunity is like adding another door to a building. The more doors that have to be defended, the more difficult security becomes. It should be no surprise that the rise of the Internet and distributed computing has led to an explosion in security losses by organizations worldwide.<\/p>\r\n\r\n<div id=\"fwk-38086-ch09_s04_s01_n02\" class=\"bcc-box bcc-success\">\r\n<div class=\"textbox textbox--key-takeaways\"><header class=\"textbox__header\">\r\n<p class=\"textbox__title\"><span style=\"font-family: 'Cormorant Garamond', serif; font-size: 1em; font-style: normal; font-weight: bold;\">Key Takeaways<\/span><\/p>\r\n\r\n<\/header>\r\n<div class=\"textbox__content\">\r\n<ul>\r\n \t<li>Client-server computing: clients request services; servers deliver them.<\/li>\r\n \t<li>\u201cServer\u201d can mean software or powerful hardware\u2014any computer can run server software.<\/li>\r\n \t<li>Web servers host sites and handle basic scripting.<\/li>\r\n \t<li>Application servers run most business logic.<\/li>\r\n \t<li>Layered architecture (UI, logic, database) improves flexibility, maintenance, and upgrades.<\/li>\r\n \t<li>Web services let applications communicate; APIs define how requests and responses work.<\/li>\r\n \t<li>Web services help connect systems across apps and organizations.<\/li>\r\n \t<li>Standards like EDI and XML enable fast, low-cost, error-reducing machine-to-machine messaging.<\/li>\r\n \t<li>Distributed computing boosts speed, cuts costs\/errors, and enables new business models.<\/li>\r\n \t<li>Machine-to-machine communication reduces human friction and improves efficiency.<\/li>\r\n \t<li>Web services + APIs + open standards can reshape industries and spawn new companies.<\/li>\r\n<\/ul>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div id=\"fwk-38086-ch09_s04_s01_n03\" class=\"bcc-box bcc-info\">\r\n<div class=\"textbox textbox--exercises\"><header class=\"textbox__header\">\r\n<p class=\"textbox__title\"><span style=\"font-family: 'Cormorant Garamond', serif; font-size: 1em; font-style: normal; font-weight: bold;\">Questions and Exercises<\/span><\/p>\r\n\r\n<\/header>\r\n<div class=\"textbox__content\">\r\n<ol id=\"fwk-38086-ch09_s04_s01_l02\" class=\"orderedlist\">\r\n \t<li>Differentiate the term \u201cserver\u201d used in a hardware context, from \u201cserver\u201d used in a software context.<\/li>\r\n \t<li>Describe the \u201cclient-server\u201d model of distributed computing. What products that you use would classify as leveraging client-server computing?<\/li>\r\n \t<li>List the advantages that Web services have brought to Amazon.<\/li>\r\n<\/ol>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<p class=\"indent\"><sup>1<\/sup>W3C, \u201cWeb Services Architecture,\u201d <em class=\"emphasis\">W3C Working Group Note<\/em>, February 11, 2004.<\/p>\r\n<p class=\"indent\"><sup>2<\/sup>\u201cPetroleum Industry Continues to Explore EDI,\u201d <em class=\"emphasis\">National Petroleum News<\/em> 90, no. 12 (November 1998).<\/p>\r\n\r\n<\/div>\r\n<\/div>","rendered":"<div id=\"slug-9-4-distributed-computing\" class=\"chapter standard\">\n<div class=\"ugc chapter-ugc\">\n<div id=\"fwk-38086-ch09_s04_n01\" class=\"bcc-box bcc-highlight\">\n<div class=\"textbox textbox--learning-objectives\">\n<header class=\"textbox__header\">\n<p class=\"textbox__title\"><span style=\"font-family: 'Cormorant Garamond', serif; font-size: 1em; font-style: normal; font-weight: bold;\">Learning Objectives<\/span><\/p>\n<\/header>\n<div class=\"textbox__content\">\n<p id=\"fwk-38086-ch09_s04_p01\" class=\"nonindent para\">After studying this section you should be able to do the following:<\/p>\n<ol id=\"fwk-38086-ch09_s04_l01\" class=\"orderedlist\">\n<li>Understand the concept of distributed computing and its benefits.<\/li>\n<li>Understand the client-server model of distributed computing.<\/li>\n<li>Know what Web services are and the benefits that Web services bring to firms.<\/li>\n<li>Appreciate the importance of messaging standards and understand how sending messages between machines can speed processes, cut costs, reduce errors, and enable new ways of doing business.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<p id=\"fwk-38086-ch09_s04_p02\" class=\"nonindent para editable block\">When computers in different locations can communicate with one another, this is often referred to as distributed computing. Distributed computing can yield enormous efficiencies in speed, error reduction, and cost savings and can create entirely new ways of doing business. Designing systems architecture for distributed systems involves many advanced technical topics. Rather than provide an exhaustive decomposition of distributed computing, the examples that follow are meant to help managers understand the bigger ideas behind some of the terms that they are likely to encounter.<\/p>\n<p id=\"fwk-38086-ch09_s04_p03\" class=\"indent para editable block\">Let\u2019s start with the term server. This is a tricky one because it\u2019s frequently used in two ways: (1) in a hardware context a server is a computer that has been configured to support requests from other computers (e.g., Dell sells servers) and (2) in a software context a server is a program that fulfills requests (e.g., the Apache open source Web server). Most of the time, server <em class=\"emphasis\">software<\/em> resides on server-class <em class=\"emphasis\">hardware<\/em>, but you can also set up a PC, laptop, or other small computer to run server software, albeit less powerfully. And you can use mainframe or super-computer-class machines as servers, too.<\/p>\n<p id=\"fwk-38086-ch09_s04_p04\" class=\"indent para editable block\">The World Wide Web, like many other distributed computing services, is what geeks call a <em class=\"emphasis\">client-server<\/em> system. Client-server refers to two pieces of software, a client that makes a request, and a server that receives and attempts to fulfill the request. In our WWW scenario, the client is the browser (e.g., Internet Explorer, Firefox, Safari). When you type a Web site\u2019s address into the location field of your browser, you\u2019re telling the client to \u201cgo find the Web server software at the address provided, and tell the server to return the Web site requested.\u201d<\/p>\n<p id=\"fwk-38086-ch09_s04_p05\" class=\"indent para editable block\">It is possible to link simple scripting languages to a Web server for performing calculations, accessing databases, or customizing Web sites. But more advanced distributed environments may use a category of software called an application server. The application server (or app server) houses business logic for a distributed system. Individual Web served up by the app server are programmed to perform different tasks: returning a calculation (\u201csales tax for your order will be $11.58\u201d), accessing a database program (\u201chere are the results you searched for\u201d), or even making a request to another server in another organization (\u201cVisa, please verify this customer\u2019s credit card number for me\u201d).<\/p>\n<div style=\"text-align: center; font-size: .8em; max-width: 497px;\">\n<p class=\"nonindent title\"><span class=\"title-prefix\">Figure 9.6<\/span><\/p>\n<p class=\"indent\"><a><br \/>\n<img decoding=\"async\" style=\"max-width: 497px;\" src=\"https:\/\/pressbooks.ccconline.org\/wp-content\/uploads\/sites\/324\/2018\/06\/a46eb8f712d5426ced0e1419814e069a.jpg\" alt=\"In this multitiered distributed system, client browsers on various machines (desktop, laptop, mobile) access the system through the Web server. The cash register doesn\u2019t use a Web browser, so instead the cash register logic is programmed to directly access the services it needs from the app server. Web services accessed from the app server may be asked to do a variety of functions, including perform calculations, access corporate databases, or even make requests from servers at other firms (for example, to verify a customer\u2019s credit card).\" \/><br \/>\n<\/a><\/p>\n<p class=\"indent para\">In this multitiered distributed system, client browsers on various machines (desktop, laptop, mobile) access the system through the Web server. The cash register doesn\u2019t use a Web browser, so instead the cash register logic is programmed to directly access the services it needs from the app server. Web services accessed from the app server may be asked to do a variety of functions, including perform calculations, access corporate databases, or even make requests from servers at other firms (for example, to verify a customer\u2019s credit card).<\/p>\n<\/div>\n<p id=\"fwk-38086-ch09_s04_p06\" class=\"indent para editable block\">Those little chunks of code that are accessed via the application server are sometimes referred to as Web services. The World Wide Web consortium defines <em class=\"emphasis\">Web services<\/em> as software systems designed to support interoperable machine-to-machine interaction over a network<sup>2<\/sup>. And when computers can talk together (instead of people), this often results in fewer errors, time savings, cost reductions, and can even create whole new ways of doing business! Each Web service defines the standard method for other programs to request it to perform a task and defines the kind of response the calling client can expect back. These standards are referred to as <strong><a class=\"glossary-term\" aria-haspopup=\"dialog\" aria-describedby=\"definition\" href=\"#term_65_668\">application programming interfaces (APIs)<\/a><\/strong>.<\/p>\n<p id=\"fwk-38086-ch09_s04_p07\" class=\"indent para editable block\">Look at the advantages that Web services bring a firm like Amazon. Using Web services, the firm can allow the same order entry logic to be used by Web browsers, mobile phone applications, or even by third parties who want to access Amazon product information and place orders with the firm (there\u2019s an incentive to funnel sales to Amazon\u2014the firm will give you a cut of any sales that you send Amazon\u2019s way). Organizations that have created a robust set of Web services around their processes and procedures are said to have a service-oriented architecture (SOA). Organizing systems like this, with separate applications in charge of client presentation, business logic, and database, makes systems more flexible. Code can be reused, and each layer can be separately maintained, upgraded, or migrated to new hardware\u2014all with little impact on the others.<\/p>\n<p id=\"fwk-38086-ch09_s04_p08\" class=\"indent para editable block\">Web services sound geeky, but here\u2019s a concrete example illustrating their power. Southwest Airlines had a Web site where customers could book flights, but many customers also wanted to rent a car or book a hotel, too. To keep customers on Southwest.com, the firm and its hotel and rental car partners created a set of Web services and shared the APIs. Now customers visiting Southwest.com can book a hotel stay and rental car on the same page where they make their flight reservation. This process transforms Southwest.com into a full service travel destination and allows the site to compete head-to-head with the likes of Expedia, Travelocity, and Orbitz (McCarthy, 2002).<\/p>\n<p id=\"fwk-38086-ch09_s04_p09\" class=\"indent para editable block\">Think about why Web services are important from a strategic perspective. By adding hotel and rental car services, Southwest is now able to eliminate the travel agent, along with any fees they might share with the agent. This shortcut allows the firm to capture more profits or pass on savings to customers, securing its position as the first place customers go for low-cost travel. And perhaps most importantly, Southwest can capture key data from visitor travel searches and bookings (something it likely couldn\u2019t do if customers went to a site like Expedia or Travelocity). Data is a hugely valuable asset, and this kind of customer data can be used by Southwest to send out custom e-mail messages and other marketing campaigns to bring customers back to the airline. As geeky as they might at first seem, Web services can be very strategic!<\/p>\n<div style=\"text-align: center; font-size: .8em; max-width: 497px;\">\n<p class=\"nonindent title\"><span class=\"title-prefix\">Figure 9.7<\/span><\/p>\n<p class=\"indent\"><a><br \/>\n<img decoding=\"async\" style=\"max-width: 497px;\" src=\"https:\/\/pressbooks.ccconline.org\/wp-content\/uploads\/sites\/324\/2026\/01\/89d79447ca194459ecf7ca8f3c9e3d93.jpg\" alt=\"Southwest.com uses Web services to allow car rental and hotel firms to book services through Southwest. This process transforms Southwest.com into a full-service online travel agent.\" \/><br \/>\n<\/a><\/p>\n<p class=\"indent para\">Southwest.com uses Web services to allow car rental and hotel firms to book services through Southwest. This process transforms Southwest.com into a full-service online travel agent.<\/p>\n<\/div>\n<div id=\"fwk-38086-ch09_s04_s01\" class=\"section\">\n<h2 class=\"title editable block\">Messaging Standards<\/h2>\n<p id=\"fwk-38086-ch09_s04_s01_p01\" class=\"nonindent para editable block\">Two additional terms you might hear within the context of distributed computing are EDI and XML. EDI (electronic data interchange) is a set of standards for exchanging information between computer applications. EDI is most often used as a way to send the electronic equivalent of structured documents between different organizations. Using EDI, each element in the electronic document, like a firm name, address, or customer number, is coded so that it can be recognized by the receiving computer program. Eliminating paper documents makes businesses faster and lowers data entry and error costs. One study showed that firms that used EDI decreased their error rates by 82 percent and their cost of producing each document fell by up to 96 percent<sup>2<\/sup>.<\/p>\n<p id=\"fwk-38086-ch09_s04_s01_p02\" class=\"indent para editable block\">EDI is a very old standard, with roots stretching back to the 1948 Berlin Air Lift. While still in use, a new generation of more-flexible technologies for specifying data standards are taking its place. Chief among the technologies replacing EDI is extensible markup language (XML). XML has lots of uses, but in the context of distributed systems, it allows software developers to create a set of standards for common data elements that, like EDI messages, can be sent between different kinds of computers, different applications, and different organizations. XML is often thought of as easier to code than EDI, and it\u2019s more robust because it can be extended\u2014organizations can create formats to represent any kind of data (e.g., a common part number, photos, the complaint field collected by customer support personnel). In fact, most messages sent between Web services are coded in XML (the technology is a key enabler in mashups, discussed in <a class=\"xref\" href=\"https:\/\/pressbooks.ccconline.org\/bus3060\/part\/chapter-07\/\" target=\"_blank\" rel=\"noopener\">Chapter 7 \u201cPeer Production, Social Media, and Web 2.0\u201d<\/a>). Many computer programs also use XML as a way to export and import data in a common format that can be used regardless of the kind of computer hardware, operating system, or application program used. And if you design Web sites, you might encounter XML as part of the coding behind the cascading style sheets (CSS) that help maintain a consistent look and feel to the various Web pages in a given Web site.<\/p>\n<div id=\"fwk-38086-ch09_s04_s01_n01\" class=\"bcc-box, bcc-highlight\">\n<h4 class=\"title\">Rearden Commerce: A Business Built on Web Services<\/h4>\n<p id=\"fwk-38086-ch09_s04_s01_p03\" class=\"nonindent para\">Web services, APIs, and open standards not only transform businesses, they can create entire new firms that change how we get things done. For a look at the mashed-up, integrated, hyperautomated possibilities that Web services make possible, check out Rearden Commerce, a Foster City, California, firm that is using this technology to become what AMR\u2019s Chief Research Office referred to as \u201cTravelocity on Steroids.\u201d<\/p>\n<p id=\"fwk-38086-ch09_s04_s01_p04\" class=\"indent para\">Using Rearden, firms can offer their busy employees a sort of Web-based concierge\/personal assistant. Rearden offers firms a one-stop shop where employees can not only make the flight, car, and hotel bookings they might do from a travel agent, they can also book dinner reservations, sports and theatre tickets, and arrange for business services like conference calls and package shipping. Rearden doesn\u2019t supply the goods and services it sells. Instead it acts as the middleman between transactions. A set of open APIs to its Web services allows Rearden\u2019s one hundred and sixty thousand suppliers to send product and service data to Rearden, and to receive booking and sales data from the site.<\/p>\n<p id=\"fwk-38086-ch09_s04_s01_p05\" class=\"indent para\">In this ultimate business mashup, a mobile Rearden user could use her phone to book a flight into a client city, see restaurants within a certain distance of her client\u2019s office, have these locations pop up on a Google map, have listings accompanied by Zagat ratings and cuisine type, book restaurant reservations through Open Table, arrange for a car and driver to meet her at her client\u2019s office at a specific time, and sync up these reservations with her firm\u2019s corporate calendaring systems. If something unexpected comes up, like a flight delay, Rearden will be sure she gets the message. The system will keep track of any cancelled reservation credits, and also records travel reward programs, so Rearden can be used to spend those points in the future.<\/p>\n<p id=\"fwk-38086-ch09_s04_s01_p06\" class=\"indent para\">In order to pull off this effort, the Rearden maestros are not only skilled at technical orchestration, but also in coordinating customer and supplier requirements. As <em class=\"emphasis\">TechCrunch<\/em>\u2019s Erick Schonfeld put it, \u201cThe hard part is not only the technology\u2014which is all about integrating an unruly mess of APIs and Web services\u2014[it also involves] signing commercially binding service level agreements with [now over 160,000] merchants across the world.\u201d For its efforts, Rearden gets to keep between 6 percent and 25 percent of every nontravel dollar spent, depending on the service. The firm also makes money from subscriptions, and distribution deals.<\/p>\n<p id=\"fwk-38086-ch09_s04_s01_p07\" class=\"indent para\">The firm\u2019s first customers were large businesses and included ConAgra, GlaxoSmithKline, and Motorola. Rearden\u2019s customers can configure the system around special parameters unique to each firm: to favor a specific airline, benefit from a corporate discount, or to restrict some offerings for approved employees only. Rearden investors include JPMorgan Chase and American Express\u2014both of whom offer Rearden to their employees and customers. Even before the consumer version was available, Rearden had over four thousand corporate customers and two million total users, a user base larger than better-known firms like Salesforce.com (Arrington, 2007; Schonfeld, 2008; Arrington, 2009). For all the pizzazz we recognize that, as a start-up, the future of Rearden Commerce remains uncertain; however, the firm\u2019s effective use of Web services illustrates the business possibilities as technologies allow firms to connect with greater ease and efficiency.<\/p>\n<\/div>\n<p id=\"fwk-38086-ch09_s04_s01_p08\" class=\"indent para editable block\">Connectivity has made our systems more productive and enables entire new strategies and business models. But these wonderful benefits come at the price of increased risk. When systems are more interconnected, opportunities for infiltration and abuse also increase. Think of it this way\u2014each \u201cconnection\u201d opportunity is like adding another door to a building. The more doors that have to be defended, the more difficult security becomes. It should be no surprise that the rise of the Internet and distributed computing has led to an explosion in security losses by organizations worldwide.<\/p>\n<div id=\"fwk-38086-ch09_s04_s01_n02\" class=\"bcc-box bcc-success\">\n<div class=\"textbox textbox--key-takeaways\">\n<header class=\"textbox__header\">\n<p class=\"textbox__title\"><span style=\"font-family: 'Cormorant Garamond', serif; font-size: 1em; font-style: normal; font-weight: bold;\">Key Takeaways<\/span><\/p>\n<\/header>\n<div class=\"textbox__content\">\n<ul>\n<li>Client-server computing: clients request services; servers deliver them.<\/li>\n<li>\u201cServer\u201d can mean software or powerful hardware\u2014any computer can run server software.<\/li>\n<li>Web servers host sites and handle basic scripting.<\/li>\n<li>Application servers run most business logic.<\/li>\n<li>Layered architecture (UI, logic, database) improves flexibility, maintenance, and upgrades.<\/li>\n<li>Web services let applications communicate; APIs define how requests and responses work.<\/li>\n<li>Web services help connect systems across apps and organizations.<\/li>\n<li>Standards like EDI and XML enable fast, low-cost, error-reducing machine-to-machine messaging.<\/li>\n<li>Distributed computing boosts speed, cuts costs\/errors, and enables new business models.<\/li>\n<li>Machine-to-machine communication reduces human friction and improves efficiency.<\/li>\n<li>Web services + APIs + open standards can reshape industries and spawn new companies.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fwk-38086-ch09_s04_s01_n03\" class=\"bcc-box bcc-info\">\n<div class=\"textbox textbox--exercises\">\n<header class=\"textbox__header\">\n<p class=\"textbox__title\"><span style=\"font-family: 'Cormorant Garamond', serif; font-size: 1em; font-style: normal; font-weight: bold;\">Questions and Exercises<\/span><\/p>\n<\/header>\n<div class=\"textbox__content\">\n<ol id=\"fwk-38086-ch09_s04_s01_l02\" class=\"orderedlist\">\n<li>Differentiate the term \u201cserver\u201d used in a hardware context, from \u201cserver\u201d used in a software context.<\/li>\n<li>Describe the \u201cclient-server\u201d model of distributed computing. What products that you use would classify as leveraging client-server computing?<\/li>\n<li>List the advantages that Web services have brought to Amazon.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p class=\"indent\"><sup>1<\/sup>W3C, \u201cWeb Services Architecture,\u201d <em class=\"emphasis\">W3C Working Group Note<\/em>, February 11, 2004.<\/p>\n<p class=\"indent\"><sup>2<\/sup>\u201cPetroleum Industry Continues to Explore EDI,\u201d <em class=\"emphasis\">National Petroleum News<\/em> 90, no. 12 (November 1998).<\/p>\n<\/div>\n<\/div>\n<div class=\"glossary\"><span class=\"screen-reader-text\" id=\"definition\">definition<\/span><template id=\"term_65_668\"><div class=\"glossary__definition\" role=\"dialog\" data-id=\"term_65_668\"><div tabindex=\"-1\"><p>Programming hooks, or guidelines, published by firms that tell other programs how to get a service to perform a task such as send or receive data. For example, Amazon.com provides APIs to let developers write their own\u00a0applications and Websites that can send the firm orders.<\/p>\n<\/div><button><span aria-hidden=\"true\">&times;<\/span><span class=\"screen-reader-text\">Close definition<\/span><\/button><\/div><\/template><\/div>","protected":false},"author":217,"menu_order":4,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[49],"contributor":[],"license":[],"class_list":["post-65","chapter","type-chapter","status-publish","hentry","chapter-type-numberless"],"part":51,"_links":{"self":[{"href":"https:\/\/pressbooks.ccconline.org\/bus3060\/wp-json\/pressbooks\/v2\/chapters\/65","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pressbooks.ccconline.org\/bus3060\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/pressbooks.ccconline.org\/bus3060\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/pressbooks.ccconline.org\/bus3060\/wp-json\/wp\/v2\/users\/217"}],"version-history":[{"count":9,"href":"https:\/\/pressbooks.ccconline.org\/bus3060\/wp-json\/pressbooks\/v2\/chapters\/65\/revisions"}],"predecessor-version":[{"id":675,"href":"https:\/\/pressbooks.ccconline.org\/bus3060\/wp-json\/pressbooks\/v2\/chapters\/65\/revisions\/675"}],"part":[{"href":"https:\/\/pressbooks.ccconline.org\/bus3060\/wp-json\/pressbooks\/v2\/parts\/51"}],"metadata":[{"href":"https:\/\/pressbooks.ccconline.org\/bus3060\/wp-json\/pressbooks\/v2\/chapters\/65\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/pressbooks.ccconline.org\/bus3060\/wp-json\/wp\/v2\/media?parent=65"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/pressbooks.ccconline.org\/bus3060\/wp-json\/pressbooks\/v2\/chapter-type?post=65"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/pressbooks.ccconline.org\/bus3060\/wp-json\/wp\/v2\/contributor?post=65"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/pressbooks.ccconline.org\/bus3060\/wp-json\/wp\/v2\/license?post=65"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}