Web Application Architecture Bird Book pp 1-14. Client Server Model.

Slides:



Advertisements
Similar presentations
Facts about Welcome to this video from Ozeki. In this video I will present what makes Ozeki Phone System XE the Worlds best on-site software PBX for Windows.
Advertisements

1 ColdFusion Sandra Cadena-Torres IS-373 ~ Spring 2010.
Fundamentals of Information Systems, Second Edition 1 Telecommunications, the Internet, Intranets, and Extranets Chapter 4.
DT228/3 Web Development WWW and Client server model.
Infrastructure for Electronic Commerce
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
Web Server Administration
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Creating WordPress Websites. Creating a site on your computer Local server Local WordPress installation Setting Up Dreamweaver.
Internet…issues Managing the Internet
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.
Week 2 IBS 685. Static Page Architecture The user requests the page by typing a URL in a browser The Browser requests the page from the Web Server The.
Remote mailbox access gateway Software lab project.
1 Chapter 2 Infrastructure for Electronic Commerce.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
11 Networks The Great Information Exchange. 2 Networking Fundamentals Computer network: Two or more computers connected together Each is a Node Benefits.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 1 of…
Lesson 19 Internet Basics.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
©Brooks/Cole, 2003 Chapter 6 Computer Networks. ©Brooks/Cole, 2003 Understand the rationale for the existence of networks. Distinguish between the three.
ECA 228 Internet/Intranet Design I Intro to the Web.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
TOPIC 1 – SERVER SIDE APPLICATIONS IFS 234 – SERVER SIDE APPLICATION DEVELOPMENT.
Internet application & architecture Novanto Yudistira.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
1 Telecommunications, the Internet, Intranets, and Extranets CSC101 SECTIONS 01 & 02.
INTRODUCTION TO WEB DATABASE PROGRAMMING
 2000 Deitel & Associates, Inc. All rights reserved. Chapter 24 – Web Servers (PWS, IIS, Apache, Jigsaw) Outline 24.1Introduction 24.2Microsoft Personal.
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
CNIT 132 Intermediate HTML and CSS Course Overview.
Chapter 7: Using Windows Servers to Share Information.
Networks. What is a Network? Two or more computers linked together so they can send and receive data. We use them for sending s, downloading files,
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.
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.
Web Application Programming Carol Wolf Computer Science.
1 Web Server Administration Chapter 1 The Basics of Server and Web Server Administration.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
Section 2 Section 2.1 Identify hardware Describe processing components Compare and contrast input and output devices Compare and contrast storage devices.
MySQL and PHP Internet and WWW. Computer Basics A Single Computer.
INTRODUCTION TO SERVERS & INSTALLATION OF WINDOWS SERVER 2008 R2 Network Administration and Maintenance.
The Internet The internet is simply a worldwide computer network that uses standardised communication protocols to transmit and exchange data.
Implement An Online Management System for PBX Presented by: Bui Phuong Nhung Advisor: Dr. Wei, Chao-Huang.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Introduction to Computing Lecture # 11 Introduction to Computing Lecture # 11.
NETWORK HARDWARE AND SOFTWARE MR ROSS UNIT 3 IT APPLICATIONS.
David Lawrence 7/8/091Intro. to PHP -- David Lawrence.
Networks Am I hooked up?. Networks definition sizes of networks types advantages and disadvantages how data is sent transmission media business uses.
Fundamentals of Information Systems, Second Edition 1 Telecommunications, the Internet, Intranets, and Extranets.
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.
UNIT-3 1.Web server software and Tools 1IT2031 UNIT-3.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
JavaScript and Ajax (Internet Background) Week 1 Web site:
The Internet What is the Internet? The Internet is a lot of computers over the whole world connected together so that they can share information. It.
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Week-10 (Lecture-1) Web Building STEPS OF BUILDING: create web pages using HTML add a consistent style using CSS add computer code using JavaScript add.
Client Server Model. Server Applications (Software) Management and maintenance of Data including Management and maintenance of Data including User login.
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.1 Types of Servers.
What is WWW? The term WWW refers to the World Wide Web or simply the Web. The World Wide Web consists of all the public Web sites connected to the Internet.
PHP / MySQL Introduction
Presentation transcript:

Web Application Architecture Bird Book pp 1-14

Client Server Model

Server Applications (Software) Management and maintenance of Data including Management and maintenance of Data including User login data User login data Application data Application data Data processing Data processing Centralized Centralized Access via Login Access via Login

Client Applications (Software) Provides user interface Provides user interface Stores some settings Stores some settings Can do some data processing Can do some data processing Little to no application data storage Little to no application data storage Same view of data no matter where you login Same view of data no matter where you login

Client-Server Advantages Centralized Data Storage Centralized Data Storage No data redundancy (no duplication of data) No data redundancy (no duplication of data) Reduces data dependencies Reduces data dependencies If data is stored on each user’s system and each system is different than data depends on how the user system is designed If data is stored on each user’s system and each system is different than data depends on how the user system is designed Data can not be shared easily if such dependencies exist Data can not be shared easily if such dependencies exist

Classic Example: Early Banking Systems Network: Local Area Network (LAN) covering local office branch. Network: Local Area Network (LAN) covering local office branch. Server: Mainframe-like server “in the back” running custom banking system Server: Mainframe-like server “in the back” running custom banking system Client: Windows PC with client interface for each bank teller. Client: Windows PC with client interface for each bank teller. Data is the same no matter what teller you go to. Data is the same no matter what teller you go to. Data is NOT the same if you go to another branch unless servers exchanged some data at night. Data is NOT the same if you go to another branch unless servers exchanged some data at night.

Classic Example: Early Banking Systems The Obvious Future: Change the LAN to a wide area network covering all the branches. Change the LAN to a wide area network covering all the branches. Get rid of the individual servers at each branch Get rid of the individual servers at each branch Have clients connect to central server where ALL the banking data is stored. Have clients connect to central server where ALL the banking data is stored.

Classic Example: Early Banking Systems The Obvious Problems: Large banks could have thousands of tellers connecting to the central server. Large banks could have thousands of tellers connecting to the central server. Combining data from all branches requires severs with lots of storage capacity. Combining data from all branches requires severs with lots of storage capacity. Branch data could be stored in different formats. Branch data could be stored in different formats. Lack of Standardization. Lack of Standardization.

3-Tiered Systems

3-Tiered System Database Tier (Database Server) Database Tier (Database Server) Data storage and low level data manipulation Data storage and low level data manipulation Server Tier (Application Server) Server Tier (Application Server) Manage client connections and data processing Manage client connections and data processing Client Tier (Client Software installed locally) Client Tier (Client Software installed locally) User interface and some data processing User interface and some data processing

Advantage of 3-Tier Systems Central Database Server accessed by multiple Application Servers Central Database Server accessed by multiple Application Servers In turn, each Application Server could independently manage thousands of users In turn, each Application Server could independently manage thousands of users Database Server is specially designed to do its job Database Server is specially designed to do its job Database Operations: Update, Insert, Remove, etc. Database Operations: Update, Insert, Remove, etc. Lots of disk storage and memory needed Lots of disk storage and memory needed Application Servers can be added to support more users or DIFFERENT APPLICATIONS Application Servers can be added to support more users or DIFFERENT APPLICATIONS Server Operations: Complex application-dependent computations Server Operations: Complex application-dependent computations Lots of processor power needed Lots of processor power needed

Internet vs. WWW Internet is the infrastructure that makes the WWW work. Packet Switching Packet Switching TCP/IP Protocol TCP/IP Protocol Physical Infrastructure Physical Infrastructure Fiber-optics lines, wires Fiber-optics lines, wires Satellites, Cable Modems Satellites, Cable Modems Routers, Hubs, Network Cards, WiFi systems, etc. Routers, Hubs, Network Cards, WiFi systems, etc. WWW is just one of many “virtual networks” built on the Internet. Websites: http, https, etc. Websites: http, https, etc. pop, imap, etc. pop, imap, etc. Other systems: ftp, instant messaging, etc. Other systems: ftp, instant messaging, etc. Note: Even to this day companies have “private virtual networks” that use the Internet, but are proprietary, locked-down. Note: Even to this day companies have “private virtual networks” that use the Internet, but are proprietary, locked-down.

WWW – Ultimate Client-Server System Already Standardized Already Standardized Built on the Widest Area Network you could imagine, i.e., The Internet Built on the Widest Area Network you could imagine, i.e., The Internet Standardized Clients that are free to use Standardized Clients that are free to use IE, Firefox, Safari, etc. IE, Firefox, Safari, etc. Lots of Servers already in place Lots of Servers already in place Apache, Windows Server (IIS), etc. Apache, Windows Server (IIS), etc. Database Servers Database Servers Umm, this was initially missing Umm, this was initially missing

First Web Applications 1993 – Rob McCool proposed a framework called 1993 – Rob McCool proposed a framework called CGI (Common Gateway Interface) CGI (Common Gateway Interface) Data passed from a web browser to the server Data passed from a web browser to the server GET - passed via URL variables GET - passed via URL variables POST - passed via HTML forms POST - passed via HTML forms Web server daemon (httpd) could then make remote system calls Web server daemon (httpd) could then make remote system calls Example Example Web server could run a C++ program and write the output to public HTML folder Web server could run a C++ program and write the output to public HTML folder Web server would send response back with location of the output. Web server would send response back with location of the output.

First Web Applications Using CGI, web server could run Using CGI, web server could run C++ programs C++ programs Perl Programs Perl Programs Fortran Programs Fortran Programs C++ has library functions that allow you to connect to a number of different databases: C++ has library functions that allow you to connect to a number of different databases: Oracle Oracle Sybase Sybase DB2 DB2

First Web Applications Problem: To develop web applications you need to know To develop web applications you need to know Exactly how your server is configured Exactly how your server is configured HTML forms HTML forms GET and POST conventions GET and POST conventions C++ database libraries C++ database libraries SQL language SQL language Getting all these things to work together is a pain in the ***. Getting all these things to work together is a pain in the ***.

First Major Improvement 1995 – JJ Allaire developed “a hack” that allowed a web servers to communicate with other systems, namely a database system – JJ Allaire developed “a hack” that allowed a web servers to communicate with other systems, namely a database system. Key: Key: Instead of using “a middle-man” C++, Perl, Java, etc. Instead of using “a middle-man” C++, Perl, Java, etc. Developer could directly add code to the their web pages Developer could directly add code to the their web pages Using a special Markup Language, this code could be embedded in any web page. Using a special Markup Language, this code could be embedded in any web page. Worked seamlessly with HTML forms Worked seamlessly with HTML forms Server process code directly Server process code directly

ColdFusion JJ Allaire went on to form a company Allaire which developed his idea into a product called ColdFusion JJ Allaire went on to form a company Allaire which developed his idea into a product called ColdFusion ColdFusion Markup Language (CFML) ColdFusion Markup Language (CFML) ColdFusion Server (addon to popular Web Servers like Apache, Microsoft’s IIS). ColdFusion Server (addon to popular Web Servers like Apache, Microsoft’s IIS). Notes: Notes: Allaire was bought by Macromedia Allaire was bought by Macromedia Macromedia was bought by Adobe in Macromedia was bought by Adobe in 2005.

ColdFusion Example <cfoutput> Customize Site Customize Site light color light color dark color dark color #getTokensMinusArg('inputs',droplist)# #getTokensMinusArg('inputs',droplist)# </cfoutput>

ColdFusion The term Cold Fusion refers to a nuclear reaction that can occur at room temperature The term Cold Fusion refers to a nuclear reaction that can occur at room temperature In the 1980’s it was believed that Cold Fusion was a physical possibility. In the 1980’s it was believed that Cold Fusion was a physical possibility. If Cold Fusion could be achieved then almost unlimited power could be generated by a reaction you could perform in your own kitchen. If Cold Fusion could be achieved then almost unlimited power could be generated by a reaction you could perform in your own kitchen. JJ Allaire aptly named his product ColdFusion because he believed it would be as great as real “Cold Fusion.” JJ Allaire aptly named his product ColdFusion because he believed it would be as great as real “Cold Fusion.” He was right, but… He was right, but…

Problems with ColdFusion The concept is great, but the implementation sucked. The concept is great, but the implementation sucked. CFML is difficult to learn, overly complex CFML is difficult to learn, overly complex ColdFusion server was initially very slow ColdFusion server was initially very slow You have to pay for it You have to pay for it Initially, it only worked for Microsoft’s server, which you have to pay for. Initially, it only worked for Microsoft’s server, which you have to pay for. Made JJ Allaire a multimillioniare but… Made JJ Allaire a multimillioniare but…

Alternative’s to ColdFusion Microsoft developed it’s own system called Active Server Pages (ASP), which was more tightly integrated with their web server. Microsoft developed it’s own system called Active Server Pages (ASP), which was more tightly integrated with their web server. Sun Microsystems, developed Java Server Pages (JSP), which worked better with its server and used Java as the application language. Sun Microsystems, developed Java Server Pages (JSP), which worked better with its server and used Java as the application language. The Apache Community spawned PHP which is as good as the systems above, but Open Source. The Apache Community spawned PHP which is as good as the systems above, but Open Source.

WWW – Ultimate Client-Server System Already Standardized Already Standardized Built on the Widest Area Network you could imagine, i.e., The Internet Built on the Widest Area Network you could imagine, i.e., The Internet Standardized Clients that are free to use Standardized Clients that are free to use IE, Firefox, Safari, etc. IE, Firefox, Safari, etc. Lots of Servers already in place Lots of Servers already in place Apache, Windows Server (IIS), etc. Apache, Windows Server (IIS), etc. Database Servers Database Servers ColdFusion, ASP, JSP, and PHP all have built-in support to connect to databases. ColdFusion, ASP, JSP, and PHP all have built-in support to connect to databases.