N Tier and SOA - Temple Fox MIS

N-TIER AND SOA
Based on slides by David Schuff
Review: N-Tier Architectures
 A “tier” is a
software layer that
serves as a
component of a
larger solution
 Here’s an example
of
a three-tier
architecture:
source: http://en.wikipedia.org/wiki/Multitier_architecture
Servers as tiers
 Commonly, you’ll see
 A client tier
 Multiple (n-1) server tiers
 So a four-tier solution would have 3 server tiers
and a client tier
 What is a client?
 What is a server?
How many physical
machines are in a fourtier solution?
Multi-tier architecture
Client tier:
Web server tier:
•Displays the user
interface
•Handles client-side
validation
•Generates HTML
pages for the client
•Requests
information from the
application server
Application
server tier:
Database server
tier:
•Processes data sent
from the web server
•Delivers processed
data to the web server
•Queries the database
server
•Processes queries
received from the
application server
•Returns query results
to the application
server
Multi-tier architecture:
Making an online purchase
Client tier:
Web server tier:
User selects
products and enters
purchasing
information in
Firefox
•IIS generated the
product information
pages and the order
entry forms
•Submits data to the
order entry
application
Application
server tier:
•.NET Runtime
executes a C#
application
•Checks and updates
inventory
•Processes payment
•Arranges packaging
•Arranges delivery
Database server
tier:
•Oracle database
stores customer,
order, and inventory
information
N-Tier as a Strategic Choice
 What are the technical
advantages of an N-Tier
architecture?
 What are the business
advantages of an N-Tier
architecture?
 What are the drawbacks?
…when compared to
a “monolithic” (1tier) solution
Service-Oriented Archtecture
 Software packaged as reusable components
instead of separate applications
 These components become “business
objects” that perform parts of a business
process
Example: Package Tracking
 USPS.gov
USPS.gov web site
USPS tracking
application
 Amazon.com
Amazon.com
web site
USPS tracking
application
The “S” in SOA
 USPS.gov
What is the service?
USPS.gov web site
USPS tracking
application
 Amazon.com
Amazon.com
web site
USPS tracking
application
How would making
this a service instead
of a stand-alone
application change
its design?
SOA and/versus Web Services
 Slightly different from “web services”
 Web services are one example of how SOA can be
implemented
 A multi-tiered architecture could be
considered a SOA
 but it doesn’t have to be web-services
Rationale for Web Services
 Standards
 HTTP – Transportation of data
 XML – Structure of messages
 SOAP – Format of messages
 What are the advantages of using web
standards?
 What if the USPS tracking application was a
service but was proprietary?
SOA and Organizational Design
 SOA can be a design philosophy for
organizations
 Example: Travel and expenses reporting
 That re-thinking of organizational design
informs the development of its software