Architecture Design For
Web-based Application Systems
Instructor: Dr. Jerry Gao
Class: CMPE296U
Architecture Design For Web-Based Application Systems
- (1994-1995) Hypertext Web Systems:
Graphic Web Browsers + Hyperlinks + HTML files. Features: HTML-based thin client. Limited Server Functions. Application: Only for documentation sharing and accesses.
Static Web Site construction. Pros: Simple and easy to set up.
Cons: Very server processing functions No dynamic HTML generation. No support for user interaction Not easy to maintain and manage
Browser user
client
Internet/Intranet HTTP Server HTML Files URL
HTTP HTML
- (1995-1996) Interactive HTML-based Web Systems:
Graphic Web Browsers + Hyperlinks + HTML files Plus: Forms, Tables, CGI,
and Secured Transactions: SSL, S-HTTP, Firewalls Features: Supporting user interactions and requests
HTML-based client, CGI-based Server program Secured communications and transactions Applications: DHTML web sites, Banking, On-line systems Pros: Secured communications.
Dynamic HTML generation.
User friendly due to user interactions.
Cons: Slow speed, limited client functions and GUI support. Unstructured server programs with low concurrence
Browser user
client
Internet Web Server
HTML Forms HTML Tables Firewall Gateway Programs CGI HTML & Forms
Architecture Design For Web-Based Application Systems
S-HHTP/SSL
Database Server
Architecture Design For Web-based Application Systems
- (1996-1997) Complex Interactive Web Systems(a): Client: Web Browser + HTML + JavaScript,
Server: Web Server + CGI + Gateway Programs + Database Server Plus secured transaction based on secured protocol and firewalls Features: Supporting better user interactions and requests
HTML/JavaScript client, CGI-based Server program Secured communications and transactions
Applications: Web-base application systems, tools, group-ware, On-line systems Pros: Global accesses, platform independent.
Secured communication and transactions.
Have a better GUI interface due to JavaScript features. Cons: Limited support for graphics and window applications
Unstructured server programs with low concurrence
Browser user
client
Internet Web Server
HTML Forms HTML Tables Firewall Gateway Programs CGI HTML Forms + JavaScript Database Server Database HTTPS or SSL (a)
- (1995-1996) Complex Interactive Web-Based Systems (b): Client: Web Browser + HTML + Java Applets
Server: Web Server + CGI (Gateway Programs) + Database Server Plus secured transaction based on secured protocol & firewalls Features: Supporting complex user interactions and requests
HTML/JAVA client, CGI-based Server program Secured communications and transactions
Applications: Web-base application systems, tools, group-ware, On-line systems Pros: Global accesses, platform independent.
Secured communication and transactions. Supporting Complex GUI interface.
Cons: Slow speed on Java applet download.
Unstructured server programs with low concurrency
Architecture Design For Web-Based Application Systems
Browser user
client
Internet Web Server
HTML Forms HTML Tables Firewall Gateway Programs CGI HTML Forms + Java Applets
Database Server Database HTTPS or SSL (b) Tier 2 Tier 3 Tier 1
- (1996-1997 --> Future) Object Web:
(a) Java Web: Java Applets + Mobile Components (RMI) Features: Supporting complex user interactions and requests
RMI communications between clients and server
No standard communication protocols. Java Client and Server. Applications: Intranet Web-base application systems, tools, group-ware. Pros: Intranet accesses, platform independent.
Support multithreading server. Supporting Complex GUI interface. Cons: No secured communications.
Client and server must be written in Java. Limitation on providing scalable servers.
Architecture Design For Web-Based Application Systems
Network Server Stub
Java Client Client Stub
Database Server Server Client Stub
RMI
- (1996-1997 --> Future) Object Web:
(b) JDBC-based: Java Applets + JDBC gateway programs
Features: Supporting complex data-centered user interactions and requests RMI communications between clients and server
Java Client and Server.
Applications: Intranet Web-base application systems, tools, group-ware. Pros: Intranet accesses, platform independent.
Support multithreading server. Supporting Complex GUI interface. Cons: No secured communications.
Client and server must be written in Java. Limitation on providing scalable servers.
Architecture Design For Web-based Application Systems
Network
Database Gateway Database Client
Java Client Database Server
JDBC
(b)
Tier 1 Tier 2 Tier 3
- (1996-1997 --> Future) Object Web:
(c) Java and CORBA (such as JOE, Iona):
Architecture Design For Web-based Application Systems
Browser user client Internet Web Server HTML Forms HTML Tables Gateway Programs CGI HTML Forms + Java Applets
Database Server Database HTTP (c) Tier 1 Tier 3 Tier 2 CORBA IIOP HTTP CORBA IIOP ORB Application Proxy Server CORBA OrbixWeb
- CORBA avoids the CGI bottleneck
- CORBA provides a scalable server-to-server infrastructure - CORBA extends Java with a distributed object infrastructure
Application 1 Application i CORBA
Architecture Design For Web-based Application Systems
Browser user client Internet Web Server HTML Forms HTML Tables Gateway Programs CGI/ISAPI HTML Forms + DocObjects SQL Server HTTP (d) Tier 1 Tier 3 Tier 2 Network OLE HTTP Network OLECOM ORB Server Actives - (1996-1997 --> Future) Object Web:
(d) The Microsoft Object Web
Repository/cash of DocObjects or ActiveX Doc. Exchange OLE TP Monitor ActiveXs
Architecture Design For Web-based Application Systems
Browser user client Internet Web Server HTML Forms HTML Tables Gateway Programs CGI HTMLForms + Java Applets
DBMS HTTP (d) Tier 1 Tier 3 Tier 2 CORBA IIOP HTTP CORBA IIOP & Compound Doc.
ORB Server Actives - (1996-1997 --> Future) Object Web:
(e) The CORBA/Cyberdog Object Web
Bento Doc. Or OODBMS Lotus Notes TP Monitor Compound Doc.
Architecture Design For Web-based Application Systems
Java Applet Encapsulation Program MVS System SNA TCP/IPAn encapsulation programs puts a more friendly face on a legacy system
Legacy System Ordering Encapsulation Program Java Applets Place order user
An encapsulation can present an interface different from the legacy system
Architecture Design For Web-based Application Systems
Standalone Java Email Application Java Email Server Email Applet in Web Browser HTTP RMIA Java e-mail System
Legacy System Java Email Encapsulation Legacy E-mail System
Translate a legacy interface into something newer clients can deal with Web Server Legacy SystemNewer Work Stations RMI/CORBA
Architecture Design For Web-based Application Systems
Legacy System SNA Hardware Java client RMI/CORBANative methods to access a legacy system
Java Applet in Web Browser CORBA Front-End Legacy System
CORBA expands the accessibility of an encapsulation system Java Front-End Standalone Java Application C++ Application CORBA Legacy protocol Native Methods
Architecture Design For Web-based Application Systems
Java Encapsulation New Workstations RMI/CORBALegacy terminals and new workstations access the new system
Legacy System
Java Encapsulation Java client
An encapsulation can combine several systems together New Application Newer Database New System Legacy data All data RMI/CORBA New data All data Legacy TerminalsLegacy Terminals Terminal Population
Architecture Design For Web-based Application Systems
Java Web Server Servlet Legacy SystemWeb access to legacy systems involves a servlet
Java Web Server Servlet Encapsulation Legacy System
Web access to legacy system involves a servlet and an encapsulation (servlet and encapsulation reside in the same machine)
Encapsulation
Java method calls Legacy Protocol
Legacy Protocol
RMI
Client Architecture in Web-based Application Systems
- 1994 - 1995: HTML-based Thin Client Layer
- Hypertext client --> based on HTML pages + hypertext links - Simple interactions between users and systems
- Stateless client-server Communications - No cash on the client side
- No data verification and validation on the client side
Structure: a) Linear Structure, b) Tree Structure, c) Index Structure d) Network Structure, e) Simple Window Menu Structure
(a) (b) (c) (d) GUI P1 GUI P2 GUI P4 GUI P2 (e)
Client Architecture in Web-based Application Systems
1995-1996: Thin Client Layer based on HTML + JavaScript - HTML forms + JavaScript + hypertext links - Simple interactions between users and systems - Stateless client-server Communications
- Small data cash on the client side (cookies)
- Simple data verification and validation on the client side - Dynamic generation of HTML pages, tables, links
Structure: a) Linear Structure, b) Tree Structure, c) Index Structure d) Network Structure, e) Simple Window Menu Structure
(a) (b) (c) (d) GUI P1 GUI P2 GUI P4 GUI P2 (e)
Client Architecture in Web-based Application Systems
1996-1997: Java Client (Thin - Thick)
- HTML forms embedded Java Applets - Cash data on the client side
- Stateless/State client-server Communications
- Completed data verification and validation on the client side - Support complex GUI structure and graphic display
Structure: a) Single Applet
b) Multiple Applets in a HTML page (with multiple frames) c) Multiple Applets in different HTML pages
Application GUI Applet
Communication
Security Control Work Flow Control
Client Data Loader Applet Loader
Access Control Client DB
Timer
Tool Bar Help
Application GUI
Print JavaIDL
Client Architecture in Web-based Application Systems
1997 - Future: The Future Web Client (Three Client Models): a) Browser as Desktop:
It assumes that people live within their browsers. This is the current Netscape model of the world. b) Web-Enabled Desktop Components:
Every thing on the desktop is Web-enabled; the idea is that you will be able to access the Web from within any application or component without starting a browser. This is the Cyberdog model of the world; Microsoft will also support this model in Windows 97.
c) Shippable Places:
This lets you access the Web from within your places. A place can have multiple concurrent sessions with Web object servers. In addition, multiple places can be concurrently active on the same desktop. The Object Web may end up supporting all three models.
Server Architecture in Web-based Application Systems
- Trade-off in building a web-based application server - Considering factors:
- System performance - Fault tolerance - System scale-up - Complexity
- System configuration and flexibilty - Technology selection:
- CORBA-based server or DCOM-based server - Java server
- Server made by C++/C
- Interaction style between client and server - Distributed objects
- Communication protocol, like HTTP/HTTPS, or TCP/IP socket - Single thread vs. multiple thread
- Multiple servers vs. single server
- Server configuration structure: single box vs. multiple boxes - Layered architecture
- How to link a web-based application server to legacy software - How to link a web-based application server to applications
Server Architecture in Web-based Application Systems
- Trade-off in building a web-based application server - Considering factors: - System performance - Fault tolerance - System scale-up - Complexity - System configuration - Technology selection:
- CORBA-based server or DCOM-based server - Java server
- Server made by C++/C
- Interaction style between client and server - Distributed objects
- Communication protocol, like HTTP/HTTPS, or TCP/IP socket - Single thread vs. multiple thread
- Multiple servers vs. single server
- Server configuration structure: single box vs. multiple boxes - Layered architecture
- How to link a web-based application server to legacy software - How to link a web-based application server to applications