






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The differences between two-tier and three-tier architectures in the context of web applications. It covers the number of sessions, workflow control, web servers, gathering input, caching, input validation, and authentication. The document also mentions the evolution of presentation devices and the role of web servers in presentation independence.
Typology: Slides
1 / 10
This page cannot be seen from the preview
Don't miss anything!







3 PSs per WFC) (^3) • 100 WFC × ( 2 PS/WFC + 10TS/WFC) = 110,000 sessions
2-Tier vs. 3 Tier — Other Issues • In early 90’s people argued whether 2-Tier was enough – Scalability was the decisive factor, but there were other issues • Database Servers – Nonstandard stored procedure language, usually less expressivewith weaker development tools and it’s another language tolearn – Limited interoperability of cross-server calls – Limited interoperability of distributed transactions – Poor fit with OO design, which are inherently 3-tier(client, business rules, business objects) • Application Servers – more system complexity
11.3 Web Servers • Presentation independence - application isindependent of the display device used – Today, this is via http and html – In the past, it was via a display controller or middle-tierminicomputer whose presentation functions insulatedthe rest of the back-end system from different devicetypes • Web server performs presentation functions:– Gathering input– Validating input
Gathering Input
-^ Gathering input - Select transaction type (menu item,etc.), and fill in a form (request’s parameters)^ –^ Today, Web forms, moving to XML (XForms, XSLT, …) •^ 30 year^ evolution of presentation devices^ –^ Teletype, character-at-a-time terminal (async), block-modeterminal (IBM 3270)^ –^ Specialized devices - ATMs, bar code readers, gas pumps,robots, credit card authorization, cash registers, ticketprinters, etc.^ –^ 4GL on a PC - ActiveX controls accessed from Visual Basic(VB), PowerBuilder, Delphi, etc.
Input Validation
-^ Validate input against locally cached tables^ –^ E.g., product types, department numbers •^ Avoids wasting communications and server resourcesfor obvious input errors^ –^ Fewer round-trips to the DBMS^ –^ And faster feedback to the end user •^ “Cache” is part of the web page^ –^ List boxes, script^ –^ Cache size is a factor (it affects page access time)
Authentication
-^ Authentication - determining the identity of a user and/or^ display device^ –^ Client system (e.g., PC) may do authentication, but the serverusually does it too (doesn’t trust clients)^ –^ Encrypt the wire to avoid wiretapping and spoofing(on the Web, use https = http over secure socket layer) •^ Geographical entitlement - check that a particular
Application Invocation • Request arrives as an http message. – Need to call a program (i.e. a WFC), to perform the request • Common Gateway Interface – Write a script, store it as a file in cgi-bin – Web server creates a process to execute the request (Slow!!) • ISAPI (Microsoft) and NSAPI (Netscape) – Web server calls an in-proc .dll instead of creating a process – Web server can cache the .dll – More complex programming model, but much faster • Active Server Pages and Java Server Pages – Offers the performance of ISAPI with programmability of CGI