Architecture Design For Web-based Application Systems Instructor

advertisement
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
HTML
user
HTTP
Browser
client
Internet/Intranet
URL
HTTP Server
HTML Files
Architecture Design 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:
Cons:
HTML
& Forms
Secured communications.
Dynamic HTML generation.
User friendly due to user interactions.
Slow speed, limited client functions and GUI support.
Unstructured server programs with low concurrence
Firewall
user
CGI
Browser
Internet
Web Server
Gateway Programs
client
Database
Server
S-HHTP/SSL
HTML Forms
HTML Tables
Architecture Design For Web-based Application Systems
- (1996-1997) Complex Interactive Web Systems(a):
Client:
Server:
Plus
Web Browser + HTML + JavaScript,
Web Server + CGI + Gateway Programs + Database Server
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.
Limited support for graphics and window applications
Unstructured server programs with low concurrence
Cons:
HTML Forms
HTML Tables
HTML
Forms + JavaScript
client
user
Browser
Tier 1
HTTPS
or SSL
Database
Firewall
Web Server
Internet
(a)
CGI
Tier 2
Gateway Programs
Database Server
Tier 3
Architecture Design For Web-Based Application Systems
- (1995-1996) Complex Interactive Web-Based Systems (b):
Client:
Server:
Plus
Features:
Web Browser + HTML + Java Applets
Web Server + CGI (Gateway Programs) + Database Server
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.
Slow speed on Java applet download.
Unstructured server programs with low concurrency
Cons:
HTML Forms
HTML Tables
HTML
Forms + Java Applets
client
user
Browser
Tier 1
HTTPS
or SSL
Database
Firewall
CGI
Web Server
Internet
(b)
Gateway Programs
Tier 2
Database Server
Tier 3
Architecture Design For Web-Based Application Systems
- (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.
Java Client
Server Stub
Client Stub
Network
Server
Client Stub
RMI
Database Server
Database
Architecture Design For Web-based Application Systems
- (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.
Java Client
Database Client
Tier 1
Network
(b)
Database
JDBC
Database
Gateway
Tier 2
Database Server
Tier 3
Architecture Design For Web-based Application Systems
- (1996-1997 --> Future) Object Web:
(c) Java and CORBA (such as JOE, Iona):
OrbixWeb
HTML Forms
HTML Tables
HTML
Forms + Java Applets
HTTP
Web Server
CGI
Gateway Programs
Database
HTTP
user
Browser
Internet
client
Tier 1
Database Server
CORBA
IIOP
CORBA
IIOP
(c)
Application
Proxy Server
ORB
Tier 2
CORBA
CORBA
Tier 3
Application 1
CORBA avoids the CGI bottleneck
CORBA provides a scalable server-to-server infrastructure
CORBA extends Java with a distributed object infrastructure
Application i
Architecture Design For Web-based Application Systems
- (1996-1997 --> Future) Object Web:
(d) The Microsoft Object Web
Tier 3
HTML Forms
HTML Tables
ActiveXs
HTML
Forms + DocObjects
HTTP
Web Server
Gateway Programs
SQL Server
HTTP
user
Browser
CGI/ISAPI
Internet
client
Tier 1
Exchange
Network
OLE
Network
OLE
(d)
COM ORB
Server Actives
Tier 2
Repository/cash
of DocObjects
or ActiveX Doc.
OLE TP
Monitor
Architecture Design For Web-based Application Systems
- (1996-1997 --> Future) Object Web:
(e) The CORBA/Cyberdog Object Web
Tier 3
HTML Forms
HTML Tables
Compound Doc.
HTML
Forms + Java Applets
HTTP
Web Server
Gateway Programs
DBMS
HTTP
user
Browser
CGI
Internet
client
Tier 1
CORBA IIOP
& Compound Doc.
Lotus Notes
CORBA
IIOP
(d)
ORB
Server Actives
Tier 2
Bento Doc.
Or OODBMS
TP
Monitor
Architecture Design 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
Architecture Design 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
Architecture Design 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
Architecture Design 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
Architecture Design 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)
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,
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)
(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,
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)
(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
JavaIDL
Application GUI Applet
Tool Bar
Communication
Client DB
Client Data Loader
Work Flow Control
Security Control
Applet Loader
Access Control
Timer
Help
Application GUI
Print
Filter/Parse
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.
A) Browser as Desktop
B) Web-Enabled Desktop Components
C) Shippable Places
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
- How to link a web-based application server to third-party software
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
- How to link a web-based application server to third-party software
Download