Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007



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

What Is the Java TM 2 Platform, Enterprise Edition?

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

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

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

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

Oracle WebLogic Server 11g: Administration Essentials

The Comparison of J2EE and.net for e-business

Glassfish, JAVA EE, Servlets, JSP, EJB

WebSphere Application Server - Introduction, Monitoring Tools, & Administration

IBM Rational Web Developer for WebSphere Software Version 6.0

Enterprise Application Integration

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

Implementation of an Enterprise-level Groupware System Based on J2EE Platform and WebDAV Protocol

Understanding Application Servers

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

Web Services and Application Frameworks (.NET and J2EE)

Portals, Portlets & Liferay Platform

Instituto Politécnico Nacional Escuela Superior de Cómputo. THEMATIC UNIT: I Introduction to Web Applications

Distributed Database Design

Distributed Objects and Components

Introduction to Sun ONE Application Server 7

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Basic TCP/IP networking knowledge of client/server concepts Basic Linux commands and desktop navigation (if don't know we will cover it )

WHITE PAPER. Domo Advanced Architecture

5 Days Course on Oracle WebLogic Server 11g: Administration Essentials

Universität Karlsruhe (TH) Institut für Telematik Prof. Dr. S. Abeck. Cooperation & Management. Application Server. An Introduction

B. WEB APPLICATION ARCHITECTURE MODELS

JEE Web Applications Jeff Zhuk

ASP.NET: THE NEW PARADIGM FOR WEB APPLICATION DEVELOPMENT

A Comparison of Software Architectures for E-Business Applications

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

era J2EE Platform and Tool Recommendations

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

JAVA/J2EE DEVELOPER RESUME

Learn Oracle WebLogic Server 12c Administration For Middleware Administrators

A framework for web-based product data management using J2EE

E-commerce. Web Servers Hardware and Software

Version Overview. Business value

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

Long haul product development

zen Platform technical white paper

J2EE Web Development. Agenda. Application servers. What is J2EE? Main component types Application Scenarios J2EE APIs and Services.

A Performance Comparison of Web Development Technologies to Distribute Multimedia across an Intranet

COM 440 Distributed Systems Project List Summary

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

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

Framework Adoption for Java Enterprise Application Development

WebSphere Suite Overview

CA IDMS Server r17. Product Overview. Business Value. Delivery Approach

Web Pages. Static Web Pages SHTML

CONSUMER DEMAND MONITORING AND SALES FORECASTING (CDMFS) SYSTEM

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

Internet and Web-Based Database Technology

Appeon for PowerBuilder

MEGA Web Application Architecture Overview MEGA 2009 SP4

Web and e-business Technologies

Developing Web Services with Documentum

JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS QUARTER 2 NETWORKING AND OPERATING SYSTEMS ESSENTIALS. Module 1 - Office Applications

Solutions for detect, diagnose and resolve performance problems in J2EE applications

<Insert Picture Here> Betting Big on JavaServer Faces: Components, Tools, and Tricks

White Paper Converting Lotus Notes Applications to the Cloud Using the CIMtrek converter Product

White paper. IBM WebSphere Application Server architecture

Java-technology based projects

GRAD Analytics Advanced price and promotional analysis interface. Reactive UI providing dimensional visibility to marketing analysis.

This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance.

Configuration Management of Massively Scalable Systems

A Comparative Study of Web Development Technologies Using Open Source and Proprietary Software

Building Java Servlets with Oracle JDeveloper

Service Oriented Architectures

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

Oracle WebLogic Server 11g Administration

JReport Server Deployment Scenarios

How To Protect Your Computer From Being Hacked On A J2Ee Application (J2Ee) On A Pc Or Macbook Or Macintosh (Jvee) On An Ipo (J 2Ee) (Jpe) On Pc Or

WEBLOGIC ADMINISTRATION

ACM Crossroads Student Magazine The ACM's First Electronic Publication

Introduction to Cloud Computing. Lecture 02 History of Enterprise Computing Kaya Oğuz

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

ON-LINE BOOKING APPLICATION NEIL TAIT

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

WebSphere Product Family Overview

CrownPeak Java Web Hosting. Version 0.20

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

How To Develop An Application Developer For An Ubio Websphere Studio 5.1.1

Enterprise Integration Architectures for the Financial Services and Insurance Industries

<Insert Picture Here> Oracle Mobile Enterprise Application Platform Overview

Learning GlassFish for Tomcat Users

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

Web Programming Languages Overview

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

Commercial software development with the help of J2EE architecture and MVC

Technical White Paper The Excel Reporting Solution for Java

Category: Business Process and Integration Solution for Small Business and the Enterprise

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

A standards-based approach to application integration

Detailed Table of Contents

DBMS Infrastructures and IT Career Recommendations. Jeff Fineberg November 21, 2011

The Enterprise Java Internet Provider

Transcription:

Internet Engineering: Web Application Architecture Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007

Centralized Architecture mainframe terminals terminals 2

Two Tier Application Architecture In the 90 s, systems should be clientserver 3

Client-Server Architecture Client-Server divides programs into two types Server manages information system resources or provides well defined services for client Client communicates with server to request resources or services Advantage Deployment flexibility scalability, maintainability Disadvantage Potential performance, security, and reliability issues from network communication 4

3 Layer Architecture 5

Three-Layer Architecture Layers can reside on one processor or be distributed to multiple processors Data layer manages stored data in databases Business logic layer implements rules and procedures of business processing Presentation (View) layer accepts user input and formats and displays processing results 6

Web Architecture DHTML Browser (IE, FireFox, Opera) Desktop (PC or MAC) HTTP HTML PHP script Web Server (Apache, IIS) SQL data Database Database Server Presentation HTML+DHTML Dynamic HTML Generation, Business Logic Persistence 7

Enterprise Application Model 8

Internet and Web-based Application Architecture Web is complex example of client-server architecture Can use Web protocols and browsers as application interfaces Benefits Accessibility Low-cost communication Widely implemented standards 9

Negative Aspects of Internet Application Delivery security Fluctuating reliability of network throughput, slow speed Volatile, changing standards 10

Presentation layer (Client Side) Issue request to remote server using appropriate protocol (usually HTTP) Accept and render the returned HTML (or JPEG,..) file Allow plug-ins to handle new file types execute client-side scripts in JavaScript Accept user input via a variety of controls on a form 11

Application Layer: Server Side Presentation + Business Logic Server (Apache, IIS) Identifying appropriate action to take fetch a file Sending output back to caller Support for: thousands of concurrent users multi-threading [ allow multiple processes to run concurrently] caching [holding results in a temporary store to reduce recalculation] Server Script (e.g. in PHP) Interacting with the server (accessing input and generating output) interpreting the requests according to business rules requesting the appropriate data from the Persistence layer computing derived data creating the HTML (or GIF,...) for the page 12

Persistence layer interaction with the database using standard languages e.g. SQL queries using database-specific protocol over TCP/IP define and modify the data structures (e.g. tables) insert, update and delete data maintain data persistently, with backup and recovery handle transactions to support concurrent access to the database via locking optimise access by compilation of queries, indexing, replication of tables etc. 13

Enterprise IT Requirements INTERNET FRONT OFFICE APPLICATION INTEGRATION BACK OFFICE DATA WAREHOUSE On-line Integration Legacy Apps Off-line Integration DB2 Custom Apps Purchased Apps SAP Thin Client Apps Business Intelligence 14

Enterprise Application Model 15

J2EE clients Web clients Dynamic web pages with HTML, rendered by web browsers. Can include applets. Communicates with server typically using HTTP. Application clients User interface using GUI components such as Swing and AWT. Directly accesses the business logic tier. 16

Web-tier Components Client can communicate with the business tier either directly or through servlets or JSP that are located in the web-tier. Servlets are special classes to realize the request-response model (get, post of HTTP). JSP is a developer-friendly wrapper over the servlet classes. 17

Business-tier Components Business logic, rules, computation Enterprise Java Beans (EJB) can be used to implement this tier. This tier receives the data from the webtier and processes the data and sends it to the EIS-tier and takes the data from the EIS and sends it to the web-tier. 18

Enterprise Information System (EIS) Tier In general this corresponds to the database (relational database) and other information management system. The other information management systems may include Enterprise Resource Planning (ERP) and legacy system connected through open database connectivity. 19

Enterprise Java Bean (EJB) (1) EJBs are distributed components used to implement business logic (no UI) Client of EJBs can be JSPs, servlets, other EJBs and external applications Clients see interfaces 20

Enterprise Java Bean (EJB) (2) At run-time, an enterprise bean resides in an EJB container. An EJB container provides services such as security, transaction, deployment, Process of installing an EJB in a container is called EJB deployment. 21

Enterprise Java Bean (EJB) (3) Entity Beans Represent persistent business Entity Persisted in storage system (usually Database) Session Beans Encapsulate complex business logic Can coordinate transactional work on multiple entity beans Stateful/Stateless Message Driven beans 22

JMS Point-to-point Destination is queue 23

JMS Publish-subscribe Destination is topic 24

What is Application Server Application servers enable the development of multi-tiered distributed applications. They are also called middleware An application server acts as the interface between the database(s), the web servers and the client browsers 25

J2EE Application Servers Major J2EE products: BEA WebLogic IBM WebSphere Sun iplanet Application Server Oracle 9iAS HP/Bluestone Total-e-Server Borland AppServer Jboss (free open source) 26

J2EE Benefits Component based model Container provided services Highly Scaleable Simplified Architecture Flexible security model Integration with existing systems Freedom to choose vendors of application servers, tools, components Multi-platform 27

J2EE Multi-tier Model 28

J2EE Application Scenarios Multi-tier typical application 29

J2EE Application Scenarios Stand-alone client 30

J2EE Application Scenarios Web-centric application 31

J2EE Application Scenarios Business-to-business 32

J2EE Services and APIs JNDI - Naming and directory services Applications use JNDI to locate objects, such as environment entries, EJBs, datasources, message queues Transaction service: Controls transactions automatically Security J2EE Connector Architecture Integration to non-j2ee systems, such as mainframes and ERPs. Standard API to access different EIS 33

.NET Developer Tools Visual Studio.NET is an integrated development environment for developing.net applications It includes support for multiple languages Visual Basic.NET Visual C#.NET Visual C++.NET ASP.NET 34

.NET High Level Description Common Language Runtime Platform Interoperability "You very seldom want to port an existing application between platforms, but you do want to interoperate between applications regardless of platform; therefore, industry standard support for Web Services is of great importance. -Dan Fox, Solutech, Inc. Author of: Building Distributed Applications with Visual Basic.NET 35

ASPX Microsoft Active Server Pages,.NET IIS Server Old ASP HTML with embedded server scripts Session Support VB Scripts ASPX.NET Separation of HTML and code Multiple Languages 36

IIS Internet Information Services (IIS, sometimes Server or System) is a set of Internet-based services for servers using MS Windows Used for corporate, commerce and secure websites. It is integrated with Windows 2000 and Windows 2003 Server. 37

Forrester Report: The State of Technology Adoption Source: http://download.microsoft.com/download/c/7/5/c75837dc-90bb-44d8-ae70- db7bcc5980b9/thestateoftechnologyadoption.pdf 38

Pros and Cons of J2EE Pros Portability Vendor choices for tools and application servers Rich developer community, many free tools. Cons Complex application development environment Tools can be difficult to use Java Swing limited for developing GUI's (?) Performance 39

Pros and Cons of.net Pros Easy to use tools Strong framework for building GUI's Language support Performance Cons Portability Choice of IDE's Limited 40

.Net and J2EE key differences Fundamental Philosophy: One language, Many Systems vs. Many Languages, One System. 41

Questions 42

.NET Online Resources http://www.msdn.microsoft.com/netframew ork/ http://www.gotdotnet.com/ http://www.startvbdotnet.com http://www.asp.net http://www.dotnetwire.com 43

J2EE Online Resources http://java.sun.com/j2ee/index.jsp http://library.theserverside.com/rlist/term/j 2EE.html http://www.javaworld.com 44

Assignment 2 Compare.Net and J2EE See these papers: http://java.sun.com/performance/reference/whitepapers/ws_test- 1_0.pdf http://www.gotdotnet.com/team/compare/benchmark_response.pdf Analyze the benchmarks and prepare a report. Benchmark approach, fairness, results