Web Architectures Designing for the Web
multi-multi-multi-multi-multi Multi-client – PC, Mac, Unix, wireless, … Multi-server-platform – PC, Mac, Unix, watch,… Multi-tier – layers of software components Multi-threaded – concurrent processing Multi-component – CORBA, COM, javabeans,… Multi-database – Oracle, Ingres, Access, … Multi-cultural – North American, European, African, ….
Objectives Examine current web 3-tier client/server architectures Look at some basic E-commerce architectures
Client-Server model and Tiered Architectures Late 1980’s Replace centralized mainframe architectures
1-Tier Architecture Processing(a) MainMainFrame
File Server Configuration(1-Tier (b)) File Server Files 1.Ask for file 2.File 3.Process 4. Return File
Client-Server Architectures Provide responses rather than file downloads for local processing Message based Serves many more users simultaneously Tiers 2-tier 3-tier N-tier or multi-tier
Client/Server Processing Client Server Data 1.request 2.Process request 3.response
2-Tiers
Middle Tier Implementation Strategies TP monitors (transaction processing monitors) Message servers Application servers ORB (CORBA) Object Request Broker Functions Queuing Application execution caching
Why bother? Scalable Number of users Number of transactions Flexible Drop applications onto different servers Keep sophisticated applications independent of server
Fatness in Clients Where do you want the processing ?? Fat client Application and processing on client Download application and every update Thin client Application and processing on server More traffic
Some Design Examples Shopping cart B2C B2B
Shopping Cart (B2C) Client Tier (applet/javascript) Validate format of credit card number Do “what-if” calculations Middle Tier/ Middleware (java/perl) Create catalog for display Make purchase Data Tier (Oracle, Ingres, Access, etc) Query inventory for selection of items Update inventory after sale
B2B Architecture B2C E-commerce Consumers B2B E-Commerce Business Customers Supplier’s Products Catalog Customer’s Order Information Supplier’s Electronic Mall
As a 3-Tier Architecture Supplier GUI Customer GUI Make quote Order Create Catalog Take Order Oracle UI Tier App Tier Data Tier
Internet based EDI Internet Web server EDI server database EDI legacy applications Browser
Feb 2001C.Watters19 Peer-to-peer Each party has the same capabilities Typically each party is a client-server Examples Napster – MP3 file sharing Gnutella – file sharing IBM APPN
Feb 2001C.Watters20 Peer-to-peer on the Internet Transient internet network in which users use the same application to communicate and share access to their hard drives Advantages Don’t have to move files to central server
Feb 2001C.Watters21 How to make this work on the Internet Create an application Everybody downloads the application Execute applications Connections Gnutella model – enter known IP address Napster model – enter Napster IP address
Feb 2001C.Watters22 Napster and Gnutella MP3 Central server Server collects data Server as switch for downloads Other files No central server Direct IP connections Horizon of 1000
Feb 2001C.Watters23 GarageSale Samples Client 1.1
Feb 2001C.Watters24
Feb 2001C.Watters25
Feb 2001C.Watters26
Feb 2001C.Watters27
Feb 2001C.Watters28
Feb 2001C.Watters29
Feb 2001C.Watters30
Feb 2001C.Watters31
Feb 2001C.Watters32
Feb 2001C.Watters33
Feb 2001C.Watters34
RECAP Internet activity is client/server based MultiTier architectures provide flexibility Peer-to-peer is here!