ICS 434 Advanced Database Systems Dr. Abdallah Al-Sukairi Second Semester 2003 - 2004 (032) King Fahd University of Petroleum & Minerals.

Slides:



Advertisements
Similar presentations
Lecture 11 Server Side Interaction
Advertisements

Lecture plan Information retrieval (from week 11)
Using JavaServer Pages Harry R. Erwin, PhD CIT304/CSE301.
An architecture for webb applications, J2EE
Building Applications using ASP.NET and C# / Session 1 / 1 of 21 Session 1.
Server-Side vs. Client-Side Scripting Languages
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
ISYS 546 Client/Server Database Application Development.
BICS546 Client/Server Database Application Development.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
Introduction to ASP.NET. 2 © UW Business School, University of Washington 2004 Outline Static vs. Dynamic Web Pages.NET Framework Installing ASP.NET First.
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
DATABASE APPLICATION DEVELOPMENT SAK 3408 The Web and DBMS.
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.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
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.
Introduction to Web Interface Technology (CSE2030)
Lecture 4B: Server-Side Scripting IT 202—Internet Applications Based on notes developed by Morgan Benton.
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.
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
8 Server Side Scripting.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
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.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Server- Side technologies Client-side vs. Server-side scripts PHP basic ASP.NET basic ColdFusion.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
Week 7 Lecture Web Database Development Samuel Conn, Asst. Professor
CIS 285 ROBINSON WINTER 2005 CIS 285 Web Application Development with Java CIS 285 Sinclair Community College Instructor: Mary Robinson.
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.
3/8/00asp00 1 Active Server Pages from Microsoft Nancy McCracken Northeast Parallel Architectures Center at Syracuse.
Nic Shulver, Intro: Developing Server Applications What is a server? Many types of server – File server – file: networked file.
Chapter 4: Core Web Technologies
Internet, intranet, and multimedia database processing l Database processing across local and wide area networks l Alternative architectures for distributing.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Fundamentals of Database Chapter 7 Database Technologies.
第十四章 J2EE 入门 Introduction What is J2EE ?
Introduction to ColdFusion Yu Fu 2003 MEC Candidate.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
1 CS122B: Projects in Databases and Web Applications Spring 2015 Notes 03: Web-App Architectures Professor Chen Li Department of Computer Science CS122B.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
Enterprise PHP - Introduction Enterprise Client-Server Development with PHP Nic Shulver, FCES, Staffordshire University A fifteen credit module based on.
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.
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
An Introduction to JavaServer™ Pages Prepared by Nicole Swan.
Introduction and Principles Web Server Scripting.
WEB SERVER SOFTWARE FEATURE SETS
Database Connectivity and Server-Side Scripting Chapter 12.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Java Servlets and Java Server Pages
8 th Semester, Batch 2009 Department Of Computer Science SSUET.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
CGS 3066: Web Programming and Design Spring 2016 Introduction to Server-Side Programming.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
WWW and HTTP King Fahd University of Petroleum & Minerals
Introduction and Principles
Introduction to JSP Liu Haibin 12/09/2018.
Web Development Using ASP .NET
Web Application Development Using PHP
Presentation transcript:

ICS 434 Advanced Database Systems Dr. Abdallah Al-Sukairi Second Semester (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

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

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 serverhttp: web pages and more  Mail server mail: system  News server news: newsgroups messages

Dynamic, Interactive Web Server (3-tier Architecture) Browser Web Server RDBMS Request Internet Response Apps Tier 1 Tier 3 Tier 2

General Multi-tier Architecture Browser HTTP Server Application Server Backend Server ClientServer (Other Server)

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.

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.

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:  Server Side Includes (SSI)  Perl  PHP  ASP (VBScript)  Python Common to all scripting languages is some sort of real time interpreter that parses text and turns it into executable instructions for the server Compiled Languages: C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

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

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, …

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 Web Container (Application Server) servlets JSPs Request Response Load & Exec servlets Load & Exec Compile

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 Hello, visitor, It is now “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

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:

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:  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:

PHP Process Flow Web Server PHP Pre- processor.php source file Browser Internet Request for.php file Raw.php source HTML is substituted for PHP code HTML

PHP Example Begin and end script tags: can also use PHP statements must be terminated with a semicolon (“ ; ”)

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 " You clicked Submit! "; else if ($_POST["cancel"]) echo " You clicked Cancel! "; ?>

PHP Pros & Cons Platform independent Origins in the C programming language Open source Many deployment choices Easy to learn Widely supported

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,...

What is ASP? HTTP request (form data, HTTP header data) HTTP response HTML, XML ASP page (static HTML, server-side logic)

HelloWorld.asp HelloWorld.asp <% if (Request.Form("button1") <> "") then Response.Write " Hello, the time is " & Now() end if %>

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

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

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 public void B_Click (object sender, System.EventArgs e) { Label1.Text = "Hello, the time is " + DateTime.Now; } <asp:Button onclick="B_Click" Text="Push Me“ runat="server“ />

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

WindowsCOM+ Services Common Language Runtime Base Class Library ADO.NET: Data and XML ASP.NET: Web Services and Web Forms Architecture Windows Forms Common Language Specification VBC++C#JScript… Web Matrix Visual Studio.NET

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

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

RSA Digital Signature Process

Internet Security Proxy Servers  Improve performance  Filter requests Firewalls  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