An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose...
-
Upload
margaret-chandler -
Category
Documents
-
view
212 -
download
0
Transcript of An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose...
An Overview of Architectures for Web-Based Application Systems
Instructor: Dr. Jerry Gao
San Jose State Universityemail: [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 functionsNo dynamic HTML generation.No support for user interactionNot easy to maintain and manage
Browseruser
client
Internet/Intranet HTTP Server HTML Files
URL
HTTP
HTML
Jerry Gao Ph.D. 5/1999
- (1995-1996) Interactive HTML-based Web Systems: Graphic Web Browsers + Hyperlinks + HTML filesPlus: Forms, Tables, CGI, and Secured Transactions: SSL, S-HTTP, Firewalls
Features: Supporting user interactions and requestsHTML-based client, CGI-based Server programSecured communications and transactions
Applications: DHTML web sites, Banking, On-line systemsPros: 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
Browseruser
client
Internet Web Server
HTML FormsHTML Tables
Firewall
Gateway ProgramsCGI
HTML& Forms
S-HHTP/SSL
Database Server
Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for Web-Based Application Systems
- (1996-1997) Complex Interactive Web Systems(a):
Client: Web Browser + HTML + JavaScript, Server: Web Server + CGI + Gateway Programs + Database ServerPlus secured transaction based on secured protocol and firewallsFeatures: Supporting better user interactions and requests
HTML/JavaScript client, CGI-based Server programSecured communications and transactions
Applications: Web-base application systems, tools, group-ware, On-line systemsPros: Global accesses, platform independent.
Secured communication and transactions.Have a better GUI interface due to JavaScript features.
Cons: Limited support for graphics and window applicationsUnstructured server programs with low concurrence
Browseruser
client
Internet Web Server
HTML FormsHTML Tables
Firewall
Gateway ProgramsCGI
HTMLForms + JavaScript
Database Server
Database
HTTPSor SSL
(a)Tier 1 Tier 3Tier 2
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
- (1996-1997) Complex Interactive Web Systems(b):
Client: Web Browser + HTML + JavaScript, Server: Web Server + Java Servlet + Database ServerPlus secured transaction based on secured protocol and firewallsFeatures: Supporting better user interactions and requests
HTML/JavaScript client, Java Servlet-based communication gatewaySecured communications and transactions
Applications: Web-base application systems, tools, group-ware, On-line systemsPros: 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.
Browseruser
client
Internet Web Server
Firewall
Java Servlet
HTMLForms + JavaScript
Database Server
Database
HTTPSor SSL
(b)Tier 1 Tier 3Tier 2
Application Server
HTML FormsHTML Tables
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
- (1995-1996) Complex Interactive Web-Based Systems (c): Client: Web Browser + HTML + Java AppletsServer: Web Server + CGI (Gateway Programs) + Database ServerPlus secured transaction based on secured protocol & firewalls Features: Supporting complex user interactions and requests
HTML/JAVA client, CGI-based Server programSecured communications and transactions
Applications: Web-base application systems, tools, group-ware, On-line systemsPros: 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.
Browseruser
client
Internet/Intranet Web Server
HTML FormsHTML Tables
Firewall
Gateway Programs
CGI
HTMLForms + Java Applets
Database Server
Database
HTTPSor SSL
(c)Tier 3
Tier 2Tier 1 ApplicationServer
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
- (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 serverNo 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.
Internet/IntranetServer StubJava Client Client Stub
Database Server
Server
Client Stub
RMI
Database
Browser
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
- (1996-1997) Object Web Systems: (b) JDBC-based: Java Applets + JDBC gateway programsClient: Browser + Java Applets + JDBC clientServer: JDBC driver to a specific DB driver Features: Supporting structured data and interactions.
JDBC communications between clients and serverIntensive 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.
Internet
Database GatewayDatabase Client
(JDBC-Based)Java Applets
Database Server
JDBC
(b)Tier 1Tier 3Tier 2
Database
Browser
Direct JDBC Connection
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
- (1996-1997) Object Web Systems: (b) Java-based: Java Applets + JDBC gateway programsClient: Browser + Java Applets + JDBC clientServer: 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.
InternetDatabase Gateway
Database Client(JDBC-Based)
Java AppletsDatabase Server
JDBC
(c)Tier 1Tier 3
Tier 2
Database
Browser
Web Server
Java Servlet
HTTP
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
- (1996-1997) Object Web Systems: (c) Java and CORBA (such as JOE, Iona):
Browseruser
client
Internet
Web Server
HTML FormsHTML Tables
Gateway ProgramsCGI
HTMLForms + Java Applets
Database Server
DatabaseHTTP
(c)
Tier 1
Tier 3Tier 2
CORBA IIOP
HTTP
CORBA IIOP
ORBApplication 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
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
Browseruser
client
Internet
Web Server
HTML FormsHTML Tables
Gateway Programs
CGI/ISAPI
HTMLForms + DocObjects
SQL Server
HTTP
(d)
Tier 1
Tier 3
Tier 2
Network OLE
HTTP
Network OLE
COM ORB Server Actives
- (1996-1997) Object Web Systems: (d) The Microsoft Object Web
Repository/cashof DocObjects
or ActiveX Doc.
Exchange
OLE TPMonitor
ActiveXs
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
Browseruser
client
Internet
Web Server
HTML FormsHTML Tables
Gateway Programs
CGI
HTMLForms + JavaAplets
Database
HTTP
(d)
Tier 1
Tier 3
Tier 2
HTTP
EJB Server JDBC
- (1996-1997) Object Web Systems: (d) The EJB-Based Object Web
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
ApplicationPrograms
DB Server
Browseruser
client
Internet
Web Server
HTML FormsHTML 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) Object Web Systems: (e) The CORBA/Cyberdog Object Web
Bento Doc.Or OODBMS
Lotus Notes
TPMonitor
Compound Doc.
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
JavaApplet
Encapsulation Program
MVSSystem
SNA TCP/IP
An encapsulation programs puts a more friendly face on a legacy system
Legacy System
OrderingEncapsulation
Program
Java AppletsPlace order
user
An encapsulation can present an interface different from the legacy system
Bridging Legacy Systems to the Web:
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
StandaloneJava EmailApplication
Java EmailServer
Email Applet inWeb Browser
HTTP RMI
A Java e-mail System
Legacy SystemJava Email
EncapsulationLegacy E-mail
System
Translate a legacy interface into something newer clients can deal with
Web Server
Legacy SystemNewer
WorkStations
RMI/CORBA
Bridging Legacy Systems to the Web:
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
Legacy System
SNAHardware
Java clientRMI/CORBA
Native methods to access a legacy system
Java Appletin Web Browser
CORBAFront-End
LegacySystem
CORBA expands the accessibility of an encapsulation system
Java Front-End
StandaloneJava
Application
C++Application
CORBALegacy protocol
Native Methods
Bridging Legacy Systems to the Web:
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
Java Encapsulation
New Workstations
RMI/CORBA
Legacy terminals and new workstations access the new system
Legacy System
JavaEncapsulation
Java client
An encapsulation can combine several systems together
NewApplication
NewerDatabase
NewSystem
Legacy data
All data
RMI/CORBA
New data
All data
Legacy TerminalsLegacy
Terminals
TerminalPopulation
Bridging Legacy Systems to the Web:
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
JavaWeb Server
Servlet
Legacy System
Web access to legacy systems involves a servlet
Java Web Server
Servlet
EncapsulationLegacySystem
Web access to legacy system involves a servlet and an encapsulation(servlet and encapsulation reside in the same machine)
Encapsulation
Java method callsLegacy Protocol
Legacy ProtocolRMI
Bridging Legacy Systems to the Web:
Topic: An Overview of Architectures for Web-Based Application Systems
Jerry Gao Ph.D. 5/1999
- 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 Structured) Network Structure, e) Simple Window Menu Structure
(a) (b) (c)
(d)
GUI P1
GUI P2
GUI P4
GUI P2
(e)
Jerry Gao Ph.D. 5/1999
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 Appletb) Multiple Applets in a HTML page (with multiple frames)c) Multiple Applets in different HTML pages
Application GUI Applet
Communication
Security ControlWork Flow Control
Client Data Loader Applet Loader
Access ControlClient DB
TimerTool Bar Help
Application GUI
JavaIDL
Filter/Parser
Jerry Gao Ph.D. 5/1999
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 B) Web-Enabled Desktop Components C) Shippable Places
Jerry Gao Ph.D. 5/1999
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
Topic: An Overview of Architectures for Web-Based Application Systems