Web Interfaces and Data Portals John Porter Department of Environmental Sciences University of Virginia.

Slides:



Advertisements
Similar presentations
1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 1 Introduction to Perl and CGI.
Advertisements

DT228/3 Web Development WWW and Client server model.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Server-Side vs. Client-Side Scripting Languages
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
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.
Introduction to Web Interface Technology (CSE2030)
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Russell Taylor Lecturer in Computing & Business Studies.
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.
ECA 228 Internet/Intranet Design I Intro to the Web.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Web Content Management Systems. Lecture Contents Web Content Management Systems Non-technical users manage content Workflow management system Different.
CGI Common Gateway Interface. CGI is the scheme to interface other programs to the Web Server.
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
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.
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.
Chapter 33 CGI Technology for Dynamic Web Documents There are two alternative forms of retrieving web documents. Instead of retrieving static HTML documents,
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
4-1 INTERNET DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
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.
Chapter 6 The World Wide Web. Web Pages Each page is an interactive multimedia publication It can include: text, graphics, music and videos Pages are.
Introduction to Internet Programming (Web Based Application)
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Fundamentals of Database Chapter 7 Database Technologies.
 2001 Prentice Hall, Inc. All rights reserved. 1 Chapter 21 - Web Servers (IIS, PWS and Apache) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3.
M1G Introduction to Database Development 6. Building Applications.
Web Server Administration Chapter 7 Installing and Testing a Programming Environment.
Website Design Lecture 1. Outline Introduction to the module Outline of the Assessment Schedule Lecture Static XHTML, client side and server side Why.
Creating Dynamic Web Pages Using PHP and MySQL CS 320.
An Introduction to Structured Query Language (SQL) John H. Porter University of Virginia Department of Environmental Sciences.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
1 Welcome to CSC 301 Web Programming Charles Frank.
CGI Common Gateway Interface. CGI is the scheme to interface other programs to the Web Server.
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)
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
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.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
WEB SERVER SOFTWARE FEATURE SETS
An Investigation into using a Document Management System Presented by: Bijal RanaSupervisor: John Ebden.
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
8 th Semester, Batch 2009 Department Of Computer Science SSUET.
(ITI310) By Eng. BASSEM ALSAID SESSIONS 10: Internet Information Services (IIS)
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Hydroinformatics Lecture 15: HydroServer and HydroServer Lite The CUAHSI HIS is Supported by NSF Grant# EAR CUAHSI HIS Sharing hydrologic data.
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.
Section 10.1 Define scripting
Web Programming Language
Distributed Control and Measurement via the Internet
WWW and HTTP King Fahd University of Petroleum & Minerals
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.
Introduction and Principles
CUAHSI HIS Sharing hydrologic data
PHP / MySQL Introduction
Database Driven Websites
Chapter 27 WWW and HTTP.
Web Application Development Using PHP
Presentation transcript:

Web Interfaces and Data Portals John Porter Department of Environmental Sciences University of Virginia

Roadmap l Goals for web data access l The web interface "tool box" l Putting the pieces together l Content management systems l Exercises

Goals for Ecological Databases l Easy to use – no specialized training required l Able to locate/discover data l Able to produce data in desired forms »Data files »Graphs and Maps »Specialized formats l Users can understand and use data

Circa The World Wide Web l Availability nearly universal »access rapidly increasing l Easy to use – point and click l Difficult to update source documents »Need to edit static text documents

Circa Databases l Difficult and specialized interfaces l Powerful capabilities »Query »Update »Output Suitable for “about 10%” of ecological data management problems (Gorentz, pers. comm.)

Now! Web + Database New Power! l ubiquitous l easy to use l easy to query and update

Examples l An early use, in the Internet Movie Database ( links movies with actors and vis versahttp:// »Search for a movie »Get a list of actors »Click on actor’s name to get list of movies they were in

Retrieve customized data via a web form linked to a database

The Web Portal Toolkit l We have all seen (and used) web pages that were linked to databases l But, HOW IS IT DONE? »Actually there are MANY ways to link databases and web pages using a wide variety of tools

Piece #1 Web Forms A Simple Form Simple input of a string Input a sentence:

Tools: Stand-alone Computer Languages l Visual Basic »PC’s only l C & C++ »powerful (but with power comes responsibility) l Pattern Extraction and Regular expression Language – PERL »Strong search and parsing capabilities l JAVA – object oriented l Many more (Python, etc.)

Tools: Computer Languages you can Insert in a Web Page l Active Server Pages – ASP »Works primarily with Microsoft products »Insert Microsoft Visual Basic into web pages l PHP »open source »Works on a wide number of platforms l Specialized languages associated with specific products (e.g., LITE)

Tools: Languages that Run on your Browser l Active X »Microsoft Internet Explorer only l JAVAscript »Lightweight programs l JAVA »Full-featured object-oriented programs

Tools: Relational Databases l Commercial Databases »Oracle »Microsoft SQL Server l Open Source Databases »MySQL »SQLite (lightweight, limited functions) l All provide: »Structured Query Language (SQL) » Application Programming Interfaces (APIs) to interact with computer languages

Putting the Pieces Together l Web forms Interface »Web authoring tools like DREAMWEAVER can automate linking web forms to databases l Computer Programs »Stored & run on Web Server »Stored in web page & run on Web Server »Stored on Web Server & run on Server »Stored in web page & run on Client l Database

Client-Server Architecture WWW Browser WWW Server JAVA Internet HTML file WWW Server Software CGI-BIN Scripts WWW Client

CGI or SCRIPTS l Apache and others »If you see /cgi-bin/ in a web address, it is running a program stored in the cgi-bin directory of the server »CGI stands for “Common Gateway Interface” »it defines the ways to communicate information between the server and the client l Microsoft IIS »Uses the “scripts” directory on the server to store programs

Client-Server Architecture WWW Browser WWW Server Internet HTML file WWW Server Software WWW Client Basic configuration for serving static documents

Adding a Database WWW Browser WWW Server Internet HTML file WWW Server Software CGI-BIN Scripts WWW Client Database

Database Programs in HTML Documents l Usually webmasters do NOT allow users to add programs to the cgi-bin directory »Dangerous – programs run on the server so only trusted programs should be in cgi-bin l So, instead a general CGI program (such as PHP) is used to read specific database programs that are integrated into a web page

Adding a Database WWW Browser WWW Server Internet HTML file WWW Server Software CGI-BIN Scripts WWW Client Database

Example Program l This example program uses PHP to talk to a MYSQL relational database l The details of each step will differ between databases and languages, but will share many similarities l Here we insert information from a web form into a database and retrieve an observation number for later use.

/* Connecting, selecting database */ /* Connecting, selecting database */ $link = mysql_connect("data.vcrlter.virginia.edu", “myID") $link = mysql_connect("data.vcrlter.virginia.edu", “myID") or die("Could not connect"); or die("Could not connect"); mysql_select_db("www") or die("Could not select database"); mysql_select_db("www") or die("Could not select database"); /* Performing SQL query */ /* Performing SQL query */ $query = "insert into waiver (date_req,station,name,isVert,healthtype) values('". date("Y-m-d"). ','$_REQUEST[station]', ‘$_REQUEST[fullname]','Y', $_REQUEST[health])"; $result = mysql_query($query) or die("Unable to log waiver creation, Query failed"); $result = mysql_query($query) or die("Unable to log waiver creation, Query failed"); $query = "select max(waiver_num) as waiver_num from waiver"; $result = mysql_query($query) or die("Unable to get waiver number, Query failed"); extract(mysql_fetch_assoc($result)); mysql_close($link); mysql_close($link); Openconnection Set up insert Store result as PHP variable Selectdatabase Run Insert Query Set up query Set up query Run Query

DON’T PANIC! By now, you may be swamped with new information, so keep in mind: »There are good tutorials or books to walk you through the intricacies of SQL, PHP, etc. »Example programs can frequently be adapted for your use »Some tools for creating database-enabled web pages can automate many of the basic tasks (e.g., Dreamweaver has basic web form and database interfaces)

Web Portals Made Easy –Content Management Systems l Content Management Systems (CMS) »Store ALL the web content in a database (not just data and metadata) »Provide pre-written “modules” containing –Web form-based interfaces –Associated database programs »These modules are designed to be easy to use by even novice webmasters to provide specific functions on a web page l Examples are PostNuke, SlashDot, OpenCMS, WIKI

A sample web site developed using POSTNUKE

Administration Page for PostNuke Web Site

Content Management Systems l Advantages »Easy to configure and use »Allow input from users (subject to login) »Many pre-existing modules l Disadvantages »Existing modules may not meet your needs »May be difficult to extract content or transition to other systems

System Requirements for CMS l To use a CMS, you will need »A Relational Database (e.g., Oracle, MySQL) »A computer language (JAVA, PHP etc.) »A web server l For example, PostNuke, by default, requires PHP and a MySQL database

Web Services l For some applications your “user” is not a person, it’s a program on another computer »E.g., Provide data to run a model or graphical package, without human intervention l Web pages work fine for people, but are hard for programs to interpret. For this reason Web Services have developed

Features of Web Services A Web Service provides the following functions: l It “advertises” its methods (it tells you what it can do for you) l Once you select a method to invoke, the Web Service does the required processing (often accessing a database) l It returns the result as a structured eXtensible Markup Language (XML) document, suitable for use with many types of software

Web Services l Web services tools and techniques are still undergoing rapid development and evolution. Here are some tools and standards related to that development: l SOAP – Simple Object Access Protocol »A “envelope” for packaging requests and receiving results l WSDL – Web Services Description Language »A language for describing web services and their methods

Useful References & Tutorials l PHP – l MySQL – l HTML Forms, Web Services (SOAP, WSDL), SQL, XML l SQL – l Dreamweaver –

Exercises l Learn Structured Query Language at: l Learn to Administer a real PostNuke web site at: