0% found this document useful (0 votes)
2 views32 pages

chapter 7

James Schultz, the CIO of Wysotronics Inc., is addressing issues with the company's disjointed computer systems and infrastructure. A meeting with his staff reveals that recent changes, including the creation of a virtual private network and a move to a colocation facility, have led to significant cost savings and improved service. Recommendations for further enhancements, particularly for the marketing and sales systems, involve utilizing cloud computing to ensure better accessibility and stability for the sales staff on the road.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
2 views32 pages

chapter 7

James Schultz, the CIO of Wysotronics Inc., is addressing issues with the company's disjointed computer systems and infrastructure. A meeting with his staff reveals that recent changes, including the creation of a virtual private network and a move to a colocation facility, have led to significant cost savings and improved service. Recommendations for further enhancements, particularly for the marketing and sales systems, involve utilizing cloud computing to ensure better accessibility and stability for the sales staff on the road.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
CHAPTER SEVEN 186 PART 3 m Essontials of Systoms Design ‘As James Schultz walked down the hall toward a meeting with his staff, he thought about his current job. For a year now, Schultz had been the vice president and chief info mation officer for a medium-sized suppliar of electronic components to several large electronics firms, including Samsung and Acer. James's company, Wysol’onics Inc., had been in business for many years, but had recently been having some problems with its internal computor systems. James was hired to fix the problems. Soon after starting this job, James discovered that most systems were functioning properly, but that the infrastructure was a hodgepodge of disjointed comput fers and networks. On the corporate side, there were accounting systems and human resource systems, both of which were desktop client/server systems hosted on a local network computer that resided in the Accounting Department. Engineering had its own database and network com- puters, which hosted several sophisticated engineering systems with intensive computing requirements. The ‘engineers’ local desktop systems were the most recent, up-to-date equipment and software. The server was also high capacity, with a large data repository to house all the engineering documents and images. Marketing and Sales also had their own systems: hosted on their own network server, which was con- nected to the Internet. The sales staff worked closely with the manufacturing and assembly plants to ensure that deliveries were on time, and they were frequently (on the road, visiting Wysotronics's clients. It was their Job to ensure that clients were satisfied with schedules, deliveries, and product quality, and they wanted to be able to access the sales and production databases while they wore on the road. Unfortunately, the servers they used weren't very stable and continually had problems, Perhaps the biggest oroblem was the supply chain management system, Wysotronies had a large manu- facturing plant, an assombly plant, and several suppliors that needed agcess to the inventory and supply chain system. The current infrastructure didn’t have enough Capabllities to provide timely information to these facil ties and suppliers, Today's meeting objective was to plan and config ure the total infrastructure of corporate systems. As he walked into the room, James was greeted by William Hendricks, who would be making a presentation sum- ‘matizing past decisions and future directions. @ Overview Fa eleva cere PUR ee de “Hi, Bill,” James said. “Will you have some new. recommendations for us today? Are there any surprises from your research?” “No surprises,” Bill said. “But you will be pleased to know that our research has validated the decisions you have made recently. We are providing better service to the company than ever before, and we are doing it at loss cost than we ever have before. | do have a few rec- ‘ommendations about how to fine-tune our infrastructure to provide even better service, though.” Itwas obvious that Bill was pretty enthused about the results of his research. “Before we start, can you give me a brief idea about where the cost savings are coming from?" James asked. “Sure,” Bil said. "As you know, we decided to cre- ate a virtual private network using the Internet for all ur supply chain and production needs. We moved all the computers to support this system into a colocation facility. We stil own the servers, but we have signed @ service agreement with the hosting company to main- tain the operating system and notwork. This has allowed Us to focus our efforts on the software itself and not distract valuable personnel with environment or con- nectivity issues. We also have not had to invest in addi- tional buildings for a larger data center. Plus, the level of service is incredible. We have had almost 100 percent Uptime since the switchover. The people in our plants really are pleased that they can check inventory levels and shipment dates from all their suppliers at any time.” “Wow. That is great news,” James said. "And what are you going to recommend for our marketing and salas system?” “Well, as you know, that is @ Web-based system,” Bill replied. “It doesn’t have the security requirements ‘that our production systems do, but it needs to be widely available. Our research has shown that we can deploy that system through @ hosting company that provides cloud computing. We have the option of going with our colocation provider or using another company We have used in the past. | think this other company is going to give us some good price concessions and will still be able to provide excellent service,” “That sounds great!” James said. “I'm intorested in hearing about the details. | assume you have also laid out ‘8 migration plan to move the systems over?” "Yes, | have done my homework on this one,” Bill said. “I think you will be pleased with the results.” Requirements defined during analysis acti ies are usually stated in a techno- logically and architecturally neutral way. That is, they're stated in a way that enables designers to choose from a variety of technologies and architectures FIGURE EM] Design activities CHAPTER 7 mDofining the System Architecture 187 Pan and monitor the project. Complete system tests and deploy the solution when deciding how best to satisfy the requirements. In contrast, system imple- menters develop and deploy software using specific technologies and within a specific architectural framework, Thus, an important part of design is choosing appropriate technologies, adapting those technologies and software to an orga~ nization’s existing technology architecture, or modifying existing architecture to support new technologies and systems. ‘Technology and architecture are usually covered as part of an entire stand- alone course or in parts of several courses in most information system degree programs. Systems analysis is usually a separate course (or two). Because this book is targeted to students completing a systems analysis and design course, a complete coverage of technology and architecture isn't appropriate. Thus, chapter serves two purposes: 1. Provide a review and summary of technology and architectural concepts ‘most important in modern systems design 2. Describe the two design activities most concerned with technology and archi- tecture: Describe the environment and Design the application components (see Figure 7-1) @ Anatomy of a Modern System ‘This section examines the technology and architectural features of a modern Web-based system—the [Link] shopping application. The discussion serves as a review of modern computer and software technology and an intro- duction to the architecture of Web-based systems. If you're already familiar with these topics, you can skip ahead to the “Architectural Concepts” section, [Link] is the largest online retailer in the world. Most of you are familiar with this Web site (see Figure 7-2). Millions of users interact with this Web site every day to find products and make purchases (see Figure 7-3). Figure 7-4 shows a simplified architectural diagram for the [Link] shopping application, Users interact with the application via a Web browser running on a personal computing device. Those devices normally connect to the Internet over wireless network connections and from there to one or more sery- ers that host the [Link] shopping application. Other servers host addi- tional software components to process payment and schedule shipments. We'll use this simple diagram as the starting point to examine the components and architecture of a typical modern information system. 188 PART 3 m Essantials of Systoms Design ‘GRE [BEI [Link] main shoooino page FIGURE details | [Link] product server aconputeror grupo omputers, ‘that manages shared resources suchas tle systems, databases, and Web sites, an enables users and oer computers ta access ‘hose resources over a netwer SRROFI sem ieanen wenie steve ts tw fire HD Ie THEY BREAK, WELL REPLACE NO QUESTIONS ASKED. 5149 seme hence = Eien AMAZON os wns onren oe oe ficw 2 See | - ee ee SevvhntGs eee Bo erandreceiragecanieniy $22 == © Computing Devices ‘The symbols along the top edge of Figure 7-4 represent servers. A server is a computer or group of computers that manages shared resources such as file systems, databases, and Web sites, and enables users and other computers to access those resources over a network. Examples of server roles include hosting a shopping application such as [Link], managing e-mail for hundreds to millions of users, managing the flow of transactions through a stock exchange, and running the numerical simulations needed to forecast weather. Smaller organizations may own a handful of servers or may “rent” server capacity from larger organizations. Large computing-intensive organi- zations such as Amazon, Google, and Facebook operate server “farms” that fill entire buildings and are interconnected and replicated on a global scale (sce Figure 7-5) CHAPTER 7 mDofining the System Architecture 188 ‘158 Arson om hone Famed os am seplcaion sinplited architecture pa ipper \azon The three icons in the lower-left corner of Figure 7-4 represent personal computing devices. Personal computing devices include desktop workstations, laptops, tablets, and cell phones, with a dizzying array of alternatives that often, blur the categories. They have the same basic hardware components as servers— processors, memory, disk or flash storage, and input/output devices—tailored to satisfy the computing needs of one user at a time. FIGURE data conter 190 PARTI mL Internet backbone network sigh pacity an high-speed computer network ‘hat cars large amounts of treet ati eros regions, counties and continents network (LAN) asmall omputer retark yicaly spanning a snle hora, smal aie or one or fa alg World Wide Web (WWW) anintercon nected st frauen aucesea vie ne Irene Uniform Resource Locator (URL) sentir oa Web resouce cntaning 2 protcal header, server name or aes, ad resource rane sentials of Systems Design 1 Networks, the Internet, and the World Wide Web The true power of modern computing lies not just in the ubiquity and power of individual computers, but in the ability to interconnect them. Social net- working services such as Facebook, information resources such as Wikipedia and Google Search, and shopping applications like [Link] all rely on the interconnection of millions of computers, their users, and the resources that they manage. [A computer network is a collection of hardware, software, and transmission media that enables computing devices to communicate with one another and t© share resources. Networks come in many sizes—ranging from small networks that span a single home or office to international networks that connect coun- tries and continents ‘Networks of all sizes interconnect with one another to form the Internet. The Internet is sometimes called the network of networks because it interconnects mil- lions of private, publie, business, academic, and government networks. The Inter- ret acts a global highway for information exchange among computing devices and their users. The largest networks within the Internet are called Internet backbone networks. They provide the high-capacity, high transmission speeds, and reli- ability needed to carry billions of messages across regions, countries, and conti- nents. Most are owned and operated by governments or large telecommunications companies. At the other end of the network size scale are local area networks (LANs), which typically span a single home, small office, or one floor of a building Servers and personal computing devices connect wirelessly or via cables to LANs. LANs, in turn, connect to the Internet via larger networks spanning groups of buildings, cities, or regions. ‘The World Wide Web, sometimes called the WWW or simply the Web, is an interconnected set of resources accessed via the Internet. Though the terms Internet and Web are used interchangeably in everyday language, the distinction between them is important for information system designers. The Internet is the “highway” over which messages and information travel from network to net work, server to personal computing device, and service provider to end user. The ‘Web is the set of resources and services that can be accessed via that highway. Web resources vary widely and include static documents (i., Web pages), images, videos, e-mail and other messages, and software-based services such as shopping sites and online games. Web resources are identified by a Uniform Resource Locator (URL) composed of three parts, as shown in Figure 7-6 TEE pars of a Unitorm Resource Locator Resource name [Link] Server name or address Inyptlik she URL afore Web resource is ded within arather Wed reroute pplication software software shat pee ‘arms use or usnes-secic tasks ands typeallycorstucted tan ap or Webbases appleaton spp _apaeation software thats itlon ‘he orge ceva ef camper orl phe system software _soltwore, suchas ‘opering systems and Web sever stare, ‘at wore boting the eeones to suapert applcatan softwar an coral or react ‘th nara or aolwarerexoucse Web-based aplication agpleaton software thatus Web oer ath werner, as aURL or appeatin access, sesa Web seveard seve ctnate somone, nd ose soa freonmnicatenbtnnen Wis tcwsar ond erer FIGURE HBA Software components of the [Link] shopping application CHAPTER 7 ml Defining the Systam Architecture 191 ‘The URL of one Web resource can be embedded within another Web resource as a hyperlink. Documents, embedded hyperlinks, and the resources pointed to by those hyperlinks form a connection network that resembles a large spider web when diagrammed—thus, the word web within the term World Wide Web. ® Software ‘The software components of the [Link] shopping application aren’t visible in Figure 7-4 because they're embedded within the servers and personal computing devices. Figure 7-7 shows the software components within blue callout boxes, Software components can be loosely grouped into two types. Application software includes software that performs user- or business-specific tasks, such as shopping, preparing customer purchase invoices, generating monthly finan cial statements, or enabling a user to play games against the computer or other users. Some application software is distributed as an app, which is installed once on a computer or cell phone’s storage device. Other applications are con- structed as Web-based applications that run within a Web browser and install little or no software on the user's device ‘System software is software that works behind the scenes to support application software and to control or interact with hardware or software resources. Examples include operating systems (OSs), database management sys- tems, Web browsers, and Web server software. OSs are an especially important class of business software because they're installed on every computing device and because they provide so many support functions used by application soft- ware. To a significant extent, the OS controls what a device can and can’t do, thus enabling or limiting the application software that can be used on the device. I Web-Based Applications Applications such as the Amazon shopping application are constructed as ‘Web-based applications. Characteristics of Web-based applications include: Use of a Web browser as the primary user interface on personal computing devices mt User access to the Web application via a URL. + Websener + Aeplation 192 PART 3 m Essentials of Systoms Design Server-side software components that execute on or are called from a Web server 1m Use of Web standards for communication between Web browser and server ‘The reasons that Web applications are so common include ease of access and use of widely adopted Web standards. However, those benefits come at a cost. Web applications are a well-defined target for security breaches because URLs and Web standards are open and widely known. Also, application perfor- mance can suffer when networks are congested ‘The impact of these challenges on the Amazon shopping application is significant, Amazon servers employ elaborate mechanisms to protect against threats such as denial-of-service attacks, bogus transactions, and interception of customer credit card and other sensitive information in transit. To ensure adequate performance for a global customer base, Amazon uses redundant and, globally distributed servers connected to Internet backbone networks, I Embedded Software A modern laptop computer, tablet computer, or cell phone comes preinstalled with a very complex OS, a Web browser, and a rich set of preinstalled apps. The OS has embedded software that provides functions for graphical display, couch screen and gesture-based input, voice recognition, speech generation, music and video playback, and access to the Internet and Web resources. Embedding these capabilities within the OS enables preinstalled or purchased apps and Web-based applications to reuse the software that implements these functions, That reuse provides important benefits, including a similar look and feel across applications and application development toolkits for software developers that automate many programming tasks and provide a direct interface to software already embedded in the device. Embedded software components extend the functions of Web browsers and Web servers in ways that enhance Web-based applications and the user experi- ence. Examples include the following: Toolbars. A set of links to Web resources or installed apps that extend the capabilities of a Web browser. For example, an Acrobat PDF toolbar pro: vides Acrobat help links and one-click access to PDF document creation, and management software, 1m Plug-ins. Web browser plug-ins are often used to correctly display certain types of Web content. For example, Amazon provides plug-ins to enable users to preview 30-second music clips before purchasing and downloading digital music files. mt Widgets. An example of a Web browser widget is a time-and-temperature or stock market widget that is always displayed in one corner of the browser no matter what Web page is being viewed. An example of a widget installed within a Web page is a program that display statistics, such as, user comments oF visits to the page. ‘The combination of a computing device’s OS, apps, Web browser, and embedded components creates a software environment within which an app or ‘Web-based application operates. That environment provides a set of supporting functions for application software, but it also creates significant development, deployment, and support issues. One such issue is whether software developers deliver application software as an app or Web-based application. If they develop an app, they gain some advantages like improved performance, higher-quality user-interface features, and the ability to perform some functions while not con- nected to the Internet. But they also incur the costs of supporting multiple OSs. For example, if developers wan their apps to be installable on most cell phones, r a setat fan procedures ta ents os ard tan tiie data exchange ad coardinaion among herdre apd sottware components, CHAPTER 7 Defining the System Architecture 193 then they'll need to develop and support three different apps—one for iOS, one for Android, and another for Windows. Developing application software that works on many device types—for example, desktops, laptops, and tablets (in addition to cell phones)—adds even more complexity. Fundamental differences in hardware and screen size forces developers to adapt application software in subtle and not-so-subtle ways. For instance, the keyboard and mouse/touch pad of a desktop or laptop computer may dictate one style of data input, while the small virtual keyboard and touch f a tablet or cell phone will dictate another approach. Screen size dictates significant differences between application software designed for a cell phone compared with software designed for a desktop computer and its large display. ‘The Amazon shopping application has an interesting approach to dealing with this complexity. Amazon doesn’t provide installable apps for iOS, Android, and Google devices. Users with devices running those operating systems use a Web application, and Amazon invests considerable resources in developing server-side application software that adapts its user experience to the software environment of the user's device. However, Amazon has also released its own, cell phone and a version of the Kindle e-reader tablet under the name Amazon Fire with a customized version of the Android OS. That OS includes embed- ded software and preinstalled apps that provide direct access to various Ama~ zon services, including shopping. In essence, Amazon has developed a complete hardware and software environment that is fine-tuned for access to Amazon services. UPS and FedEx follow a similar strategy with the devices carried by delivery personnel to record, track, and process shipments In sum, the benefits of the rich embedded software architecture of most end-user computing devices are real—reuse of already-installed software, simi- lar look and feel across multiple apps, and faster app development. But those benefits are coupled with significant problems of incompatibility and complex- ity for system designers and developers. Designers must decide which embedded software components will be included in their systems, and they must design their application software for that embedded software. Those choices determine the range of devices that can execute the application software and the costs of maintaining and upgrading it for years to come. 1 Protocols A protocol is a set of languages, rules, and procedures that ensure accurate and efficient data exchange and coordination among hardware and software compo- nents. Modern information systems rely on hundreds or thousands of protocols. Hardware, software, and network components abide by protocols because their owners and users value the results of accurate and efficient data exchange and coordination. Given the complex interconnected world of modern information systems, not abiding by protocols is unthinkable because no system could func- tion without them, Figure 7-8 shows types of protocols and their use within the [Link] shopping application I Network Protocols Network protocols enable accurate message transmission among the various computers and software components. They function as the “plumbing” that enables messages to find their way from sender to recipient, enable multiple devices to efficiently share wireless and wired connections, and handle tasks such as identifying and retransmitting lost messages, Network protocols are implemented within all computers and network hardware devices. It is rare that an information system designer needs to be concerned with networking protocols other than their security implications. For purposes of 194 PART 3 m Essantials of Systoms Design ‘GRE FB Software components ane protec types ofthe Amazon com shopping apicaton virtual private nets (vPM) secure ‘carmunieton er th Internet using oogeshatreiby deny seers and recperts, and ancrypnetwarkmesages sent among then otocol ther etnes the stustur ard content of aes pane Extensible Markup Language (XML) an IMC exten on that enables the rearing ‘wars, phrases, oraumbers to be ened information systems design, the primary challenge created by networking pro- tocols lies in deciding which network addresses and URLs the software compo- nents will use to connect with one another. This is an important issue because many computers and networks employ software programs or hardware devices called firewalls. Firewalls examine incoming and outgoing packets and block those arriving from or sent to “dangerous” URLs or network address, Thus, an information system designer must ensure that network messages among soft- ‘ware components won't be blocked by a firewall at either end, For increased security, the system designer may want to work with security and network specialists to develop a virtual private network (VPN) to isolate sensitive communications between servers or between an organization’s own employees and servers. A VPN incorporates technologies covered in Chapter 6, including Secure Sockets Layers, Transport Layer Security, and secure IP, to reliably identify senders and recipients, and encrypt network messages sent among them. ‘The [Link] shopping application doesn’t use secure network proto- cols for server-to-customer communication until the user needs to transmit sen sitive data, such as when providing credit card information. Alll traffic among Amazon servers and those of its key partners, such as payment processors and shippers, is secured using virtual private networks. I Web Protocols ‘The World Wide Web is built on a small family of protocols for encoding Web documents and hyperlinks, requesting documents from Web servers, and responding to those requests. The most important protocols include the following: mt URL. As defined earlier, a URL defines a document or resource name, location, and encoding protocol. m= Hypertext Markup Language (HTML). HTML defines the structure and content of a Web page, including encoding methods for text, images, tables, and forms with the ability to control such aspects as text font and size, and the location of text and images on a displayed or printed page. m= Extensible Markup Language (XML). XML is an extension to HTML that enables groups of users to define additional encoding within Web documents. This encoding identifies the meaning of specific words, Hypertext TansterProtocel (HTTP) 2 prota tat eines te format and conten of requeits or We dacamesardrelatd date ariucietion CHAPTER 7 Defining the System Architecture 195 phrases, or numbers. For example, in Figure 7-3 the text $13.22 might include additional encoding information that identifies it as a product price stated in U.S. dollars. A price comparison service could use such information to compare prices for the same product across multiple shopping sites. 1m Hypertext Transfer Protocol (HTTP). HTTP defines the format and content of requests for Web documents and resources, and includes some simple commands for other types of requests, such as uploading a file oF page. For example, Web browsers normally request that a Web page be transmitted for display via the HTTP GET command. Data entered by a user in an HTML form is normally transmitted back to a Web server using the HTTP POST command, m1 Hypertext Transfer Protocol Secure (HTTPS). HTTPS is an extension of HTTP that employs secure network protocols to reliably identify senders and recipients and encrypt network messages sent among them. As with network protocols, Web protocols are nearly universal and thus of little direct concern to information system designers. The primary issue is which versions of Web protocols are supported by software on servers and end-user computing devices. For example, HTMLS is a recent update to earlier HTML protocol versions. It provides some new capabilities that Web application and ‘Web service developers may want to incorporate into their systems. However, many users have older computing devices and software that don’t support HTMLS. Thus, a system developer must decide whether to 1m Rely exclusively on an older HTML protocol version, sacrificing some functionality 1m Rely only on HTMLS and thus not serve users with older or outdated devices Write multiple versions of software, one for each supported protocol Note that this sort of decision isn’t unique to Web protocols. It occurs with other types of protocols and with support for specific operating systems. ‘A user's initial connection to the [Link] shopping application uses URL that initiates the transfer of a Web page from an Amazon server to the user's Web browser. At that time, the Amazon Web server queries the user's ‘Web browser to determine its type, what protocols it supports, and the under! ing OS. That information is stored for the duration of the user's connection and used to adapt HTML documents to the specific characteristics and capabilities of the user’s device. When sensitive data needs to be transmitted, the server ini- tiates an HTTPS connection with the browser to verify its identity and encrypt/ decrypt transmitted data. Data sharing among [Link] servers, includ~ ing its key partners, uses XML encoding and employs secure network and Web protocols @ Architectural Concepts In Chapter 2, we defined two key terms that we'll spend most of this chapter exploring: Technology architecture. The set of computing hardware, network hard: ware and topology, and system software employed by an organization Application architecture. The set of information systems (the software applications) the organization needs to support its strategic plan 196 PART 3 m Essentials of Systoms Design software asa service (S2a8) asoftware every model sini twit, wich apslcatin softwar i accessec vi the Internet without calyirstaed programs ‘The technology architecture defines the infrastructure that supports appli- cation software and the services it provides. Application software is deployed on a technology architecture by distributing application components to specific hardware devices and connecting them via networks and protocols. “Technology and application architecture are interdependent. Poor technology architecture provides a weak foundation for application software and can com. prise its performance, reliability, and other characteristics. Good technology archi tecture enhances those characteristics and provides other benefits, such as minimal operating cost and flexible updating. But high-quality technology architecture can’t ake up for poor application architecture. Application software must be designed to ensure ease of construction, deployment, operation, and future updates. Popular literature and culture usually refer to technology in abstract terms, and there is an underlying assumption that any useful technology will be adopted and exploited. But an organization must trade off the potential benefits of adopting and deploying useful technologies with the cost of supporting those technologies and the possibility of overextending its ability to manage and sue cessfully exploit them. For example, should an organization immediately move its applications to “latest and greatest” technologies, or should it wait uncil it becomes clearer which of those technologies are useful and widely adopted? ‘Once it decides to adopt a technology, which “flavor(s)” should it choose? What specific hardware, software, and protocols should it deploy and support? ‘These are important questions because no organization has sufficient resources to constantly reimplement existing information systems using all pos- sible new and updated technologies. An organization must choose technologies that match its application needs and support those technologies over a period of years or decades. The technology architecture must evolve slowly over time to enable new functions, new ways of working, and new ways of interacting with customers and strategic partners. 1 Software as a Service A service is something that we purchase rather than making or doing it our- selves. For example, we consider our household utilities such as water, electricity, and trash pickup to be services. We don’t have to have our own power generator to get electricity. We just buy power as we use it. Another example is service on our vehicles. When something breaks on our ears, we pay an auto mechanic to fix it. We don’t usually operate our own repair shop. We purchase repair services from someone who does. Software as a service (SaaS) follows that same basic idea. If an orga: nization requires some services—for example, bookkeeping and accounting functions—it could build or buy an accounting software system. Alternatively, it could find a firm that provides accounting services and buy only the account. ing services it needs. As with any other utility service, it would purchase and pay only for those services it requires. It doesn’t have to purchase—or install or maintain—the software system. ‘Many applications employ the SaaS model. Examples include the following: Social networking services such as Facebook, ‘Tumblr, and Pinterest Application software suites such as Google Apps and Adobe Creative Suite Specialized applications such as the [Link] shopping application and the [Link] shipping application ‘Two common features shared by most applications that employ the SaaS model inchide the following: 1m Little or no application software is installed on the user’s device. User data is stored on servers, though copies may be stored on the user's device for improved performance. Web service sofware fureton related set of freon thatean be exaeuted via Web standards FquRt BER) shipping options for ‘an [Link] purchase CHAPTER 7 m Defining the System Architecture 197 im Web Si eS A Web service is a software service accessed over the Internet using Web proto- cols. Although the term can be used to refer to applications such as those listed above, it more commonly refers to smaller and more focused applications, such as transmitting shipping information from seller to shipper, or single functions, such as looking up the zip code that matches a shipping address. In those con texts, a Web service is a software function or related set of functions that can be executed via Web standards. In essence, a Web service is a software function, subroutine, method, or program that meets the following criteria: Is “called” from one application via a URL or other Web protocol ‘Accepts input data embedded within the URL or via another protocol Executes on the Web service owner's servers Returns processing results encoded within a Web page or document Web services enable software functions developed by organizations to be embedded within the information system of another organization, For exam- ple, consider the shipping options for an [Link] purchase, as shown in Figure 7-9. If the user selects the one-day shipping option, how will the Amazon Web application determine what shipping charge to apply to the order? ‘The Amazon Web application knows the address of the warehouse that holds the items to be shipped and the customer's address. It also knows the appro» ate dimensions of a box that will hold the purchased item, and it can calculate the weight based on the weight of the enclosed items, box, and packing materi- als, What the [Link] Web application doesn’t know and can’t calculate itself is how much a shipper such as FedEx or UPS will charge to deliver the box. Shipping companies provide Web services that enable companies like [Link] to compute shipping charges. Amazon's Web application passes shipment data to the Web service, and the shipper’s software computes the charge and then passes it back to the [Link] Web application. In essence, the [Link] Web application executes the shipper’s Web service as a sub- routine over the Web. In a similar manner, the Web application can interact Se Spence : Prose #8 — SEFC cent Choose your shipping options a ‘Shipment 1 of 1 choose «shipping speed cs elma QD FREE Two-Dey Stiooing on is ato. png en ey Sairell a ‘cng FREE Tory Srey hab Payee Siermememue FEE Ye Shp wate mine pts coer ay at Boy Tot ery tr A 1 one Shee 8 Tet A 1 198 PART 3 m Essentials of Systoms Design cliontservar architecture a saftuae esgn and eployrent method that vies sortware it eamponets that manage revowcesandcerzanertshature hose with the Visa or MasterCard Web service to approve and process a charge to the customer's credit card. For items that are out of stock, the Web application can interact with publisher Web services to locate available sale items and estimate the time to ship them to an Amazon warchouse or direct ship then from the publisher warchouse to a customer. ‘The implications of Web services for system design are significant. Summa sized at the strategic level, information system developers must do the following Scan the range of available Web services and decide which to incorporate into their software, To the extent they include other Web services, they ‘expand the functions of their own software with minimal related develop- ‘ment cost. 1m Decide which (if any) functions of their own software should be implemented as Web services and made available to other systems. To the extent they do 50, they increase the potential base of software users, but also commit to making those services available in a reliable and secure fashion over a long time period. Ata more detailed level, the decision to use ot provide Web services leads to many other questions about system design, development, and deployment, including the following: What protocols will be used to accept Web service calls and to pass data in both directions? m1 How will data passed toffrom Web services be secured? m_Even if no Web services are made available to external users, should some portions of the system be structured as Web services to facilitate access and use by other internal systems? m1 What performance and availability guarantees will be provided to Web mt What server, network, and other resources are needed to satisfy those guarantees? ‘We'll revisit some of these questions in the examples later in this chapter. @ Distributed Architectures Distribution of system components across machines, server farms, and oceans is, an inescapable facet of modern system architecture. Consider again the Amazon shopping application shown in Figure 7-8. Participating organizations (c.g., Amazon, Visa, MasterCard, UPS, and FedEx) each operate their own server farms in the locations of their choice. Further, to serve a global market and to provide higher performance and fault tolerance, each organization distributes its servers and software across dozens of locations throughout the world. Thus, a shopping session for a customer in California might be processed in an Amazon server farm in Canada. The Canadian servers might interact with UPS servers in Japan and Visa servers in Germany. I Client/Server Architecture Client/server architecture is a method of organizing software to provide and access distributed information and computing resources, It divides software into two classes: client and server. A server manages system resources and pro- vides access to these resources through a well-defined communication interface. A client uses the communication interface to request resources, and the server responds to these requests. The client/server architectural model can be applied in many ways. A sim- ple example is how desktop computers access a shared printer on a LAN, as shown in Figure 7-10. An application program on a desktop computer sends a scUne BRIE Network printing senices implemented wit cent’ Server architecture three-layer architecture aclent/orer arehiectae that divide an applieaton te euro, busines le layer, ane a layer view layer_the part a three-layer ehiectue thal contans te ase rarace business logic ayer als known asthe onain aye te gar a tee say” acts ture ta contains tne progars hat malenent ‘he business es and recesses data layer the prto a threeayer ftciectarethat erate ith the data FIGURE BD] Threo-tayer architecture User request CHAPTER 7 mDefining the System Architecture 1 a document to a server that dispatches it to a management process for the speci fied printer. The server acknowledges the client request and notifies the client when the document is sent to the printer. ‘Note that in the context of client/server architecture, the term server doesn’t refer to computer hardware, Rather it refers to software that might be embedded within an operating system, be implemented as a separate system software com- ponent such as a database management system, or provided as a service acces- sible via Web protocols. A server within client/server architecture ean be hosted within a hardware device, such as a smart printer, or one or more computer systems called servers. Server computer systems might host a single service or many different services. Also, a single service might be replicated across many different computing systems or server farms to make its services available to many geographically dispersed clients. In Figure 7-8, the customer's laptop computer acts as a client while talk- ing to the server components of the [Link] shopping application. In turn, the [Link] shopping application acts as a client to shipper and payment- processing Web services. Thus, itis possible (and common) for a single software component or system to be both client and server I Three-Layer Architecture Three-layer architecture is a variant of client/server architecture that is used for all types of systems, from internally deployed desktop applications to glob- ally distributed Web-based applications. Three-layer architecture divides the application software into three layers that interact, as shown in Figure 7-11: 1m The user interface or view layer, which accepts user input and formats and displays processing results 1m The business logic layer or domain layer, which implements the rules and procedures of business processing tm The data layer, which manages stored data, usually in one or more databases Information Data access request request — — —= — Unformates Dataaccess response response 200 PART 3 ml Essentials of Systems Dosign FIGURE BEB internal deployment with three-layer architecture Lo @ Sortware layers View layer lagic—format screens/reports Domain ayer Web/application server — Domain layer togic—implement business rules Data layer togic—formulate queries Data layer Database server One of the advantages of a client/server architecture is that it easily supports—in fact, encourages—software to be developed by using three-layer architecture. Figure 7-12 illustrates an internally deployed system with a three- layer architecture, and it shows how the three layers might be configured across three separate computing platforms: desktop and laptop clients, a Web/applica tion server, and a database server. “The view layer resides on all the client computers. The HTML is interpreted and displayed by the Web browser on the client computers. The view layer soft- ware components that format the H’ data layer consists of the database server and any application programs on the application server that are necessary to access the data. The business logic layer resides on the application server computer and includes all the logic to process the business rules. ‘A major benefit of three-layer architecture is its inherent flexibility. Interac tions among the layers are always requests or responses that follow a Web or other protocol, which make the layers relatively independent of one another. It doesn't matter where other layers are implemented or on what type of com pater or operating system they execute. The only interlayer dependencies are a common protocol for requests and responses and a reliable network with suf ficient communication capacity. Multiple layers can execute on the same computer, or each layer can operate on a separate computer. Complex layers can be split across two or more computers. System capacity can be increased by splitting layer functions across computers or by load sharing across redundant computers. In the event of a malfunction, redundancy improves system reliability because the server load can be shifted from one computer to another. In sum, three-layer archi- tecture provides the flexibility needed by modern organizations to deploy and redeploy information processing resources in response to rapidly changing conditions. L are on the application server. The @ Interoperal CHAPTER 7 ml Defining the Systam Architecture 201 y intoroperabilty the abiliy ofa component or sytem te eset ater ampanents @ Architectural Di It’s natural to feel a bit overwhelmed at this point in the chapter. We've described hardware, software, protocols, and multiple architectural concepts. You've encountered many new terms and acronyms and have developed some new per- spectives on things that you thought you already understood. You're probably searching for a framework into which you place all of the new and updated infor- mation. You'e also wondering: What does it all have to do with systems design? Interoperability is a perspective through which you can examine all of the details covered thus far. Interoperability is the ability (or lack thereof) of component or system to interact with other components or systems. The myriad hardware and software components that make up a modern information system must work together. To ensure interoperability, system designers must do several things, including the following: Understand and describe the current environment in which the system will operate. That environment includes existing hardware and software com- ponents, networks, and the protocols and APIs already in use. Look for existing software components and services that can provide needed functions for the new system. Those functions must be interoper- able with the existing environment and with components that will be built. Build components that can’t be purchased as software modules or used as a service, As with acquired components, these must be interoperable with all ‘other system components and with existing environments. Structure and assemble the components in a way that is feasible to build, test, deploy, and operate over the long term. ‘That sounds like a tough and complex job because it is. Successful system designers are knowledgeable and experienced. They acquire a broad and deep knowledge of all of the topics discussed thus far in this chapter. They learn to apply that knowledge by working as developers and by gradually completing design tasks for larger and more complex subsystems and systems. They constantly update their knowledge to keep up with rapidly changing technology. And they work in teams because no one person can hold and successfully apply all of the knowledge needed to design and deploy a large-scale modern information system, grams Architectural diagrams are commonly used to visually describe an information system's environment, components, and deployment. As with other diageams used in systems design, architectural diagrams summarize complex details in a way that’s easy for people to understand. The following sections briefly look at three widely used architectural diagrams: location, network, and deployment diageams. 1 Location Diagrams Location diagrams are commonly used to show the geographic placement of various system components, including hardware, buildings, and uscrs. Location diagrams are developed carly in the design process to describe a system’s em ronment. simple example from the RMO case will suffice to show how loca- tion diagrams are constructed. RMO’s main offices consist of the corporate headquarters as well as a large retail store, a manufacturing plant, and a large distribution warehouse in Park City, Utah. Park City is where the company got its start and where it opened its first retail store, Salt Lake City is, in many ways, the hub for RMO’s daily 202. PART 3m Essentials of Systems Design FIGURE showing RMO's warehouses, ‘manufacturing plants, and retail stores network diagram 2ode that shows how lection ardharcwarecomparent eit ‘carnected with network does an ing ‘a Retail stores [Distribution warehouse centers “© Manufacturing plants operations. The primary data center is located in a separate building in Park City. There are two distribution centers: one in Portland, Oregon, and the other in Albuquerque, New Mexico. Additional manufacturing is done in Seattle, ‘Washington. Figure 7-13 is a location diagram showing retail, manufacturing, and distribution locations. Network Diagrams A network diagram shows how locations and hardware components arc inter- connected with network devices and wiring. There are many different kinds of network diagrams—each emphasizing different aspects of the network, con- nected hardware resources, and users. Figures 7-4, 7-7, and 7-8 are all network diagrams. Figure 7-14 shows another network diagram that focuses much more specifically on network con- nections and network hardware. A diagram of this type is typically used to describe network connections in a building or within a server room. Deployment Diagrams A deployment diagram describes how software components are distributed across hardware and system software components. Figure 7-15 shows soft- ware subsystems and database components distributed across two servers. ‘Gun BRE Networc iogram showing bulding or server room details FoURt PEE Deployment diagram for BMO subsystems CHAPTER 7 mDofining the System Architecture 203 On the left, an application server hosts Microsoft Internet Information Server, which in turn hosts multiple CSMS subsystems. The subsystems and their dependencies are represented as embedded package diagrams. On the right, a database server hosts Microsoft SQL Server 2013 as the database management system (DBMS). In turn, the DBMS hosts three database schemas that provide permanent storage of customer, order, and product data. Software components in the application server communicate with the DBMS using SQL as the primary protocol and database access language. @ Describing the Environment Returning for a moment to Figure 7-1, notice that describing the environment is, the first design activity. As discussed in Chapter 6, that description includes two key elements: m External systems im Technology architecture A large-scale information system such as RMO’s CSMS will typically interact with a few dozen external systems, including other systems owned by RMO (c.g,, financial reporting and supply chain management systems) and systems owned or operated by other organizations (e.g., payment processors 204 PART 3 mEssontials of Systems Dosign and shippers). Furthermore, a new system isn’t developed in a technology vacuum. Rather, the owning organization has many existing systems and a technology architecture that supports them. Thus, any new system must integrate with that technology architecture. If the new system requires technology architecture changes, they must be carefully considered and coordinated with the existing architecture and systems. You've already reviewed many key aspects of external systems and technol ogy architecture. You've also learned about three different types of diagrams that can be used to summarize environment information. The rest of this section first explores some of the key questions that must be answered when describing the environment. It then looks at a specific RMO example to show you how those questions are applied in practice. Finally, it discusses some specific issues of data integration that must be addressed when interconnecting multiple appli: cation components and systems i Key Questions A usefal way of starting to describe the environment is to pose a series of ques- tions. The answers to those questions provide a pool of information to be sum- marized in diagrams and supporting text. The following questions are a typical starting point: 1. What are the key features of the existing or proposed technology environ- ‘ment that will support or constrain the system? a. What operating systems will be used? 'b, What other system software (e.g., Web server, database management, and. intrusion detection software) will be used? €. In what ways are network messages filtered or otherwise secured? Are any changes required to support interactions with external systems or user-interface devices? 4d, What APIs and development tools are compatible with the existing technology environment? 2. With what external systems and databases will the system under devel ‘opment interact? For each system or database, answer the following questions: ‘a. What is the timing and frequency of each interaction? b, What is the data content of inputs to and outputs from the system? ©. What protocols will format and encode data flowing to or from the external system? <4. What are the security requirements of each inflow and outflow? ¢. What security methods and protocols will be used to satisfy the security requirements? ‘What devices will be used for automated inputs and outputs? a. What protocols will format and encode data flowing to or from the devices? b, What are the security requirements of each inflow and outflow? €. What security methods and protocols will be used to satisfy the security requirements? 4, What APIs and development tools are compatible with the existing technology environment and required automated inputs and outputs? 4. What user-interface technology will be used? a. Where will users be located? 'b, What hardware device(s) will users use? €. What operating systems will run on “smart” user-interface devices? Ficune BIB Avo’: current technology architecture CHAPTER 7 m Defining the System Architecture 208 . On what other user device software will the system rely (e.g., browsers, plug-ins, and software utilities embedded in the device)? ce. What protocols will format and encode data flowing to or from user devices? £. What are the security requirements of each inflow and outflow? & What security methods and protocols will be used to satisfy the security requirements? hh, What APIs and development tools are compatible with the existing technology environment and required user interfaces? Once the answers to these questions have been recorded, the designer can then begin developing architectural diagrams to summarize system interfaces and technology architecture. However, some details of those diagrams must be revisited when designers complete the next design activity: design the applica- tion components. 1 RMO Environment Description igure 7-16 shows a network diagram describing RMO’s current technology architecture. Along with the data center in Park City, RMO has internal net works in every office, warehouse, manufacturing plant, and retail store. In addi- tion, the distribution centers and manufacturing plants are all connected to the central data center and to the corporate offices in Park City by a VPN. Retail outlets are connected by a separate VPN to the central site. Separate servers host each primary system and a Gigabit LAN connects all servers and users in the data center and corporate offices. Chapter 2 described several planned updates to the current system to develop the CSMS. This section focuses on a handful of updates to demonstrate how the environment is affected: Support for mobile end-user computing devices, including dedicated apps for tablets and smartphones Updated support for Web technologies, including user content adapted to device characteristics and structuring of key system components and functions as Web services Direct interface to social networking sites to enable opinion sharing about RMO products Consideration for the use of external service providers to host all or part of the CSMS 206 PART 3 MEssontials of Systems Design ‘The following subsections briefly address the impact of these updates as answers to the key questions posed above. I Mobile Devices and Apps ‘The current technology architecture connects users to the system using desktop or laptop computers. Expanding the range of user devices to include tablets and smartphones will require updates to the supporting system software, APIs, and development tools. The current system relies on servers running the Windows operating system with Internet Information Server as the Web server. That infrastructure is sufficient to support apps in all of the current flavors (iOS, Android, and Windows} though additional plug-ins will have to be installed and configured in each device to support each app type. I Web Technologies and Adapted Content Because some users won’t install an app, the CSMS must also support a browser- based user interface with support for multiple screen sizes, Web browsers, and plug-ins. That will require more complex user-interface coding than exists in the current system, which simply serves static Web pages and forms. The updated user-interface coding will need to query the user’s device and browser and adjust the content of the Web pages transmitted to match the device characteristics. As ith the apps, this may require supporting more modern Web protocols such as HITMLS and updated APIs and development tools. Structuring newly deployed applications as Web services will require changing the way that RMO configures and manages servers, Note that each server in Figure 7-16 is dedicated to a specific system. Modern technology architecture that supports Web services generally organizes servers by type of service (c.g., Web, application, database, or video content) with each server hosting services or components from multiple information systems. In addition, groups of servers are generally deployed for each service type to provide service continuity in case one machine fails. II Social Networking Some of the impacts of incorporating social networking into the system mirror those described earlier for apps and Web pages that adapt to the user’s device Social networking services provide the ability to interface with external systems in two ways: mA Web services interface An APTand toolkit that enable developers to create customized functions and embed them within the social networking site and interface Additional research is required to determine whether one or both of these methods are needed to implement the social networking capabilities of the SMS. That research must be repeated for each social networking ser- vice (e.g., Facebook, Twitter, Pinterest, and Google+) with which the CSMS will interact. Of course, the choice of interaction method, the Web services protocols, and the API and development toolkit will vary among the social networking services It Security Implications Supporting apps, multiple browsers with plug-ins, and interfaces to social networking sites will probably require security updates to the current tech- nology architecture. Apps will need to be digitally signed prior to distribu- tion via the app stores for each device's operating system. In addition, some browsers and plug-ins require transmission of digitally signed code frag- ments that are encrypted with the organization’s public key. Similarly, social FicURE PAD RM0's updated technology architecture for te CSMS CHAPTER 7 mDofining the System Architecture 207 networking services implement stringent security protocols to protect them- selves against malicious plug-ins and intrusions via Web services. Designers of the updated CSMS will have to work closely with system and network administrators to determine what updates to security configuration will be required. I Updated RMO Technology Architecture Figure 7-17 updates Figure 7-16 to explicitly incorporate support for mobile devices, apps, and social networking. Note the increased complexity of the dia- gram, including additional user-interface devices, upgraded network speeds, an increase in the number of servers, grouping servers by service type, the addition of content management servers for images and videos, and additional external service providers. The diagram doesn’t capture additional complexity associated with updated security configuration and more complex software hosted within RMO’s application servers. Increased network bandwidth is needed throughout the architecture due to use of Web services, the increased complexity of user interfaces, and increased use of graphics and video. Note that transition from the old technology architecture to the new may take months or years due to the need to redeploy and update legacy systems not replaced by the CSMS. II External Hosting “The right side of Figure 7-17 summarizes a lot of complexity and cost. Updates to the data center will be expensive, as will operating, managing, and maintain- ing it over time. Further, locating all key software and hardware assets in a single data center is risky. RMO risks customer dissatisfaction and loss of sales, revenue if the data center were to be offline for any reason. External hosting of all or part of the CSMS is an option that can reduce risk, improve performance, and possibly reduce cost. Hosting the application with a national or global company, such as Google or Amazon, would enable RMO to take advantage of an existing and highly distributed computing infrastrac~ ture, Key components could be replicated at multiple locations to improve per- formance and to provide fault tolerance, Costs might be lower duc to improved economies of scale. Even if costs were the same or slightly higher, hey might be justified by improved performance and fault tolerance. 208 PART 3 MEssontials of Systems Design m De: ining Application Components Chapter 6 defined an application component as a well-defined unit of soft- ware that performs one or more specific tasks. That definition masked some important details, including variations in component size ranging from single subroutines or methods to entire subsystems; variations in programming lan- guage, protocols, and supporting system software; and the ability to build, buy, or freely access components as Web services of entire SaaS systems. This sec~ tion concentrates on defining the functions and boundaries of larger application components, including Web services and subsystems. Design of smaller applica- tion components, such as classes and packages, is covered in later chapters: & Application Component Boundaries Systems analysis activities collect and document various aspects of systems requirements that are needed to design application components. A key question to be answered when designing application components is which components, ill perform which functions? Answering this question can be approached from a top-down or bottom-up perspective. With a top-down approach, the designer thinks of the entire system as a single component performing all of the functions described during analysis activities. The designer then breaks this large com- ponent into smaller components in a generic process called factoring. With the bottom-up approach, the designer considers each function separately and looks for similarities as a basis for grouping software that implements the functions into larger application components With either approach, the designer looks for similarities among system functions to guide factoring or grouping. But how does a designer determine or measure similarity among system functions? When answering that question, it helps to focus on specific analysis activity descriptions like events and use cases. Events and use cases incorporate attributes that can be used to measure similar- ity, including the following: 1m Actors, Each use case identifies one or more specific actors. Software for ‘use cases that interact with the same actors is a candidate for grouping into a single application component. mt Shared data. Use cases that interact with the same domain class(es) are candidates for grouping into a single application component. im Events. Use cases that ate triggered by the same external, temporal, or state event are candidates for grouping into a single application component. 1 _RMOCSMS Application Architecture Lets illustrate how use case similarities ean be used to define the boundaries of application components for a portion of RMO’s CSMS. Figure 7-18 combines information about use cases, domain classes, and events as defined in earlier chapters and shows all use cases in which Customer is an actor or user. The far-right column shows prospective groupings of those use cases, which are dis- cussed further below. Groups A-D include all use cases related to sale or return activities that can be performed online by the customer (Groups C and D) or with the assistance of a phone (Groups A and C) or store sales representative (Groups B and C). Group D includes use eases that are unique to the customer's online experience, includ~ ing the online shopping cart. Group E cases cover various nonshopping aspects of the customer experience, such as product ratings and friend links. In essence, Groups C-E describe the customer's entire online experience while interacting with the CSMS. CHAPTER 7 Mm Defining the System Architecture ‘CURE HEE CSM use costs for the Customer useractor 209 Saleltem, Sale, SaleTrane shopping instore Create phone sale Phone sales representative | Producer, Inentorytem, | Customer request while a Saleem, Sale, SeleTran shopping by prone Create sore sale Store sales representative | Producttom, Inventoryiem, | Customer request while a Createlupaate Customer, phone or store sales representative (Customer, Account, Aadreze ‘Customer request orale Took up order status Shipping, customer rmanagemen. prone of store sales representative Producttom, hventoryiem, Saleem, Sate, SaleTrans, Shipment, Returner Dostomer,represeniive, shipping, 9¢ management request Track spre ‘Shipping, customer, management. phone oF ‘Shipment. Shioper, Sallam ‘Customer, representative shipaing. oF management Create tem return Customer, phone or store sales representatne Saletter, Returlters (ustomer requests return Search far erm Customer, phone or store sales representatne Preducttem (Customer request while shopping online, by phone, orn stare View product comments and ratings ‘Customer, phone o stare sales representative Producttem, Produettomment Customer request while shopping trline, by shone, orn store View accessory ustomer, phone or sore ies representative Productlem, AcessoryPackage (Dustomer request while shopping online, by phone, orn store Fill shopping cart Customer Preductitem, inventoryiem, Cartier, Oninetart Customer request, usualy ster sale completed Emly shopping cart Productker, Inventoryiem, Carter, OnineCar Sater shopping online Transfer ‘mountain bucks" Customer Customer, Sale Customer request wh shopping online Checkout shopping ark | Customer Preducttom, Inventorjiem, | Customer request whi Ccarttten, OninsCar, Saleem, | shopping ontne Sale, SaleTrane a Fillreserve cart ‘customer Preducthem, Inventorytem, | Customer request while Carter, Online Car shopping online Emly reserve cart Customer Productttem, iventoryttem, | Customer request while Carttten, Oninetart shopping onine Conver reserve car Customer Preducttem, Inventorytem, | Customer rag Carter, OninsCart shopping online Rateandcommentan | Customer Customer, Produeiomment, | Customer request, usually product Prodiettom after sale competed Provide suggestion (Customer Customer, Suggestion ‘ustomer request while shopping online vd message Customer Customer, Message ‘Customer request wh shopping enine Browse message: ‘store Customer, Message ‘ustomer request while shopping online Requastiriend linkup | Customer (Customer, FrendLink Customer request while shopping enline Replytolinkuprequest | Customer (Customer, Frendlink (Customer request while shopping enine Sendireceive partner | Customer ‘Customer, CustPartnerCredt, | Customer request while credits PromoPariner shopping onine View ‘mountain buck” | Customer Customer, Sale ‘Customer request while 210 PART 3 m Essentials of Systems Design F1GURE HEE Deptoymentcagram fer RMO CSMS customer-onented Look again at the generic description of three-layer architecture in Figure 7-11 and consider how it might be applied to the use cases in Figure 7-18. Consider that five different actors will interact with the use cases in Groups A-C using different devices and in different operational contexts Phone sales representative. Interacts with the customer by phone while using a desktop computer to perform sale and return functions Store sales representative. Interacts with the customer in person while using, 4 point-of-sale terminal or tablet computer = Customer, Performs functions using a smartphone, tablet, laptop, desktop computer, or other device (¢.g., an Internet-capable television) Shipping. Performs return functions using a tablet or desktop computer mt Management. Performs order and shipment functions using a tablet, laptop, or desktop computer ithe domain model is implemented within a single database, the underlying set of use cases can be organized as one data layer interacting with one or more busi- ness layers. Use cases could be grouped into business layers in multiple ways. For example, each use case group could be a separate business layer. However, because all of the use cases (Groups A~D) have significant overlaps in users, domain classes, and events, it makes sense to combine them into a single business layer. ‘The single business layer interacts with multiple view layers, each optimized for a different combination of user and device, View layers are customized for cach user type by omitting connections to irrelevant use cases and by optimizing the user-interface design to workflow and context. For example, the user inter~ face for a phone sales representative would omit Groups B, D, and E use cases and be optimized for rapid data entry using a desktop computer with multiple large displays. In some eases, such as a shipping representative using a tablet or desktop computer, a single view layer can support multiple device types. In other eases, such as customers shopping online, different view layers are required for some devices due to significant differences in device capability or screen size Figure 7-19 shows a deployment diagram describing the three-layer archi- tecture for the CSMS use eases in Figure 7-18. Note that the diagram distributes the three layers across two servers—one hosting the data layer and the other combining the business and view layers. Of course, the two servers could be clustered or replicated across multiple locations. The diagram represents one distinct CSMS subsystem in enough detail to enable user-interface, database, and lower-level software design activities to proceed. 1 Application Component Integration Modern application developers are often faced with the task of integrating leg- acy systems, purchased application components, third-party SaaS applications, and custom-developed components. Recall from Chapter 2 that RMO's CSMS CHAPTER 7 Defining tho System Architecture 211 FIGURE RMO subsystems Inventory Purchases and Supt tain s} suming nd iia reporting Inventor Sales Tradeshow a and Payroll ees ‘Human resource L_ teem marketing manecarnere: os will replace the legacy phone and retail store sales systems, but not the Supply Chain Management (SCM) system. Recall from Chapter 1 that a Tradeshow System is also under development. Also, like any large company, RMO has other systems, including a SaaS Financial planning & peporting (FPR) system and a purchased Human resource management (HRM) system. Figure 7-20 summa: rizes the RMO systems and their interactions. ‘Transaction information that affects accounting records and financial reports flows into the FPR system from three other systems. If the systems were all internally developed and implemented, the FPR system could directly access the databases of the other systems. But because the FPR is a SaaS application, developers at RMO have no control over its internal implementation. Because it’s impractical for a SaaS provider to rewrite their application to access the unique internal systems of every client, most SaaS developers take one or more of three approaches to data inflow from other systems: Batch data export and import, Data from the source system is extracted and stored in a “neutral” format such as a comma-delimited, Excel, or XML file. The files are stored in an accessible location such as an FTP server and the SaaS system periodically executes a script that copies the file(s) and imports their contents. Data import via Web services. The SaaS system provides general-purpose ‘Web services for data import. User organizations develop customized data export software to extract data from their systems or databases and pass it to the SaaS system via Web service calls. Data exportiimport can occur periodically in batches or per update in real time. Direct access to commonly used third-party applications. When a sufficient number of clients use the same purchased or SaaS software for other pur- poses, a SaaS provider might develop a specific data export/import utility for that system. For example, many colleges use BlackBoard Learn as a learning management system and Elucian Banner as their student informa- tion system. Because each system needs access to the other's data, both ven- dors have an incentive to develop data exportiimport software that directly accesses the database of the other system. RMO currently uses batch data export and import to move financial data from the SCM and HRM systems to the FPR system. RMO-developed scripts export purchase and return transactions from the previous day and store them in an Excel file at midnight. The FPR system is configured to access that file at 212 PART 3 m Essentials of Systems Dosign 2:00 A.M. and add all the transactions to the financial records. The benefits of this approach are low cost and complexity. The drawback is that financial records don't reflect purchasing transactions as they occur. A manager viewing purchas- ing-related accounts through the FPR system is looking at yesterday's data. HRM data export to the FPR system is handled similarly, though the export occurs every two weeks to coincide with payroll generation and the file format is XML. The drawbacks and benefits are similar, though the issue of managers accessing “old” data through the FPR system is more significant. Employee time and attendance data is captured daily through the HRM system, but that data isn't shown on RMO financial reports until payroll is generated. Extra accounting steps are thus required at the end of each month to manually adjust accounting records for accrued payroll cost so that financial reports are accurate, Sharing inventory information among three internally developed systems ere ates more significant integration challenges. The CSMS will replace the legacy phone and retail store sales systems that generate updates to inventory levels and financial transactions. In theory, the CSMS, SCM, and Tradeshow systems could share the same underlying database, thus eliminating the need to export or import inventory data among them. However, the SCM isa legacy system that RMO would prefer to leave untouched during development of the Tradeshow System and CSMS. Note the two-way arrow between the SCM system and the CSMS in Figure 7-20. Both systems read and update inventory records and need current and accurate data. So which system “owns” inventory records? The answer is that they both do, and that answer implies that the systems should share real- time access to common data. But implementing that solution would require the new CSMS to use the legacy SCM system's database. Though that solution is technically feasible, it forces new application software to interface with an older DBMS, which may limit some desired capabilities of the CSMS. Also, what about noninventory data used by the CSMS? Will the SCM database be expanded to inelude that data or will the CSMS access two different databases? RMO management is reluctant to ereate too many dependencies between new and old systems. Thus, they've decided to use a separate database to sup- port the CSMS. No changes will be made to the SCM, which will continue to use its current database. Those decisions force a choice concerning inventory data. One of the systems must be declared the system of record for inventory system otrecordasystenorapliation data, A system of record maintains a master copy of data that is correct and cemponentthaimartaasthecurettard current, Any other system that maintains a copy of the same data must periodi- coneecmastercoryforeormaredstaiers cally synchronize it with the system of record. Figure 7-21 shows the detailed impact of declaring the CSMS to be the sys- tem of record for inventory data. CSMS developers will create a Web service that imports and exports information about inventory data for the CSMS database. The Web service format will enable updates over the Internet and provide future extensibility. The Web service will push data updates to the databases for the other two systems and copy any updates from those systems back to the CSMS Ist va inventory data CURE HEB] AMO inventory dat = a synchronization me screen ‘eon "Sen + Sore ste sy = an CHAPTER 7M Defining the System Architecture 213 database. The Tradeshow System accepts inventory level updates nightly and sends back any new inventory item records created by RMO buyers. Updates to/from the CSMS and SCM system are more frequent because current data is more criti- cal to both systems. The SCM system processes product shipments from vendors, and the CSMS needs to know of them quickly so that customers see inventory as it becomes available, and so that shipments for current orders and back orders can be quickly generated. The SCM needs frequent updates of inventory levels due to sales and shipments so that it can generate timely reorders from vendors. CHAPTER SUMMARY ‘This chapter described early activities that bridge the ‘gap between systems analysis activities and detailed design activities, such as user-interface design, data- base design, and internal design of software compo- nents. Those bridge activities include describing the system environment and designing its application components. Describing the system’s environment re- quires describing its technical architecture and any interfaces with other systems. Designing the applica- tion components requires allocating system functions to components, describing how data is shared among those components, and describing how the application NMS components are distributed across the technical architecture. Diagrams developed during these design activities include locations, network, and deployment diagrams. Location diagrams are customized maps that show the physical locations of users and computing devices. Net- work diagrams show computing devices and the networks that connect them. Network diagrams can be annotated in various ways, including callouts that show embedded soft- ware components and protocols. Deployment diagrams show how specific software components are hosted within system software components and computing devices. app application software business logic layer client/server architecture data layer domain layer Extensible Markup Language (XML) hyperlink Hypertext Markup Language (HTML) Hypertext Transfer Protocol (HTTP) REVIEW QUESTIONS interoperability protocol server Hypertext Transfer Protocol Secure (HTTPS) Internet backbone network local area network (LAN) network diagram system software three-layer architecture Uniform Resource Locator (URL) view layer virtual private network (VPN) Web-based application Web service World Wide Web (WWW) software as a service (SaaS) system of record 1, What is a server? Do all organizations with infor- mation systems own servers? Why or why not? 2. Compare and contrast Internet backbone networks with local area networks. 3. Is the Internet the same thing as the World Wide ‘Web? Why or why not? 4, Describe the parts of a URL. 5. Compare and contrast application and system software. Lista few specific examples of each type. 6. Which is more secure, an app or a Web-based application? How or why? WAT 214 PART 3m Essentials of Systems Design 7, List three types of embedded software on a typi- cal smartphone, Of what benefit is embedded software to an application software developer? 8. What is the role of protocols in modern software and systems? 9, List and briefly describe at least three commonly used Web protocols 10, Briefly define the terms technology architecture and application architecture. How are they dif- ferent? How are they interdependent? 11. Describe software as a service. What features dis- tinguish it from application software installed on a personal computing device? 12, How or why are Web services important to designing and constructing modern application software? What decisions does a system designer need to make concerning Web services? 13. In what way(s) is three-layer architecture dif- ferent from client/server architecture? In what way(s) is it similar? 1. Investigate the technical and application archi- tecture of a large-scale digital content provider such as iTunes or Google Play services. Update the architectural diagrams in the first half of the chapter to match your chosen provider. Explain. any differences from the original diagrams describing the Amazon shopping application. 2, A medium-sized engineering firm has three sepa- rate engineering offices. In each office, a local LAN supports all the engineers in that office. Due to the requirement for collaboration among the offices, all the computers should be able to view and update the data from any of the three offices. In other words, the data storage server within ‘each LAN should be accessible to all computers, no matter where they are located. Draw a net- ‘work diagram that will support this configuration, Data Integration at Cooper State University Cooper State University (CSU) has used a paper-and-pen- «il survey system to gather student feedback on instruc- tors and courses for over two decades. Paper forms are passed out to students during a class period near the end 14, List and briefly describe the function of each layer of three-layer architecture. On what type of com- puting device is each layer typically deployed? 15, How or why is interoperability such an impor- tant consideration in designing and deploying a modern system? 16, List and briefly describe three common types of, architectural diagrams developed and used by system designers. 17. Describe the key questions that should be asked and answered when a system designer is describ- ing the environment of a system 18, How are use eases and related information used by designers when designing application components? 19. What is a system of record? Under what cone tions does a designer need to declare one system to be the system of record for a specific type of data? Under what conditions can a system designer avoid doing so? PROBLEMS AND EXERCIS 3. Consider the differences in physical character- istics among a current smartphone, a current tablet, and a current laptop computer with a 15-inch or larger screen. Also consider the student-facing Web applications you use at your college to access course learning materials, regis- ter for classes, and pay college-related bills. For which devices is a unique view layer required? ‘Why? Should any of the applications be con- structed as an installable app? Why or why not? 4, Reexamine the decision made in the RMO example at the end of the chapter to make the CSMS the system of record for inventory data ‘What would be the impact of deciding that the SCM system is the system of record for inventory data? How would Figure 7-21 change? of the semester, Class information and survey questions are preprinted on the forms and empty circles are provided for each answer, Students fill in one of the citcles for each question with a pencil, Written comments can be provided fon the back of the form, The forms are delivered to a pro- ‘cessing service in Nebraska, which scans the forms, sum rmarizes the responses, and produces printed reports that are sent back to CSU along with the survey forms. The re- ports and survey forms are distributed to department cnaits ‘who review them and then distribute them to instructors CSU wants to replace the existing system with a mode ‘ern online survey system. Several vendors market such systoms as SaaS Web-based applications. Tho systoms all have similar data integration needs with existing CSU systems, including the following: Data about course sections, assigned instructors), and registered students must be imported from either CSU's online learning management system (LMS) or its student information system (SISHthe same sys- tem that stores grades and transcripts. mt Asurvey for a specific student and course section must be accessible as a hyperlink from within the course section's Web page in CSU's oniine LMS. Instructors may configure the LMS to record whether 4 student has completed the survey in the grade book and provide points toward the course grade as @ reward for completing the survey. Access to the survey sysiem should be restricted to CSU instructors, stat, administrators, and students Using the same user ID and password they use to access other CSU applications. CSU uses 2 Central RUNNING CASE STUDIES Community Board of Realtors® ‘The Community Board of Realtors Multiple Listing Service is a small system with limited requirements. In Chapter 3, you identified a complete list of use cases. ‘Using the results from your earlier work, do the following: 1. Discuss the requirements of this system for mobility devices. What use cases would be best The Spring Breaks ‘R’ Us Travel Service ‘Complete the following tasks: Develop a simple network diagram that includes all four SBRU subsystems (resort relations, student booking, accounting/finance, and. social networking) assuming that all server-side hardware and software resides at the SBRU home office. m List the advantages and disadvantages of host- ing all server-side hardware and software at the SBRU home office compared with using a large cloud service provider such as Amazon or Google. Complete the following tasks: 1 CHAPTER 7 ml Defining the System Architecture 21 ‘Authentication Server (CAS) 10 store usernames and passwords. Other CSU systems interact with a CAS Web service when they need to authenticate a user trying to access the system. Students view their final course grades via aWeb application that is part of the SIS. CSU wants to delay ‘students’ ability to view their final grades by one woek unloss that student has comploted survoys forall ‘courses in which thoy are registered, Draw a network diagram that summarizes the sys toms described above; devices used by administra 1015, staff, instructors, and students; and the network connections among them. Assume that the current survey system willbe replaced by a new Web-based ‘system. Assume further that each existing CSU sys- ‘tem is hosted on its own server, Which systems need access to current data regarding course sections, their assigned instructors, and regis tered students? Select a system to be the system of record for that data and justify your decision. Draw a diagram similar to Figure 7-21 to summarize all required synchronizations, utilized on a mobile device? What use cases would be best with a desktop user interface? 2. Should this application be architected and de- ployed as 2 Web application? What would be critical factors to consider if it wanted to deploy this application as a Web application? Answer the following questions: 1, Assuming that external hosting costs are roughly equivalent to the cost of operating, staffing, and maintaining a server room at the home office, do the benefits of external hosting outweigh the costs? 2, Does your answer to question #1 change if external costs are 50 percent greater than operating, staffing, and maintaining a server room at the home office? 3. Does your answer to question #1 or #2 change if SBRU expands its market to include Europe and South America? 216 PART 3 m Essentials of Systems Design On the Spot Courier Services Refer to earlier chapters for the functional details of this application. Large delivery companies like UPS and FedEx use highly customized portable hardware devices to enable their drivers to track pickups and deliveries and to inform drivers of routing changes and other events to which they must respond. As a smaller company, On the Spot Courier services doesn’t have the luxury of developing and deploying a customized hardware device for its drivers. Sandia Medical Devices Based on the discussion of hardware, Internet, and soft- ware technology trends in this chapter, it should be clear to you that the Real-Time Glucose Monitoring (RTGM) system is an interesting combination of older and newer technology. Except forthe interface to software and data ion mobile phones, the server-side portions of the system are a relatively traditional business-oriented application that can be implemented by using old-fashioned tech- nology. What makes the RTGM system “new” are its client-side functions, including the automated collection of glucose levels, the regular transmission of that data to servers, the integration of communication between patients and health-care providers, and the integeation of those functions within software installed on a por table device that can be carried in a user's pocket. With that in mind, answer the following ques tions. You may need to do some additional research to fully address them. 1, Should the client-side software be deployed as a browser-based application or as an installable app? Be sure to consider such issues as clien server communication requirements and fre- quency, user-interface quality, and portability across devices and operation systems. 2. Which (if any) social networking capabilities might make a useful addition to the RTGM sys tem? Be sure to consider the HIPAA requirements described for this case at the end of Chapter 6. 3. When recorded glucose levels generate high: priority alerts, physicians or other health-care Len Bass, Paul Clements, and Rick Kazman, Software Architecture in Practice (3rd ed.). Addison-Wesley, 2012, Russ White and Denise Donohue, The Art of Network Architecture: Business-Driven Design. Cisco Press, 2014, 1. Can it deploy similar functionality by having drivers install an app on their smartphones? 2, What are the pros and cons of this approach as compared with a customized hardware device? 3. Is this a feasible alternative given the wide vari- ety of phones that drivers might own? 4, What embedded software on a smartphone will form the app’s technology environment? providers initiate direct contact with the patient. An ordinary phone call over the cellular phone network is one way to support direct contact. Because any client-side device used with the RTGM system must be fully Internet-capable, an Internet telephony application, such as Skype, is another possible way of supporting synchronous voice or video communication with the patient Should Skype or a similar Internet telephony application be used with the RTGM system? Why or why not? If such an application is used, should it support video? Why or why not? 4, Data mining is an increasingly important tech- nique for medical research. The ability to scan medical records of large numbers of patients over extended time periods enables researchers to bet- ter evaluate the effectiveness of drugs and thera- pies, more accurately connect disease risk levels to specific patient characteristics, and identify patterns of transmission or occurrence, progres- sion, and treatment response for rare diseases and conditions. What types of medical research might be enabled or better supported by the data collected by the RTGM system? Would your answer change if the database were extended to include additional information that might be gathered from the patient's mobile phone (e.g., location information when each glucose level was captured, size and content of the patient's contact list, call history, and the volume of text messages and Internet browsing activity)? FURTHER RESOURCES Thomas Erl, Ricardo Puttini, and Zaigham Mahmood, Cloud Computing: Concepts, Technology & Architecture, Prentice-Hall, 2013.

You might also like