CSE 1561 3-Tier Architectures (or 3-Tier Applications) Adapted from Chuck Cusack’s Notes.

Slides:



Advertisements
Similar presentations
Objectives In this session, you will learn to:
Advertisements

Technical Architectures
Web Server Administration
Creating WordPress Websites. Creating a site on your computer Local server Local WordPress installation Setting Up Dreamweaver.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 1.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
DT211/3 Internet Development Application Internet Development Application.
Introduction to Web Interface Technology (CSE2030)
Multiple Tiers in Action
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Advanced Topics Chapter Seven DAVID M. KROENKE’S DATABASE CONCEPTS, 2 nd Edition.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Chapter 2 Database System Concepts and Architecture
Web-based Software Development - An introduction.
N-Tier Architecture.
System Architecture & Hardware Configurations Dr. D. Bilal IS 592 Spring 2005.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Computing for Bioinformatics Introduction to databases What is a database? Database system components Data types DBMS architectures DBMS systems available.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Oracle8 JDBC Drivers Section 2. Common Features of Oracle JDBC Drivers The server-side and client-side Oracle JDBC drivers provide the same basic functionality.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Modern Software Technologies Java™, J2EE™, JSP™, JDBC™ by Radoslav Tr. Ivanov
DATABASE PROGRAMMING Lecture on 16 – 05 – PREVIOUS LECTURE QUIZ: - Some students were very creative in transforming 2NF to 3NF. Excellent! - Some.
© 2002 by Prentice Hall 1 David M. Kroenke Database Processing Eighth Edition Chapter 14 Networks, Multi-Tier Architectures, and XML.
Introduction to Internet Programming (Web Based Application)
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Introduction to J2EE Architecture Portions by Kunal Mehta.
2. Database System Concepts and Architecture
M1G Introduction to Database Development 6. Building Applications.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
SQL Queries Relational database and SQL MySQL LAMP SQL queries A MySQL Tutorial and applications Database Building Assignment.
Universiti Utara Malaysia Chapter 3 Introduction to ASP.NET 3.5.
MET280: Computing for Bioinformatics Introduction to databases What is a database? Not a spreadsheet. Data types and uses DBMS (DataBase Management System)
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
Implementation - Part 2 CPS 181s March 18, Pieces of the Site-building Puzzle Page 180, figure 4.1.
Web Interfaces, Forms & Databases Databases Snyder p HTML Basics Snyder p JavaScript Snyder Chapter 18.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
1 Welcome to CSC 301 Web Programming Charles Frank.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
MC365 Application Servers, Servlets, and Java Server Pages (JSP’s): Tomcat.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
David Lawrence 7/8/091Intro. to PHP -- David Lawrence.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
DAT602 Database Application Development Lecture 1 Course Structure & Background knowledge.
Web Page Designing With Dreamweaver MX\Session 1\1 of 9 Session 1 Introduction to PHP Hypertext Preprocessor - PHP.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
2 Copyright © Oracle Corporation, All rights reserved. Basic Oracle Net Architecture.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
3-Tier Architectures (or 3-Tier Applications)
Web-based Software Development - An introduction
Database System Concepts and Architecture
Introduction and Principles
Relational database and SQL MySQL LAMP SQL queries
MVC and other n-tier Architectures
Lecture 1: Multi-tier Architecture Overview
ISYS 350 Building Business Applications
ISYS 350 Building Business Applications
UFCEUS-20-2 Web Programming
Presentation transcript:

CSE Tier Architectures (or 3-Tier Applications) Adapted from Chuck Cusack’s Notes

CSE 1562 Simple Programs The programs you have written so far have probably had the following properties: –Input/output was text-based, GUI, and/or with files –Ran locally—that is, they had to be downloaded to the machine on which you (or your T.A.) ran them –The data had to be on the same machine as your program –Were not able to be run simultaneously by more than one person. –Had no interaction with other programs In the real world, most software is much more complicated than this

CSE 1563 Databases and the Web Many real applications are different than what you have programmed in two important ways –They make extensive use of databases to store data –They are accessible from anywhere by multiple people simultaneously via the World Wide Web Sites like amazon.com and ebay.com are entirely database driven—that is, each time you go to the site, what you see is determined by data in their database As we will see, applications that use databases and are web accessible can be implemented using a 3-tier architectural model

CSE Tier Architectures Definition: A 3-tier architecture is one which has a client tier, a middle tier, and a database tier. –The database tier manages the database –The middle tier contains most of the logic and communicates between the other tiers –The client tier is the interface between the user and the system Definition: An n-tier architecture is one which has n tiers, usually including a database tier, a client tier, and n-2 tiers in between.

CSE 1565 Thin-Client 3-Tier Models The thin-client 3-tier model has these tiers: –The database management system (DBMS) –The main application software –A web browser Examples – – – * – * –Lotus Notes Web Client * ( * These may actually be n-tier)

CSE 1566 Thick-Client 3-Tier Models The thick-client 3-tier model has these tiers: –The database management system (DBMS) –The main application software –Some sort of interface software which must be installed on each client machine Examples: –Lotus Notes –Desktop applets that display weather, etc. –RealPlayer and other applications that download CD information from the Web

CSE 1567 Another 3-Tier Model Another common model has these tiers: –The database management system (DBMS) and a persistence manager which controls all data flow into and out of the database –The main application software –A GUI (thin or thick) The main difference here is that the main application software is not allowed to interact directly with the database You could also think of this as a 4-tier architecture: –The database management system (DBMS) –A persistence manager –The main application software –A GUI (thin or thick)

CSE and n-Tier Models The 2-tier model is more simple, but more limited, than a 3-tier model, and often includes –The database management system (DBMS) –The main application software, including GUI Here, the entire application is generally run on the client machine (certainly a thick-client) In some contexts, the 2-tier model is also know as the client-server model, where the server can be something other than a database In general an n-tier model will have –The database management system (DBMS) –(n-2) application layers –A GUI (thin or thick)

CSE 1569 n-Tier Questions The following are important questions one must ask when thinking about n-tier architectures –How many tiers should be used? –What tasks should be done by each tier? In other words, how exactly should the layers be divided? –Should I use thin or thick clients? –Should the application be web-accessible? –How should connections to the database be managed? –What database management system (DBMS) should be used? –What languages(s), platform(s), and software should the system use?

CSE n-Tier Answers The purpose of these notes is not to –Present clear answers to all of the questions on the previous slide –Be the authoritative source for information about n-tier architectures –Make you an expert in n-tier architectures Rather, the purpose is to –Introduce you to the concept of n-tier architectures –Get you to start thinking about the issues involved –Give you partial answers to some of the question

CSE Database Choices There are many popular database management systems (DBMSs), including –IBM DB2 –Oracle –Microsoft SQL Server –Microsoft Access –MySQL Which one you should use depends on many factors, including number of expected users, size of the application and/or the database, budget, etc. Fortunately, the interfaces to these DBMSs have a lot in common, so if you learn to use one, most of what you learn is transferable to the others

CSE Middle Tier Choices Almost anything is possible, with some common choices being – Java – JSP – PHP – C++ – Perl – Visual Basic – C# –.NET – ASP However, whether or not the client will be thin or thick will influence this choice For a thin client, the obvious middle tier choices are –Java applets, JSP, PHP, ASP, and Perl –Of course with all of these, HTML is involved as well

CSE Client Choices Thin clients are generally web browsers, so the important choice was made in the middle tier For thick clients, we might use –Java applications –C++ applications with GUI provided by MFC (Microsoft Foundation Classes) Tcl/Tk (Tool command language) GTK (Gimp ToolKit) Qt

CSE Examples You could build a 3-tier application which has – Oracle DBMS, C++ middle, and C++/MFC client –MySQL DBMS, PHP middle, and web browser client ( uses these choices) –IBM DB2 DBMS, JSP middle, and Java applet client –MySQL DBMS, Java Applet middle, and web browser client –MySQL DBMS, JSP middle, and web browser client ( uses these choices) –Microsoft SQL Server DBMS with ASP access control, ASP middle, and web browser client

CSE Our Choices In this class, we will use the following: –Thin-client 3-tier architecture model –Database tier: MySQL –Middle tier: PHP/HTML and Java applets –Client tier: Your favorite web browser It is important that you realize that –Thin clients are not always the best choice –Three is not always the best number of tiers –Our database and language choices are not the best or only choices, but are reasonable for this class –The approach we take to design and implement 3-tier applications is not the only, and not necessarily the best way

CSE References Hugh E. Williams & David Lane, Web Database Applications with PHP and MySQL, 2 nd Ed., O’Reilly, 2004 Stephen McHenry, 3-Tier Architecture– An Introduction, Advanced Software Technologies, Ltd. ( 1997