Internet, intranet, and multimedia database processing
E N D
Presentation Transcript
Internet, intranet, and multimedia database processing Database processing across local and wide area networks Alternative architectures for distributing application logic to network clients
Databases and networks • Synergy between database and network (Internet, intranets) technologies • Examples? • Distance learning • Online testing • Electronic commerce • Planning (e.g., travel agents) • Banking • Voting, polling • …?
Terminology • Network: collection of computers communicating via a standard protocol • Public (Internet) • Private (intranets) • Internet: network of public networks (started by military to avoid single point of failure – ARPANET, 1960’s) • TCP/IP: Transmission Control Protocol / Internet Protocol
Internet applications/services • Email (messages) • FTP (file transfer) • Telnet (remote terminals) • Usenet (newsgroups) • IRC (chat) • WAIS (wide area information service) • HTTP (hypertext transfer) • ...
World Wide Web • All of the Internet services, with a standard hypertext interface accessible via client browsers from servers (HTTP) • HTML: Hypertext Markup Language • SGML: Standard Generalized Markup Language • Started to organize and exchange Physics data at CERN (Tim Berners-Lee, 1989)
More on the Web • HTML: text, tags, and anchors • <html><head><title>TWI</title></head><body>Welcome to <a href=“logo.gif”> Time-Wasting, Inc.</a></body></html> • URL: Uniform Resource Locator • protocol://servername[:port]/filepath • MIME: Multipurpose Internet Mail code • MIME Type Name File Extensiontext/html Hypertext .htm, htmltext/plain Text .txtimage/gif Graphics I.F. .gif...
Databases and the Internet • Can extend MIME types with application-specific files • Pro or con? Why? • Request oriented protocols • Pro or con? Why? • Stateless transactions • Pro or con? Why? True or false? • Insecure transactions • Pro or con? Why? True or false?
Intranets • Private LAN or WAN • Security • Disconnected from Internet • Firewall • Controlled data access, authentication... • Speed • 100Mbs (versus 28.8kbs) • Multimedia applications become feasible
Network database applications • Users execute applications on the client via a browser • The database resides on the server, together with the web server • The DBMS can reside at either end (file-sharing versus client-server)
Database publishing • Static report publishing: the report is created off-line, saved in HTML format, and posted on the Web • Query publishing: the client uses a form to issue a query as part of an HTTP request, the server creates the report in HTML format and sends it back as a response to the client • Application publishing: application code transfers to the client and executes locally
DB query publishingexample ASP Request Form
Network database applications • The continuum between thin and thick clients
<HTML> <HEAD><TITLE>SPAM site</TITLE></HEAD> <BODY> <FORM METHOD=“POST” ACTION=“/cgi_spam.pl”> Your email please: <INPUT TYPE=text NAME=“address”><P> <INPUT TYPE=submit> <INPUT TYPE=reset VALUE=“Cancel”> </FORM> </BODY> </HTML> Thin clients • [Client]form.html sends: • “execute cgi_spam.pl with argument address” • [Server]cgi_spam.pl responds: • “<HTML><HEAD><TITLE>Ack</TITLE></HEAD><BODY>You are done for.</BODY></HTML>”
Java database applications • Java is an OOPL (developed by Sun) • Java is compiled into machine-independent (portable) “bytecode” • Java bytecode is loaded from server to client, where it is interpreted and executed as a normal program • Java code can access the database via an ODBC interface or DBMS library
Microsoft Active Platform • Microsoft’s open architecture to deliver applications over the network • Various tools, services, and technologies • HTML and extensions • Scripting (JScript, VBScript, etc.) • Components (Java, ActiveX) • ActiveX controls • Based on OLE, COM, DCOM (Distributed Component Object Model) • Binary-level dynamic interface for Windows application (IUnknown, Query Interface) • Can be embedded into HTX documents
Support for network applications • Hyperlink (URL, UNC) data types • Application publishing (Java, ActiveX) • Tables, queries, and forms publishing • Static HTML (reports, too) • Dynamic HTML via ActiveX or 3rd-party ODBC “application servers” interacting with Microsoft internet servers • Need IDC and HTX or ASP files on server • What’s an example of an application server?
Multimedia database applications • Not necessarily related to networks • Can embed multimedia objects as links in databases: • Images • Sounds • Video • Large binary files: network bandwidth becomes a central issue
The future • Impact of databases on networks • Speed • Security • Electronic payment schemes • Agents to deal with dynamic pages (XML) • Impact of networks on databases • Huge new markets • New impetus for database research • Standardize interfaces • Simplify development