0 ratings 0% found this document useful (0 votes) 2 views 32 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
Go to previous items Go to next items
CHAPTER SEVEN186 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 architecturesFIGURE 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 conter190 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 addressInyptlik 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
+ Aeplation192 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 of194 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 plan196 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 1198 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 ascUne 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 response200 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 daily202. 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 processors204 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 CSMS206 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, socialFicURE 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 while210 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 CSMSCHAPTER 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 at212 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
= anCHAPTER 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?
WAT214 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 thatare 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.