Client - San Jose State University
Download
Report
Transcript Client - San Jose State University
An Overview of Architectures for Web-Based
Application Systems
Instructor: Dr. Jerry Gao
San Jose State University
email: [email protected]
URL: http://www.engr.sjsu.edu/gaojerry
Topic: An Overview of Architectures 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
HTML
user
HTTP
Browser
client
Jerry Gao Ph.D. 5/1999
Internet/Intranet
URL
HTTP Server
HTML Files
Topic: An Overview of Architectures for Web-Based Application Systems
- (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
HTML
& Forms
Firewall
user
CGI
Browser
Internet
Web Server
Gateway Programs
client
Database
Server
S-HHTP/SSL
Jerry Gao Ph.D. 5/1999
HTML Forms
HTML Tables
Topic: An Overview of Architectures for Web-Based Application Systems
- (1996-1997) Complex Interactive Web Systems(a):
Client:
Server:
Plus
Features:
Web Browser + HTML + JavaScript,
Web Server + CGI + Gateway Programs + Database Server
secured transaction based on secured protocol and firewalls
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
HTML Forms
HTML Tables
HTML
Forms + JavaScript
client
user
Browser
Tier 1
Jerry Gao Ph.D. 5/1999
HTTPS
or SSL
Database
Firewall
Web Server
Internet
(a)
CGI
Tier 2
Gateway Programs
Database Server
Tier 3
Topic: An Overview of Architectures for Web-Based Application Systems
- (1996-1997) Complex Interactive Web Systems(b):
Client:
Server:
Plus
Features:
Web Browser + HTML + JavaScript,
Web Server + Java Servlet + Database Server
secured transaction based on secured protocol and firewalls
Supporting better user interactions and requests
HTML/JavaScript client, Java Servlet-based communication gateway
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.
Application Server
HTML
Forms + JavaScript
client
user
Browser
Tier 1
Jerry Gao Ph.D. 5/1999
HTTPS
or SSL
Database
Firewall
Web Server
Internet
(b)
Java Servlet
Tier 2
HTML Forms
HTML Tables
Database Server
Tier 3
Topic: An Overview of Architectures for Web-Based Application Systems
- (1995-1996) Complex Interactive Web-Based Systems (c):
Client:
Web Browser + HTML + Java Applets
Server:
Web Server + CGI (Gateway Programs) + Database
Server
Plus
Features:
secured transaction based on secured protocol & firewalls
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, and more system resources.
Unstructured server programs with low concurrency.
HTML Forms
HTML Tables
HTML
Forms + Java Applets
client
user
Browser
Tier 1
Jerry Gao Ph.D. 5/1999
HTTPS
or SSL
Database
Firewall
CGI
Web Server
Internet/Intranet
(c)
Gateway Programs
Tier 2
Application
Server
Database Server
Tier 3
Topic: An Overview of Architectures for Web-Based Application Systems
- (1996-1997) Object Web Systems:
(a) Java Web: Java Applets + Mobile Components (RMI)
Client:
Browser, Java Applets + RMI server stub.
Server:
RMI server, Application server and DB server.
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.
Browser
Java Client
Server Stub
Client Stub
Client Stub
Internet/Intranet
Server
RMI
Database Server
Database
Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for Web-Based Application Systems
- (1996-1997) Object Web Systems:
(b) JDBC-based: Java Applets + JDBC gateway programs
Client:
Browser + Java Applets + JDBC client
Server:
JDBC driver to a specific DB driver
Features: Supporting structured data and interactions.
JDBC communications between clients and server
Intensive data centered applications with rich GUI support.
Applications: Intranet Web-base application systems, tools, group-ware.
Pros:
Intranet accesses, platform independent.
Support multithreading server.
Supporting Complex GUI interface and data structure.
Less code and effort, better reliability.
Cons:
No secured communications.
Client and server must be written in Java.
Database
JDBC
Browser
Java Applets
Database Client
(JDBC-Based)
Database
Gateway
Internet
Database Server
Direct JDBC Connection
Tier 1
Jerry Gao Ph.D. 5/1999
Tier 2
(b)
Tier 3
Topic: An Overview of Architectures for Web-Based Application Systems
- (1996-1997) Object Web Systems:
(b) Java-based: Java Applets + JDBC gateway programs
Client:
Browser + Java Applets + JDBC client
Server:
JDBC driver to a specific DB driver
Features: Supporting simply structured data and interactions.
HTTP-based communication between clients and server.
Intensive data centered applications with rich GUI support.
Applications: Intranet Web-base application systems, tools, group-ware.
Pros:
Intranet accesses, platform independent.
Support multithreading server, scalable to multiple servers.
Supporting Complex GUI interface.
Cons:
No secured communications.
Client and server must be written in Java.
Limitation on providing scalable servers.
Database
JDBC
Browser
Web Server
Database Client
(JDBC-Based)
Java Applets
Internet
Java Servlet
Database
Gateway
Database Server
HTTP
Tier 1
Jerry Gao Ph.D. 5/1999
Tier 3
(c)
Tier 2
Topic: An Overview of Architectures for Web-Based Application Systems
- (1996-1997) Object Web Systems:
(c) Java and CORBA (such as JOE, Iona):
OrbixWeb
HTML Forms
HTML Tables
HTML
Forms + Java Applets
HTTP
HTTP
user
Browser
Web Server
CGI
Gateway Programs
Database
Internet
Database Server
client
Tier 1
CORBA
IIOP
CORBA
IIOP
Application
Proxy Server
ORB
Tier 2
CORBA
CORBA
Tier 3
(c)
- CORBA avoids the CGI bottleneck
- CORBA provides a scalable server-to-server infrastructure
- CORBA extends Java with a distributed object infrastructure
Jerry Gao Ph.D. 5/1999
Application 1
Application i
Topic: An Overview of Architectures for Web-Based Application Systems
- (1996-1997) Object Web Systems:
(d) The Microsoft Object Web
Tier 3
ActiveXs
HTML Forms
HTML Tables
HTML
Forms + DocObjects
HTTP
user
Browser
Web Server
Gateway Programs
SQL Server
HTTP
CGI/ISAPI
Internet
client
Tier 1
Exchange
Network
OLE
Network
OLE
COM ORB
Server Actives
OLE TP
Monitor
Tier 2
(d)
Jerry Gao Ph.D. 5/1999
Repository/cash
of DocObjects
or ActiveX Doc.
Topic: An Overview of Architectures for Web-Based Application Systems
- (1996-1997) Object Web Systems:
(d) The EJB-Based Object Web
HTML Forms
HTML Tables
Tier 3
HTML
Forms + JavaAplets
HTTP
user
Browser
Web Server
Gateway Programs
HTTP
Application
Programs
CGI
Internet
client
DB Server
Tier 1
EJB Server
JDBC
Tier 2
(d)
Jerry Gao Ph.D. 5/1999
Database
Topic: An Overview of Architectures for Web-Based Application Systems
- (1996-1997) Object Web Systems:
(e) The CORBA/Cyberdog Object Web
Tier 3
HTML Forms
HTML Tables
Compound Doc.
HTML
Forms + Java Applets
HTTP
user
Browser
Web Server
Gateway Programs
DBMS
HTTP
CGI
Internet
client
Tier 1
CORBA IIOP
& Compound Doc.
Lotus Notes
CORBA
IIOP
ORB
Server Actives
TP
Monitor
Tier 2
(d)
Jerry Gao Ph.D. 5/1999
Bento Doc.
Or OODBMS
Topic: An Overview of Architectures for Web-Based Application Systems
Bridging Legacy Systems to the Web:
TCP/IP
SNA
MVS
System
Encapsulation
Program
Java
Applet
An encapsulation programs puts a more friendly face on a legacy system
user
Place order
Java Applets
Ordering
Encapsulation
Program
Legacy
System
An encapsulation can present an interface different from the legacy system
Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for Web-Based Application Systems
Bridging Legacy Systems to the Web:
Email Applet in
Web Browser
HTTP
Java Email
Server
Web Server
RMI
Standalone
Java Email
Application
A Java e-mail System
Legacy E-mail
System
Java Email
Encapsulation
RMI/CORBA
Legacy
System
Legacy
Newer
System
Work
Stations
Translate a legacy interface into something newer clients can deal with
Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for Web-Based Application Systems
Bridging Legacy Systems to the Web:
RMI/CORBA
Java client
Native Methods
Java
Front-End
SNA
Hardware
Legacy
System
Native methods to access a legacy system
Java Applet
in Web Browser
Legacy
System
Legacy protocol
CORBA
Front-End
CORBA
Standalone
Java
Application
C++
Application
CORBA expands the accessibility of an encapsulation system
Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for Web-Based Application Systems
Bridging Legacy Systems to the Web:
New
Workstations
RMI/CORBA
RMI/CORBA
New
Application
Java
Encapsulation
Terminal
Population
Legacy
Terminals
Legacy
Terminals
Legacy terminals and new workstations access the new system
Legacy
System
Legacy data
All data
Java client
Java
Encapsulation
All data
Newer
Database
New data
New
System
An encapsulation can combine several systems together
Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for Web-Based Application Systems
Bridging Legacy Systems to the Web:
Legacy
System
Legacy Protocol
Encapsulation
RMI
Java
Web Server
Servlet
Web access to legacy systems involves a servlet
Java Web
Server
Servlet
Legacy Protocol
Legacy
System
Java method calls
Encapsulation
Web access to legacy system involves a servlet and an encapsulation
(servlet and encapsulation reside in the same machine)
Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for 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,
d) Network Structure,
(a)
b) Tree Structure,
c) Index Structure
e) Simple Window Menu Structure
(c)
(b)
GUI P1
GUI P2
GUI P2
GUI P4
(d)
Jerry Gao Ph.D. 5/1999
(e)
Topic: An Overview of Architectures for 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
JavaIDL
Application GUI Applet
Tool Bar
Communication
Client DB
Jerry Gao Ph.D. 5/1999
Client Data Loader
Work Flow Control
Security Control
Applet Loader
Access Control
Timer
Help
Application GUI
Print
Filter/Parser
Topic: An Overview of Architectures for Web-Based Application Systems
1997 - Now: The 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.
A) Browser as Desktop
Jerry Gao Ph.D. 5/1999
B) Web-Enabled Desktop Components
C) Shippable Places
Topic: An Overview of Architectures for Web-Based Application Systems
- Trade-off factors in architecture design of web-based application systems
(a) Considering factors:
- System performance
- Fault tolerance and recovery
- System scalability
- System complexity
- System extendibility
- System flexibility
- Reusability
- Easy to maintain
- Portability
- Easy to change
Jerry Gao Ph.D. 5/1999