Page 257 -
P. 257
Chapter 6 The Cloud
256
html with JavaScript that correctly
requests services and processes responses
Browser
Commerce server Database server
service requests service requests
& responses & responses
Browser DBMS DB
Load Balancer Web Server DB Load Balancer
Browser Commerce DBMS DB
Commerce
Server
Commerce
Server
Commerce
Server
Commerce
Web Server
Server
Commerce
Server
Web Server
Server
Web Server
Browser Web Server DBMS DB
Web Server
1, 3, 100, 1000, etc. 1, 3, 50
Web Servers Database Servers
…
Figure 6-13
SOA Principles Applied Browser
to Three-Tier Architecture
The server tier can consist of three servers at 3 AM, 3,000 servers at 11 AM, 6,000 servers at
6 PM, and 100 servers at 10 PM. Furthermore, those servers can move around the world; at one
time of day, they can be all located in the United States, and at another time of day, they can all be
located in Europe, and so on. Nothing, absolutely nothing, in the browsers need change as these
servers are adjusted.
To take advantage of the multiple Web servers, a load-balancing program receives
requests and sends them to an available server. The load-balancing program keeps data
about the speed and health of all its assigned Web servers and allocates work to maximize
throughput.
In addition, on the back end, SOA services are defined between the Web server and the data-
base server. Accordingly, the database server need do nothing as the number and location of Web
servers is adjusted. And that’s a two-way street. Nothing in the Web servers need be changed if
the number and location of database servers is adjusted. However, load balancing for database
servers is considerably more complicated.
Do not infer from this discussion that SOA services and the cloud are only used for three-
tier processing. Such services and the cloud are used for multitudes of applications across the
Internet. This three-tier application is just an example.
From this discussion, you can understand how cloud elasticity is possible. However, for
many organizations to use the cloud and to be able to mix and match Web services, they need to
agree on standard ways of formatting and processing service requests and data. That leads us to
cloud standards and protocols. Again, we discuss these at a very high level.
Protocols Supporting Web Services
A protocol is a set of rules and data structures for organizing communication. Because the cloud’s
Web services use the Internet, the protocols that run the Internet also support cloud processing.
We will start with them.
TCP/IP Protocol Architecture
The basic plumbing of the Internet is governed by protocols that are defined according to an
arrangement called the TCP/IP protocol architecture. This architecture has five layers; one
or more protocols are defined at each layer. Data communications and software vendors write
computer programs that implement the rules of a particular protocol. (For protocols at the bot-
tom layer, the physical layer, they build hardware devices that implement the protocol.)