ICS 434 Advanced Database Systems



Similar documents
Web Pages. Static Web Pages SHTML

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

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

Application Servers G Session 2 - Main Theme Page-Based Application Servers. Dr. Jean-Claude Franchitti

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

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

What Is the Java TM 2 Platform, Enterprise Edition?

The Comparison of J2EE and.net for e-business

Agenda. Summary of Previous Session. Application Servers G Session 3 - Main Theme Page-Based Application Servers (Part II)

ASP &.NET. Microsoft's Solution for Dynamic Web Development. Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon

Version Overview. Business value

Efficiency of Web Based SAX XML Distributed Processing

ASP.NET: THE NEW PARADIGM FOR WEB APPLICATION DEVELOPMENT

Base One's Rich Client Architecture

-8*6-DYD6HPLQDU 6HUYOHW$UFKLWHFWXUHV 5DLQHU+LVV$QGUHDV.DSS 6<6725$*

Introduction to ASP.NET and Web Forms

A framework for web-based product data management using J2EE

Building Java Servlets with Oracle JDeveloper

Virtual Credit Card Processing System

Web Application Development

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Adobe ColdFusion 11 Enterprise Edition

Glassfish, JAVA EE, Servlets, JSP, EJB

CatDV Pro Workgroup Serve r

A Comparison of Software Architectures for E-Business Applications

If your organization is not already

A review and analysis of technologies for developing web applications

Web Hosting Features. Small Office Premium. Small Office. Basic Premium. Enterprise. Basic. General

Apache Jakarta Tomcat

SOFTWARE ARCHITECTURE FOR FIJI NATIONAL UNIVERSITY CAMPUS INFORMATION SYSTEMS

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

Web Development Frameworks

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

WebSphere Application Server - Introduction, Monitoring Tools, & Administration

WEB DATABASE PUBLISHING

ICS 434 Advanced Database Systems

2311A: Advanced Web Application Development using Microsoft ASP.NET Course 2311A Three days Instructor-led

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

Java-technology based projects

Using SAP Logon Tickets for Single Sign on to Microsoft based web applications

WEB PROGRAMMING DESKTOP INTERACTIVITY AND PROCESSING

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

CS Developing Web Applications with Java Technologies

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

MVC pattern in java web programming

For Course Details, visit:

2. Accessing Databases via the Web

zen Platform technical white paper

A Comparison of Web Development Technologies: WebObjects vs. ASP.NET

In this chapter, we lay the foundation for all our further discussions. We start

SaskTel Web Hosting Feature Overview

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

Tomcat 5 New Features

Last update: February 23, 2004

JEE Web Applications Jeff Zhuk

Galina Bogdanova, Todor Todorov, Dimitar Blagoev, Mirena Todorova

NetBeans IDE Field Guide

Computer and Information Sciences

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

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

Ministry of Education and Advanced Education. OAS 10g High Level Architecture And Functionality

Database Connectivity and Server-Side Scripting

Enabling the Information Age

QuickSpecs. QuickSpecs. Description. HP OpenVMS Application Modernization and Integration Infrastructure Package,Version 2.3

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Short notes on webpage programming languages

Bring the power and speed of RAD to your Web application development with WebSnap

<Insert Picture Here> Michael Hichwa VP Database Development Tools Stuttgart September 18, 2007 Hamburg September 20, 2007

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

Oracle WebLogic Server 11g: Administration Essentials

White paper. IBM WebSphere Application Server architecture

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

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

Web Programming Languages Overview

Abstract. 1. Introduction

CrownPeak Java Web Hosting. Version 0.20

Advanced Web Application Development using Microsoft ASP.NET

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Oracle9i Application Server: Options for Running Active Server Pages. An Oracle White Paper July 2001

Lecture 2. Internet: who talks with whom?

Jitterbit Technical Overview : Microsoft Dynamics CRM

Web services can convert your existing applications into web applications.

Last Updated: July STATISTICA Enterprise Server Security

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

Database System Concepts

Understanding Evolution's Architecture A Technical Overview

Pemrograman Web. 1. Pengenalan Web Server. M. Udin Harun Al Rasyid, S.Kom, Ph.D


Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

Transcription:

ICS 434 Advanced Database Systems Dr. Abdallah Al-Sukairi sukairi@kfupm.edu.sa Second Semester 2003-2004 (032) King Fahd University of Petroleum & Minerals Information & Computer Science Department Outline 1. The Relational Data Model: Version 2 2. Advanced Data Modeling 3. Client-Server Architecture 4. Client-Server Databases & Tools 5. Databases on the Web 6. The System Catalog 7. Query Processing and Optimization 8. Transaction Processing 9. Concurrency Control 10. Recovery 11. Administration & Security 12. Distributed Databases 13. Database Replication 14. Object-Oriented Databases 15. Data Warehousing and Data Mining 16. Other Emerging Database Technologies Advanced Database Systems 1

5. Databases on the Web Requirements for Web-DBMS Integration The ability to access valuable corporate data in a secure manner Support for session and application-based authentication The ability to interface to the database independent of any proprietary Web browser or Web server An open architecture Acceptable performance Support for transactions that span multiple HTTP requests Minimal administration overhead A connectivity solution that takes advantage of all the features of an organization's DBMS A set of high-level application development tools Advanced Database Systems 2

Advantages of the Web-DBMS Approach DBMS advantages Simplicity Platform independence Graphical user interface Standardization Cross-platform support Transparent network access Scalable deployment Innovation What is a server? Many types of server File server file: networked file space FTP server ftp: remote file space, often read-only Web server http: web pages and more Mail server mail: email system News server news: newsgroups messages Advanced Database Systems 3

Dynamic, Interactive Web Server (3-tier Architecture) Browser Request Internet Response Web Server Apps Tier 2 Tier 1 RDBMS Tier 3 General Multi-tier Architecture Browser HTTP Server Application Server Backend Server (Other Server) Client Server Advanced Database Systems 4

Web Content HTML documents are static Dynamic content user-side programming Middleware ColdFusion, PHP etc. server-side programming scripting languages programming languages Server-Side Programming Database Searches Form processing Counters Mailing lists Customized pages etc. Advanced Database Systems 5

Why Server-Side Programming? Accessibility You can reach the Internet from any browser, any device, any time, anywhere Manageability Does not require distribution of application code Easy to change code Security Source code is not exposed Once user is authenticated, can only allow certain actions Scalability Web-based 3-tier architecture can scale out History of Dynamic Web Content Common Gateway Interface (CGI) was the first generation approach to providing dynamic web content Used scripts A process dispatched for each web page generated. Hence inefficient and did not scale well. Numerous second generation alternatives were invented: FastCGI mod_perl NSAPI ISAPI Java Servlets These embedded HTML in programming code so that programmers had to develop them. Costly. Advanced Database Systems 6

Scripting - the Third Generation Approach Embed simple code in HTML pages The HTML pages use the code to decide what elements to display and what data should be displayed Classes and/or subroutines can be called to compute information for inclusion in the web page. Existing APIs can be invoked. This is known as scripting Scripting Language or Compiled? Scripting Languages: Compiled Languages: Server Side Includes (SSI) Perl PHP ASP (VBScript) Python C C++ C# ASP.Net Java Servlets Java Server Pages (JSP) Looks like a scripting language, but is actually compiled into a Java Servlet Either portable byte code (such as a Java.class file) or a true executable (native to the microprocessor) is produced Common to all scripting languages is some sort of real time interpreter that parses text and turns it into executable instructions for the server Advanced Database Systems 7

Some Approaches to Scripting JavaServer Pages (JSP) by Sun Microsystems Hypertext Preprocessor (PHP) [open-source] ColdFusion (CFML) by Macromedia Active Server Pages (ASP and ASP.NET) by Microsoft Criteria Affecting Decisions Web server availability Knowledge of language Scalability and efficiency Personal preference Advanced Database Systems 8

What is JSP? JavaServer Pages Java-based technology that simplifies the development of dynamic websites Designed around the Java philosophy Packaged with J2EE As all XML-based technologies it separates presentation aspects from programming logic contained in the code J2EE Technology Web container (Application Server) EJB container Servlets JSP (JavaServer Pages), Tag Library Applets, XML, JDBC, JNDI, JMS, RMI, IIOP, JavaMail, Advanced Database Systems 9

Servlet Container/Engine Servlets/JSP require a Container Apache Tomcat is the reference implementation of the Servlet/JSP Specs It is open source, small, install quickly,and is FREE Web Site: jakarta.apache.org/tomcat It include a simple HTTP 1.1 server, good enough for development and small intranets Servlets and JSP Request Response Load & Exec Web Container (Application Server) servlets Compile JSPs Load & Exec servlets Advanced Database Systems 10

JSP Basics Individual JSP pages are text files stored on the web server When a page is first requested, the JSP engine uses the page to generate a Servlet The compiled Servlet is saved and used to service additional requests When a page is modified, the Servlet is regenerated Precompilation of pages is also feasible A Simple JSP <HTML> <BODY> Hello, visitor, It is now <%= new java.util.date().tostring() %> </BODY> </HTML> new java.util.date().tostring() This creates a date object and converts it to a String that can be displayed. The <% %> element can be used to insert regular Java code to control the flow of a page Advanced Database Systems 11

JSP Pros & Cons Not widely supported by web hosting companies Not a JavaScript, includes all Java technology for use Real Java, not scripting language Many deployment choices What is PHP? Open Source server-side scripting language designed specifically for the web Conceived in 1994, now used on +10 million web sites Supports a wide-range of databases (20 + ODBC). Tightly integrated with MySQL Perl- and C-like syntax It is cross platform, unlike ASP which generally works only on Microsoft web servers (IIS) Website: http://www.php.net/ Advanced Database Systems 12

What is PHP? Designed similar to Active Server Pages You embed PHP commands into your web pages Commands are preprocessed by the PHP processor and appropriate HTML is sent to the web server Lots of free or low cost software: http://www.hotscripts.com/php/scripts_and_programs/ lists over 4000 programs PHP Nuke is an excellent example: free portal software What is MySQL? Relational database management system (RDBMS) Free Can run on UNIX, Windows and Mac OS Website: http://www.mysql.com/ Advanced Database Systems 13

PHP Process Flow HTML is substituted for PHP code Raw.php source Browser Internet HTML Web Server PHP Preprocessor.php source file Request for.php file PHP Example Begin and end script tags: <?php?> can also use <? and?> PHP statements must be terminated with a semicolon ( ; ) <html> <body> <?php echo "Hello, World! I'm using PHP!";?> </body> </html> Advanced Database Systems 14

PHP Form Data Access to the HTTP POST and GET data is simple in PHP The global variables $_POST[] and $_GET[] contain the request data <?php if ($_POST["submit"]) echo "<h2>you clicked Submit!</h2>"; else if ($_POST["cancel"]) echo "<h2>you clicked Cancel!</h2>";?> <form action="post.php" method="post"> <input type="submit" name="submit" value="submit"> <input type="submit" name="cancel" value="cancel"> </form> PHP Pros & Cons Platform independent Origins in the C programming language Open source Many deployment choices Easy to learn Widely supported Advanced Database Systems 15

ASP.NET Based on.net framework and the Common Language Runtime (CLR) Compiled language New languages: Visual Basic.NET, C#, Improved component model Web Forms ADO.NET Web Services What is ASP? Server-side programming technology Consists of static HTML interspersed with script ASP intrinsic objects (Request, Response, Server, Application, Session) provide services Commonly uses ADO to interact with databases Application and session variables Application and session begin/end events ASP manages threads, database connections,... Advanced Database Systems 16

What is ASP? HTTP request (form data, HTTP header data) HTTP response HTML, XML ASP page (static HTML, server-side logic) HelloWorld.asp <html> <head><title>helloworld.asp</title></head> <body> <form method= post"> <input type="submit" id=button1 name=button1 value="push Me" /> <% if (Request.Form("button1") <> "") then Response.Write "<p>hello, the time is " & Now() end if %> </form> </body> </html> Advanced Database Systems 17

ASP Successes Simple procedural programming model Access to COM components ActiveX Data Objects (ADO) File System Object Custom components Script-based: no compiling, just edit, save & run VBScript, JScript leverages existing skills Support for multiple scripting languages ASP Challenges Coding overhead (too much code) Everything requires writing code! Code readability (too complex; code and UI intermingled) Maintaining page state requires more code Reuse is difficult Supporting many types of browsers is difficult Deployment issues (e.g. DLL locking) Session state scalability and availability Limited support for caching, tracing, debugging, etc. Performance and safety limitations of script Advanced Database Systems 18

ASP.NET Overview ASP.NET provides services to allow the creation, deployment, and execution of Web Applications and Web Services Like ASP, ASP.NET is a server-side technology Web Applications are built using Web Forms Web Forms are designed to make building web-based applications as easy as building Visual Basic applications Goals Keep the good parts of ASP and improve the rest Simplify: less code, easier to create and maintain Multiple, compiled languages Fast Scalable Manageable Available Customizable and extensible Secure Tool support Advanced Database Systems 19

Key Features Web Forms Web Services Built on.net Framework Simple programming model Maintains page state Multibrowser support XCOPY deployment XML configuration Complete object model Session management Caching Debugging Extensibility Separation of code and UI Security ASPX, ASP side by side Simplified form validation Cookieless sessions HelloWorld.aspx <%@ Page language="c#" %> <html> <head></head> <script runat="server"> public void B_Click (object sender, System.EventArgs e) { Label1.Text = "Hello, the time is " + DateTime.Now; } </script> <body> <form method="post" runat="server"> <asp:button onclick="b_click" Text="Push Me runat="server /> <p> <asp:label id=label1 runat="server" /> </form> </body> </html> Advanced Database Systems 20

Architecture ASP.NET is built upon.net Framework Internet Information Server (IIS) Architecture Internet Information Server (IIS) IIS MMC Snap-In (Internet Services Manager) Tool to manage IIS Virtual Directories Provides a mapping between URL and file path Advanced Database Systems 21

Architecture VB C++ C# JScript Common Language Specification ASP.NET: Web Services and Web Forms ADO.NET: Data and XML Common Language Runtime Windows Base Class Library Windows Forms COM+ Services Visual Studio.NET Web Matrix ASP.NET Web Matrix Project Lightweight, simple, community-oriented tool for building ASP.NET apps Full WYSIWYG support Small (~ 1.4 Mb) Community features IM integration, code sharing, chat features Available free-of-charge at www.asp.net Advanced Database Systems 22

ASP.NET Pros & Cons Microsoft only platforms Closed source Widely supported Not only limited to one language (C++, C#, VB, J#) One deployment choice -> Wintel Network and Information Security Cryptography is the science of providing security for information Good cryptography makes attempts to violate security cost-prohibitive cryptography can offer the following basic functions: Confidentiality Authentication Integrity Basic Components of Modern Cryptography Symmetric Key Encryption Public Key Encryption (e.g. RSA) Secret Key Exchange Message Digest Functions Digital Signatures Advanced Database Systems 23

RSA Digital Signature Process Internet Security Proxy Servers Firewalls Improve performance Filter requests A system designed to prevent unauthorized access to or from a private network Encryption Secure Sockets Layer (SSL) Kerberos A server of secured user names and passwords Advanced Database Systems 24