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



Similar documents
Service Oriented Architectures

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

Enterprise Application Integration (Middleware)

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

What Is the Java TM 2 Platform, Enterprise Edition?

Distributed Database Design

ICS 434 Advanced Database Systems

A framework for web-based product data management using J2EE

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

Introduction: Database management system

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

Chapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server

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

Databases Lesson 04 Client Server Computing and Adaptation

Understanding Application Servers

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

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

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

Client-Server Applications

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

Chapter 2 Database System Concepts and Architecture

Enterprise Application Integration

Tier Architectures. Kathleen Durant CS 3200

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

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

B. WEB APPLICATION ARCHITECTURE MODELS

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

Techniques for Scaling Components of Web Application

How To Develop A Web Dialog For An Org Database With A Database On A Computer (Oracle)

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Middleware for Heterogeneous and Distributed Information Systems

System types. Distributed systems

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

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

Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap.

Distributed Systems Architectures

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

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

Base One's Rich Client Architecture

Java-technology based projects

Latte Rapid Application Development. William Dunlap Product Manager Borland International

Distributed Database Management Systems for Information Management and Access

App Servers & J2EE Platform. Contents: Transaction Processing Monitors. TP Monitors (cont) TP-Monitors. TP Standards. TP Monitors (cont)

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

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

E-Commerce Supply Chain Management Domain Research and Standard Architectures Kunal Chopra, Jeff Elrod, Bill Glenn, Barry Jones.

CS Developing Web Applications with Java Technologies

Enterprise Infrastructure Architecture

PERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS

zen Platform technical white paper

Managing Complexity in Mobile Application Deployment Using the OSGi Service Platform

Building Java Servlets with Oracle JDeveloper

Client Server Architecture

JEE Web Applications Jeff Zhuk

A review and analysis of technologies for developing web applications

Database Middleware and Web Services for Data Distribution and Integration in Distributed Heterogeneous Database Systems

25 May Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy

OFFSHORE SOFTWARE DEVELOPMENT

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

Tutorial on Client-Server Architecture

Chapter 1 Introduction to Enterprise Software

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

The Service Revolution software engineering without programming languages

SAS Drug Development Integration & PheedIt

ON-LINE BOOKING APPLICATION NEIL TAIT

Core J2EE Patterns, Frameworks and Micro Architectures

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

Open For Business in a Nutshell

SOFTWARE ARCHITECTURE FOR FIJI NATIONAL UNIVERSITY CAMPUS INFORMATION SYSTEMS

Architectural Overview

Client-server 3-tier N-tier

Enterprise Integration Architectures for the Financial Services and Insurance Industries

JBS-102: Jboss Application Server Administration. Course Length: 4 days

Better Customer Service & Support Through Monitoring and EAI

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

APPLICATION ARCHITECTURE AND MODELING

JAVA/J2EE DEVELOPER RESUME

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO

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

A Framework for Developing the Web-based Data Integration Tool for Web-Oriented Data Warehousing

Real-time Data Replication

Configuration Management of Massively Scalable Systems

Web-Based Database Distributed Systems

A Generic Database Web Service

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT SYSTEMS

Web Cloud Architecture

SSC - Web development Model-View-Controller for Java web application development

Session 12 Evolving IT Architectures: From Mainframes to Client-Server to Network Computing

Transcription:

C/S Basic Concepts The Gartner Model Contents: 2-tier Gartner Model Winsberg s Model / Balance Example 3-tier n-tier Became de facto reference model Recognizes 5 possible modes of distribution: distributed presentation remote presentation distributed logic remote data access distributed database Assumes a 2-tier model and allocates functionality to or server 1 2 Gartner Group Model Presentation lication Access presentation Remote presentation logic Remote access database GM: distributed presentation presentation only presentation management function shared between and server everything else remains on the server screen-scraping (emulation-based) applications G placed in front of existing characterbased interface first step in migration of legacy applications to a G 3 4. GM: remote presentation Remote presentation presentation manager entirely on presentation logic, data logic and data manager on server X Window System, Web applications where s are Web browsers GM: distributed logic logic: application is split into presentation logic and data logic component all presentation management activities on workstation all data management activities on the server 5 6 1

GM: remote data access Remote data access database manager resides on server presentation management and data logic reside on typical of /server DBMSs (DB2, Oracle, Informix, etc.) GM: base base portions of the database reside on portions of the database reside on server DBMS manages communication involved limited implementation of full-fledged DDBMS functionality 7 8 Critique of the Gartner Model Winsberg s Model Func ty processing is not distributed data first 4 levels describe distributed processing fifth level describes distributed data database distribution is orthogonal to processing distribution and is applicable to all 4 layers distributed databases are transparent to the user, the other 4 layers are not 9 Functional Area User Interface lication Logic (or Resource) Management Layer Presentation Mgmt. lication Logic Logic base Mgmt. Description Drives display and graphical layout Logic for screens, interaction w/users Business logic and control flow Logical data access, consistency rules Storage/retrieval/re covery 10 Basic Concepts and Notation : user or program that wants to perform an operation over the system. To support a, the system needs to have a presentation layer through which the user can submit operations and obtain a result. lication logic: establishes what operations can be performed and how they take place. Enforces rules and establishes processes. Resource manager: deals with storage, indexing, and retrieval of data necessary to support the application logic. Winsberg s Model Remote Presentation Logic Remote Access Presentation Mgr. Presentation Mgr. Presentation Mgr. & Logic & Logic & Logic Manager Manager Manager 11 12 2

/ Balance Example - Fat Fat Fat +1 Integrity and Consistency type verification, ranges, etc. integrity e.g. Date of birth verification Verify existence of data (according to relationships) referential integrity Department exists (association relationship) Calculate the next employee number [Autonumber] (read last; add one; return it) e.g. Employee number (unique) 13 15 Example - Fat Business Rules They could be application-specific Business rules scattered in many applications Expressed in form of programming code Example: Department Bonus (10% for all programmers) Example - Fat Integrity and Consistency Based on Stored Procedures A unique version of the verification process is maintained at the server side Autonumber is a Stored Procedure that controls uniqueness 16 G 17 Example - Fat 2-tier, 3-tier, and Multi-tier G Business Rules Stored Procedures & Triggers Business rules are located in one place (the server) Example: Department Bonus (10% for all programmers) Employee table (column dept) has a trigger that is executed on update or on insert. The trigger in fact executes a store procedure Two-tier architectures are typical of environments with few s homogeneous environments closed environments (e.g. DBMS) Three-tier architectures are required for scalability to thousands of s access to heterogeneous data sources maintainability (update software on few app. servers instead of thousands of s) 18 19 3

RESOURCE INTEGR. APP ACCESS CLIENT 2-tier, 3-tier, and Multi-tier Multi-tier: What is Involved? Mobile Comm. server. server server Multi-tier architectures result when functionality is delegated to specialized servers (communication-, web-, application-, data-server) mobile s are considered (desktop could act as server to mobile ) considering distributed systems in which every server can act as to another server web api wap ACCESS api api java INTEGRATION db db db CLIENT APP RESOURCE web and wap browsers specialized s (Java, Notes) SMS... HTML, SOAP, XML web servers, J2EE, CGI JAVA Servlets API, JSP MOM, HTML, IIOP, RMI-IIOP, SOAP, XML TP-Monitors, stored procedures programs, scripts, EJBs MOM, IIOP, RMI-IIOP, XML system federations, filters monitors, MOM ODBC, JDBC, RPC, MOM, IIOP, RMI-IIOP databases, multi-tier systems backends, mainframes 20 21 The Problem Space of C/S The Problem Space of C/S Three axes: two-tier vs. three-tier vs. n-tier transactional vs. informational relational vs. -oriented vs. semistructured informational transactional Correctness OODBMS relational MMDBMS RDBMS OTM DW TPM CORBA GatewayedDB WWW OTS, J2EE Tiers semistructured Model 2-tier 3-tier n-tier 22 23 Distribution at the different layers A game of boxes and arrows Support for multiple s Separated application logic lication Logic Resource Manager distribution or replication Any combination thereof 24 There is is no problem in in system design that cannot be solved by adding a level of indirection. There is is no performance problem that cannot be solved by removing a level of indirection. Each box represents a part of the system. Each arrow represents a connection between two parts of the system. The more boxes, the more modular the system: more opportunities for distribution and parallelism. This allows encapsulation, component based design, reuse. The more boxes, the more arrows: more sessions (connections) need to be maintained, more coordination is necessary. The system becomes more complex to monitor and manage. The more boxes, the greater the number of context switches and intermediate steps to go through before one gets to the data. Performance suffers considerably. System designers try to balance the capacity of the computers involved and the advantages and disadvantages of multiple layers. 25 4

/ Balance Separation between and application server is never clean-cut There s no recipe But experiences! All depends on the kind of application It also depends on the hardware ( and server) Cached data are needed when part of the application logic is located on the checking of consistency constraints on side at data entry time Depends on the kind of interaction 26 5