An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose...

22
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

Transcript of An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose...

Page 1: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

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

Page 2: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

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

Page 3: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

- (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

Page 4: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

- (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

Page 5: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

- (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

Page 6: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

- (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

Page 7: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

- (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

Page 8: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

- (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

Page 9: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

- (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

Page 10: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

- (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

Page 11: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

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

Page 12: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

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

Page 13: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

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

Page 14: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

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

Page 15: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

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

Page 16: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

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

Page 17: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

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

Page 18: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

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

Page 19: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

- 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

Page 20: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

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

Print

JavaIDL

Filter/Parser

Jerry Gao Ph.D. 5/1999

Topic: An Overview of Architectures for Web-Based Application Systems

Page 21: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

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

Page 22: An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL:

- 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