1 Connecting Databases to the Web January 31 th, 2000 Seree Chinodom.

Slides:



Advertisements
Similar presentations
Lecture plan Information retrieval (from week 11)
Advertisements

1 Database Driven Web Application Clients Application Servers including web servers Database Server Traditional client-server (2-tier architecture): client:
BICS546 Client/Server Database Application Development.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
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.
CS-422 Enterprise Computing Preview. Client Server Strategies CGI (Common Gateway Interface) Active Server Pages –Personal Home Pages (PHP) –MS Active.
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.
Introduction to Web Interface Technology (CSE2030)
The World Wide Web and the Internet Dr Jim Briggs 1WUCM1.
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.
Introduction to Web Interface Technology (CSE2030)
Website Development with PHP and MySQL Introduction.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
Web-Enabling the Warehouse Chapter 16. Benefits of Web-Enabling a Data Warehouse Better-informed decision making Lower costs of deployment and management.
ECA 228 Internet/Intranet Design I Intro to the Web.
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
Java Server Programming Jeff Schmitt Towson University October 15, 1998.
WHAT IS PHP PHP is an HTML-embedded scripting language primarily used for dynamic Web applications.
Web-based Software Development - An introduction.
Server-side Technologies
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
Applets & Servlets.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
1 Connecting Databases to the Web October 30 th, 2001 Xinguang Sheng Marcus Haebler.
Web Application Development Tools/Environments Tim Sigmon George Pipkin, Bill Niebel, Wade Komisar Dave Saunders, Nathan Piazza Advanced Technology Group.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.

Week 7 Lecture Web Database Development Samuel Conn, Asst. Professor
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.
Introduction to ColdFusion Penn State Web 2001 Conference Brian Panulla Elmwood Media Group, LLC.
Modern Software Technologies Java™, J2EE™, JSP™, JDBC™ by Radoslav Tr. Ivanov
Web Application Programming Carol Wolf Computer Science.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
Fundamentals of Database Chapter 7 Database Technologies.
(Macromedia) Cold Fusion: A Brief Overview  What is Cold Fusion?  An example of CF code  How does it compare with the others: - PHP - ASP - CGI/Perl.
Website Design Lecture 1. Outline Introduction to the module Outline of the Assessment Schedule Lecture Static XHTML, client side and server side Why.
Introduction to ColdFusion Yu Fu 2003 MEC Candidate.
2-1 WEB DATABSE INTERFACING Colorado Technical University IT420.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
1 CS122B: Projects in Databases and Web Applications Spring 2015 Notes 03: Web-App Architectures Professor Chen Li Department of Computer Science CS122B.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
Introduction and Principles Web Server Scripting.
WEB SERVER SOFTWARE FEATURE SETS
Database Connectivity and Server-Side Scripting Chapter 12.
8 th Semester, Batch 2009 Department Of Computer Science SSUET.
Web Page Designing With Dreamweaver MX\Session 1\1 of 9 Session 1 Introduction to PHP Hypertext Preprocessor - PHP.
Connecting Databases to the Web
CS122B: Projects in Databases and Web Applications Spring 2017
CS122B: Projects in Databases and Web Applications Winter 2017
Web-based Software Development - An introduction
Connecting Databases to the Web
Connecting Databases to the Web
Netscape Application Server
Web Applications Security What are web Applications?
PHP / MySQL Introduction
Web Development Using ASP .NET
CS122B: Projects in Databases and Web Applications Winter 2018
Lecture 1: Multi-tier Architecture Overview
CS122B: Projects in Databases and Web Applications Spring 2018
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
CS-422 Enterprise Computing Preview. Client Server Strategies CGI (Common Gateway Interface) Active Server Pages –Personal Home Pages (PHP) –MS Active.
Presentation transcript:

1 Connecting Databases to the Web January 31 th, 2000 Seree Chinodom

January, 2000Connecting Databases to the Web2 How the Web Works The old fashioned way: Web-Browser HTTP-Request GET... Web-Server File-System Load File HTML-File

January, 2000Connecting Databases to the Web3 How the Web Works All pages are static Need to generate web pages on the fly depending on user input ?

January, 2000Connecting Databases to the Web4 Some files on server are interpreted as programs depending on either ext., flag or special directory Program is invoked and generates MIME header and HTML on stdout Web-Server Common Gateway Interface (CGI) HTTP-Request HTML-File Web-Server File-System Load File File HTML? HTML Execute Program Program?Output I/O, Network, DB

January, 2000Connecting Databases to the Web5 Advantages: -Standardized: works for every web-server, browser -Flexible: Any language (C++, Perl, Java, …) can be used Disadvantages: -Statelessness: query-by-query approach -Inefficient: new process for every request -Security: CGI programmer is responsible for security -Updates: To update layout, one has to be a programmer CGI: Discussion

January, 2000Connecting Databases to the Web6 Java Applets Web-Server HTTP-Request HTML-File Web-Server File-System Load File File Load Applet... Java-Class Requests Java-Classes Execute Applet... Java Virtual Machine (JVM) Server- Process

January, 2000Connecting Databases to the Web7 Advantages: -Platform independent: works for every web-server and browser supporting Java Disadvantages: -Standalone Character: ·Entire session runs inside applet ·HTML forms are not used -Inefficient: loading can take a long time... -Resource intensive: Client needs to be state of the art -Restrictive: can only connect to server where applet was loaded from (restrictions of Java VM) Note: Server-Process can be written in any language Java Applets: Discussion

January, 2000Connecting Databases to the Web8 Java-Server-Process DB Access in Java Sybase Java Applet TCP/UDP IP Oracle... JDBC- Driver JDBC Driver manager

January, 2000Connecting Databases to the Web9 Previous Approaches -Platform independent and standardized -Simple interface -Lots of programming necessary -Inefficient Server Extensions -Server is extended with handler/module -One handler for all incoming requests -Much more efficient Server Extensions

January, 2000Connecting Databases to the Web10 Server Extensions: The Basic Idea File-System Web-Server HTTP-Request HTML-File Web-Server Load File File HTML? HTML I/O, Network, DB Script? Output Server Extension

January, 2000Connecting Databases to the Web11 API depends on Server vendor: -Apache Foundation Apache Server: Apache API -Microsoft Internet Information Server: ISAPI -Netscape Enterprise Server: NSAPI One can define it’s own server extension, e.g. -Authentication module -Counter module Server Extensions

January, 2000Connecting Databases to the Web12 A Quick Look at Market Shares Source: Market Share for Top Servers Across All Domains August October 1999

January, 2000Connecting Databases to the Web13 ColdFusion File-System Web-Server HTTP-Request HTML-File Web-Server Load File File HTML? HTML CF Script? HTML Cold Fusion Server Extension Cold Fusion Application Server ODBC-DriverNative DB Directories COM/CORBA

January, 2000Connecting Databases to the Web14 ColdFusion: Simple Query Proprietary Scripting Language CFML - similar to other scripting languages SELECT * FROM Persons Person List Name: #Name# Age: #Age# Salary: $#Sal# Person List Name: Tom Age: 45 Salary: $45000 Name: Jim Age: 38 Salary: $40000 Name: Karen Age: 26 Salary: $32000

January, 2000Connecting Databases to the Web15 ColdFusion: Form Handling <FORM ACTION=" Find Person Person Name SELECT * FROM Persons WHERE Name=#Form.PName# #Name# Age: #Age# Salary: $#Sal# Homepage Tom Age: 45 Salary: $45000 <A href=“ Homepage

January, 2000Connecting Databases to the Web16 ColdFusion: Misc. Issues Siteadmin sets up data sources very similar to the handling of ODBC data sources in MS Windows In fact ColdFusion combines techniques to access databases: -Generation of HTML code -Java Applets embedded via access the database through the application server Application server is also gateway to database for the ColdFusion IDE (ColdFusion Studio)

January, 2000Connecting Databases to the Web17 Active Server Pages (ASPs) -Available in IIS and Personal Web Server -Based on VBScript, Jscript -Code in -Modular Object Modell -Active Server Components -Active Data Objects for Database access Active Server Pages File-System Web-Server HTTP-Request HTML-File Load File ASP-File HTML ASP-ScriptOutput I/O, Network, DB Active Server Page Scripting Engine Active Server Components

January, 2000Connecting Databases to the Web18 PHP How does PHP differ from ASP and CF? Free, open source Many client libraries integrated Runs on any web server supporting CGIs (MS Windows or Unix) Module version for Apache File-System Web-Server HTTP-Request HTML-File Load File PHP-File HTML PHP-ScriptOutput Database APIs, other APIs SNMP, IMAP, POP3, LDAP,... PHP Module Web-Server

January, 2000Connecting Databases to the Web19 PHP: an Example <?PHP $db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); $result = mysql_query("SELECT * FROM employees",$db); ?> NAME POSITION <?PHP while ($myrow = mysql_fetch_row($result)) { printf(" %s %s %s \n", $myrow[1], $myrow[2], $myrow[3]); } ?>

January, 2000Connecting Databases to the Web20 PHP: Misc. Issues Syntax Perl/C like Form fields are available as variables in following page has e.g. image and PDF generation on the fly some OO features (e.g. classes) Version 4 in beta test has -more OO features -is based on a different, faster scripting engine -more modular architecture The number of functions is steadily increasing

January, 2000Connecting Databases to the Web21 Databases Usually Used ASP -MS Jet Engine (DB engine behind MS Access) -MS SQL Server -Oracle (ODBC) ColdFusion -Oracle (native driver support) -Informix (native driver support) -Sybase (native driver support) PHP -MySQL (linked in client library) -mSQL (linked in client library) -Postgres (linked in client library) -Oracle (linked in client library)

January, 2000Connecting Databases to the Web22 What Else Is Out There? Oracle Application Server (formerly known as OWS) -3-tier architecture -PENN ExpressApp is based on OWS Informix Web datablade Servlets for Java based web server various web shop applications -all of them use a more or less sophisticated scripting language and a lot more...

January, 2000Connecting Databases to the Web23 Architectures The architecture is the kind and number of servers involved Different architectures different advantages and disadvantages Generally we can distinguish between three different types: -2-tier architecture -3-tier architecture -4-tier architecture

January, 2000Connecting Databases to the Web24 Web-Server 2-tier architecture Web server plus module connecting to database, LDAP, IMAP,... HTTP-Request HTML-File Module DBDirectory Mail Server SNMP 1 2

January, 2000Connecting Databases to the Web25 2-tier architecture Advantages: -easy and fast to setup -easy to administer Disadvantages: -not fail safe -scales badly on high loads

January, 2000Connecting Databases to the Web26 3-tier architecture Web server plus application server connecting to database, IMAP,... DB Mail Server SNMP Web Server [Cluster] Application Server [Cluster] Other Servers [Cluster] DB Repl.

January, 2000Connecting Databases to the Web27 3-tier architecture Advantages: -better scalability -more reliable through failover mechanisms -offers better load balancing Disadvantages: -already complicated to set up -who is responsible for load balancing?

January, 2000Connecting Databases to the Web28 4-tier architecture DB Mail Server SNMP Web Server [Cluster] Application Server [Cluster] Other Servers [Cluster] DB Repl. 2 Request Router

January, 2000Connecting Databases to the Web29 4-tier architecture Advantages: -even better scalability -better failover mechanisms -Request routers offer better load balancing -Easier to administer (number of request router usually small) Disadvantages: -initial setup very complicated

January, 2000Connecting Databases to the Web30 Architectures: Usage 2-tier -Apache-PHP plus Database etc. 3-tier -ColdFusion 4.0x -Oracle Web Application Server? 4-tier -Web shops like Intershop,... -ColdFusion 4.5x? -Oracle Application Server? Classification not always 100% clear

January, 2000Connecting Databases to the Web31 Security Issues Complicated architecture  More potential for glitches Protection of users from each other Web server with DB  nice way for hacker into main database...

January, 2000Connecting Databases to the Web32 Links Products: -Apache: -ASP: -ColdFusion: -MySQL: -Oracle: -Oracle Technet: -PHP: Others: -c|net: -DevShed: -Webmonkey: