220 likes | 375 Views
An Overview of Architectures for Web-Based Application Systems. Instructor: Dr. Jerry Gao San Jose State University email: jerrygao@email.sjsu.edu URL: http://www.engr.sjsu.edu/gaojerry. Topic: An Overview of Architectures for Web-Based Application Systems.
E N D
An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry GaoSan Jose State Universityemail: jerrygao@email.sjsu.eduURL: 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 Internet/Intranet HTTP Server HTML Files HTTP user Browser client URL Jerry Gao Ph.D. 5/1999
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, FirewallsFeatures: Supporting user interactions and requests HTML-based client, CGI-based Server program Secured communications and transactionsApplications: 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 HTML & Forms Firewall Internet Web Server Gateway Programs CGI user Browser client HTML Forms HTML Tables Database Server S-HHTP/SSL 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 program Secured communications and transactionsApplications: 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 HTML Forms HTML Tables Database HTML Forms + JavaScript client Firewall Internet Web Server Gateway Programs CGI user Browser HTTPS or SSL Database Server Tier 1 Tier 2 Tier 3 (a) Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for Web-Based Application Systems - (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 gateway Secured communications and transactionsApplications: 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. Application Server Database HTML Forms + JavaScript client Firewall Internet Web Server Java Servlet user Browser HTTPS or SSL Database Server HTML Forms HTML Tables Tier 1 Tier 2 Tier 3 (b) Jerry Gao Ph.D. 5/1999
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 ServerPlus secured transaction based on secured protocol & firewalls Features: Supporting complex user interactions and requests HTML/JAVA client, CGI-based Server program Secured communications and transactionsApplications: 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. HTML Forms + Java Applets HTML Forms HTML Tables Database client Firewall Internet/Intranet CGI user Browser HTTPS or SSL Web Server Gateway Programs Database Server Application Server Tier 3 Tier 1 (c) Tier 2 Jerry Gao Ph.D. 5/1999
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 Internet/Intranet Java Client Server Stub Client Stub Server Client Stub 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 programsClient: Browser + Java Applets + JDBC clientServer: 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 Internet Database Gateway Database Server Java Applets Database Client (JDBC-Based) Direct JDBC Connection Tier 2 Tier 3 Tier 1 (b) Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for Web-Based Application Systems - (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. Database JDBC Browser Internet Database Server Java Applets Database Client (JDBC-Based) Web Server Database Gateway Java Servlet HTTP Tier 3 Tier 1 (c) Tier 2 Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for Web-Based Application Systems - (1996-1997) Object Web Systems: (c) Java and CORBA (such as JOE, Iona): HTML Forms HTML Tables OrbixWeb HTML Forms + Java Applets Internet Web Server Gateway Programs Database CGI HTTP HTTP user Browser Database Server client CORBA IIOP Tier 1 CORBA IIOP ORB Application Proxy Server CORBA Tier 3 Tier 2 CORBA (c) 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 Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for Web-Based Application Systems - (1996-1997) Object Web Systems: (d) The Microsoft Object Web HTML Forms HTML Tables Tier 3 ActiveXs HTML Forms + DocObjects Internet Web Server Gateway Programs SQL Server HTTP HTTP user Browser CGI/ISAPI Exchange client Network OLE Tier 1 Network OLE COM ORB Server Actives OLE TP Monitor Tier 2 (d) Repository/cash of DocObjects or ActiveX Doc. Jerry Gao Ph.D. 5/1999
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 Internet Web Server Gateway Programs HTTP HTTP user Browser Application Programs CGI client DB Server Tier 1 EJB Server JDBC Database Tier 2 (d) Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for Web-Based Application Systems - (1996-1997) Object Web Systems: (e) The CORBA/Cyberdog Object Web HTML Forms HTML Tables Tier 3 Compound Doc. HTML Forms + Java Applets Internet Web Server Gateway Programs DBMS HTTP HTTP user Browser CGI Lotus Notes CORBA IIOP & Compound Doc. client Tier 1 CORBA IIOP ORB Server Actives TP Monitor Tier 2 (d) Bento Doc. Or OODBMS Jerry Gao Ph.D. 5/1999
Topic: An Overview of Architectures for Web-Based Application Systems Bridging Legacy Systems to the Web: MVS System Encapsulation Program TCP/IP Java Applet SNA An encapsulation programs puts a more friendly face on a legacy system Java Applets Ordering Encapsulation Program Legacy System user Place order 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 Web Server Java Email Server Standalone Java Email Application HTTP RMI A Java e-mail System Legacy System Legacy E-mail System Java Email Encapsulation Legacy System RMI/CORBA Newer 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: Java client Java Front-End Native Methods SNA Hardware Legacy System RMI/CORBA Native methods to access a legacy system Java Applet in Web Browser Standalone Java Application Legacy System CORBA Front-End Legacy protocol CORBA 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 New Application RMI/CORBA Java Encapsulation Legacy Terminals Terminal Population RMI/CORBA Legacy Terminals Legacy terminals and new workstations access the new system Legacy System Legacy data Newer Database Java client Java Encapsulation All data All data 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 Encapsulation Java Web Server Servlet Legacy Protocol RMI Web access to legacy systems involves a servlet Java Web Server Servlet Java method calls Legacy Protocol Legacy System 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 sideStructure: a) Linear Structure, b) Tree Structure, c) Index Structure d) Network Structure, e) Simple Window Menu Structure (a) (c) (b) GUI P1 GUI P2 GUI P2 GUI P4 (d) (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 displayStructure: 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/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 C) Shippable Places B) Web-Enabled Desktop Components 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