Architecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U



Similar documents
-8*6-DYD6HPLQDU 6HUYOHW$UFKLWHFWXUHV 5DLQHU+LVV$QGUHDV.DSS 6<6725$*

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

S y s t e m A r c h i t e c t u r e

Client/server is a network architecture that divides functions into client and server

A Comparison of Software Architectures for E-Business Applications

Detailed Table of Contents

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

HOW TO CONFIGURE PASS-THRU PROXY FOR ORACLE APPLICATIONS

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

Elements of Advanced Java Programming

What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.

System types. Distributed systems

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

Computer and Information Sciences

Enabling the Information Age

White paper. IBM WebSphere Application Server architecture

Java Thin-Client Programming for a Network Computing Environment

DEPLOYMENT OF I M INTOUCH (IIT) IN TYPICAL NETWORK ENVIRONMENTS. Single Computer running I m InTouch with a DSL or Cable Modem Internet Connection

Building Java Servlets with Oracle JDeveloper

If your organization is not already

A Web-Based Real-Time Traffic Monitoring Scheme Using CORBA

Information Systems Analysis and Design CSC John Mylopoulos. Software Architectures Information Systems Analysis and Design CSC340

ICS 434 Advanced Database Systems

Distributed Systems Lecture 1 1

2. Accessing Databases via the Web

Module 12: Microsoft Windows 2000 Clustering. Contents Overview 1 Clustering Business Scenarios 2 Testing Tools 4 Lab Scenario 6 Review 8

The World Wide Web: History

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Understanding Application Servers

Software Architecture

System Architectures for Integrating Web-Based User Interfaces into (Legacy) Database Applications

What Is the Java TM 2 Platform, Enterprise Edition?

Features of The Grinder 3

This paper was presented at the 1996 CAUSE annual conference. It is part of the proceedings of that conference, "Broadening Our Horizons:

Web Pages. Static Web Pages SHTML

Network Configuration Settings

Java-technology based projects

Module 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur

Java 2 Platform, Enterprise Edition (J2EE) Bruno Souza Java Technologist, Sun Microsystems, Inc.

E-Commerce Systems Technology Infrastructure

PLATO Learning Environment System and Configuration Requirements for workstations. October 27th, 2008

An Overview of Oracle Forms Server Architecture. An Oracle Technical White Paper April 2000

PLATO Learning Environment System and Configuration Requirements. for workstations. April 14, 2008

Java TM WorkShop TM and Beyond. Joe Keller Director of Marketing SunSoft Developer Products


C/S Basic Concepts. The Gartner Model. Gartner Group Model. GM: distributed presentation. GM: distributed logic. GM: remote presentation

Net-WMS FP Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT. Networked Businesses. D.8.1 Networked architecture J2EE compliant

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

Introduction to Internet and WWW

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

B. WEB APPLICATION ARCHITECTURE MODELS

Performance Comparison of Database Access over the Internet - Java Servlets vs CGI. T. Andrew Yang Ralph F. Grove

Japan Communication India Skill Development Center

Tel: Toll-Free: Fax: Oct Website: CAIL Security Facility

HP Web Jetadmin Database Connector Plug-in reference manual

Outline. CIW Web Design Specialist. Course Content

Chapter 1 Programming Languages for Web Applications

Microsoft SharePoint 2010 Deployment with Coyote Point Equalizer

Transport Layer Security Protocols

MULTICULTURAL CONTENT MANAGEMENT SYSTEM

Japan Communication India Skill Development Center

Chapter 4: Networking and the Internet

Titolo del paragrafo. Titolo del documento - Sottotitolo documento The Benefits of Pushing Real-Time Market Data via a Web Infrastructure

isupplier PORTAL ACCESS SYSTEM REQUIREMENTS

Delivering Document Management Systems Through the ASP Model

SAP WEB DISPATCHER Helps you to make decisions on Web Dispatcher implementation

Exploiting the Web with Tivoli Storage Manager

Last Updated: July STATISTICA Enterprise Server Security

PLATO Learning Environment 2.0 System and Configuration Requirements. Dec 1, 2009

Novell Access Manager SSL Virtual Private Network

Version Overview. Business value

Web-Based Database Distributed Systems

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT SYSTEMS

Oracle WebLogic Server 11g: Administration Essentials

Web Foundations Series Internet Business Associate

Cisco PIX vs. Checkpoint Firewall

SiteCelerate white paper

Client-Server Applications

Latte Rapid Application Development. William Dunlap Product Manager Borland International

IONA Security Platform

Oracle Net Services for Oracle10g. An Oracle White Paper May 2005

Interactive Applications in Teaching with the MATLAB Web Server. 1 Aim and structure of the MATLAB Web Server

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

IT Architecture Review. ISACA Conference Fall 2003

Credits: Some of the slides are based on material adapted from

Introduction. Introduction: Database management system. Introduction: DBS concepts & architecture. Introduction: DBS versus File system

Sostenuto 4.9. Hardware and Software Configuration Guide. Date: September Page 1 of 13

LiquidOffice v4 Architecture/Technologies

Last update: February 23, 2004

Japan Communication India Skill Development Center

Web Design Specialist

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Transcription:

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: Cons: Simple and easy to set up. Very server processing functions No dynamic HTML generation. No support for user interaction Not easy to maintain and manage HTML user Browser Internet/Intranet HTTP HTTP Server HTML Files client URL

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 user HTML & Forms Pros: Cons: Browser 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 Internet Firewall Web Server CGI Gateway Programs client S-HHTP/SSL Database Server HTML Forms HTML Tables

Architecture Design 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: Cons: 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 user HTML Forms + JavaScript Browser client HTTPS or SSL Internet Firewall Web Server CGI HTML Forms HTML Tables Gateway Programs Database Database Server Tier 1 Tier 2 Tier 3 (a)

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: Cons: Global accesses, platform independent. Secured communication and transactions. Supporting Complex GUI interface. Slow speed on Java applet download. Unstructured server programs with low concurrency HTML Forms + Java Applets HTML Forms HTML Tables Database user Browser client HTTPS or SSL Internet Firewall Web Server CGI Gateway Programs Database Server Tier 1 (b) Tier 2 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: Cons: Intranet accesses, platform independent. Support multithreading server. Supporting Complex GUI interface. No secured communications. Client and server must be written in Java. Limitation on providing scalable servers. Java Client Server Stub Network RMI Client Stub Client Stub Server Database Database Server

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. JDBC Database Java Client Database Client Network Database Gateway Database Server Tier 1 (b) Tier 2 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 user HTML Forms + Java Applets Browser HTTP HTTP Web Server CGI Gateway Programs Database client CORBA IIOP Internet Database Server Tier 1 CORBA IIOP ORB Application Proxy Server CORBA (c) Tier 2 CORBA Tier 3 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

Architecture Design For Web-based Application Systems - (1996-1997 --> Future) Object Web: (d) The Microsoft Object Web ActiveXs HTML Forms HTML Tables Tier 3 user HTML Forms + DocObjects client Browser HTTP Network OLE Internet HTTP Web Server CGI/ISAPI Gateway Programs SQL Server Exchange Tier 1 Network OLE COM ORB Server Actives OLE TP Monitor (d) Tier 2 Repository/cash of DocObjects or ActiveX Doc.

Architecture Design For Web-based Application Systems - (1996-1997 --> Future) Object Web: (e) The CORBA/Cyberdog Object Web Compound Doc. HTML Forms HTML Tables Tier 3 user HTML Forms + Java Applets client Browser HTTP CORBA IIOP & Compound Doc. Internet HTTP Web Server CGI Gateway Programs DBMS Lotus Notes Tier 1 CORBA IIOP ORB Server Actives TP Monitor (d) Tier 2 Bento Doc. Or OODBMS

Architecture Design For Web-based Application Systems Bridging Legacy Systems to the Web: MVS System SNA Encapsulation Program TCP/IP Java Applet An encapsulation programs puts a more friendly face on a legacy system user Java Applets Place order 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 Web Server Java Email Server RMI Standalone Java Email Application A Java e-mail System Legacy E-mail System Java Email Encapsulation RMI/CORBA Legacy System Legacy System Newer 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: Java client RMI/CORBA Java Front-End Native Methods 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 New Application RMI/CORBA Java Encapsulation Terminal Population Legacy Terminals Legacy Terminals Legacy terminals and new workstations access the new system Legacy data Legacy System Java client All data 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 Java method calls Legacy System 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, b) Tree Structure, c) Index Structure d) Network Structure, e) Simple Window Menu Structure (a) (b) (c) 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, b) Tree Structure, c) Index Structure d) Network Structure, e) Simple Window Menu Structure (a) (b) (c) 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 Data Loader Applet Loader Timer Help Print Client DB Work Flow Control Security Control Access Control Application GUI 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