Database Applications: Web-Enabled Databases and Search Engines: Cont. - PowerPoint PPT Presentation

About This Presentation
Title:

Database Applications: Web-Enabled Databases and Search Engines: Cont.

Description:

Database Applications: Web-Enabled Databases and Search Engines: Cont. University of California, Berkeley School of Information Management and Systems – PowerPoint PPT presentation

Number of Views:120
Avg rating:3.0/5.0
Slides: 37
Provided by: RayR
Category:

less

Transcript and Presenter's Notes

Title: Database Applications: Web-Enabled Databases and Search Engines: Cont.


1
Database ApplicationsWeb-Enabled Databases and
Search Engines Cont.
  • University of California, Berkeley
  • School of Information Management and Systems
  • SIMS 257 Database Management

2
Today
  • Databases for Web Applications Continued

3
Why Use a Database System?
  • Database systems have concentrated on providing
    solutions for all of these issues for scaling up
    Web applications
  • Performance
  • Scalability
  • Maintenance
  • Data Integrity
  • Transaction support
  • While systems differ in their support, most offer
    some support for all of these.

4
Dynamic Web Applications 2
Files
Web Server
CGI
database
DBMS
Internet
database
database
Server
Clients
5
Server Interfaces
Database
Web Server
SQL
HTML
Native DB Interfaces
DHTML
Web Application Server
Web DB App
JavaScript
CGI Web Server APIs
ODBC Native DB interfaces JDBC
ColdFusion PhP Perl Java
ASP
Adapted from John P Ashenfelter, Choosing a
Database for Your Web Site
6
What Database systems are available?
  • Choices depend on
  • Size (current and projected) of the application
  • Hardware and OS Platforms to be used in the
    application
  • Features required
  • E.g. SQL? Upgrade path? Full-text indexing?
    Attribute size limitations? Locking protocols?
    Direct Web Server access? Security?
  • Staff support for DBA, etc.
  • Programming support (or lack thereof)
  • Cost/complexity of administration
  • Budget

7
Desktop Database Systems
  • Individuals or very small enterprises can create
    DBMS-enabled Web applications relatively
    inexpensively
  • Some systems will require an application server
    (such as ColdFusion) to provide the access path
    between the Web server and the DBMS

8
Pros and Cons of Database Options
  • Desktop databases
  • usually simple to set up and administer
  • inexpensive
  • often will not scale to a very large number of
    users or very large database size
  • May lack locking management appropriate for
    multiuser access
  • Poor handling for full-text search
  • Well supported by application software
    (Coldfusion, PHP, etc.)

9
Enterprise Database Systems
  • Enterprise servers are powerful and available in
    many different configurations
  • They also tend to be VERY expensive
  • Pricing is usually based on users, or CPUs

10
Pros and Cons of Database Options
  • Enterprise databases
  • Can be very complex to set up and administer
  • Oracle, for example recommends RAID-1 with 7x2
    disk configuration as a bare minimum, more
    recommended
  • Expensive
  • Will scale to a very large number of users
  • Will scale to very large databases
  • Incorporate good transaction control and lock
    management
  • Native handling of Text search is poor, but most
    DBMS have add-on text search options
  • Support for applications software (ColdFusion,
    PHP, etc.)

11
Free Database Servers
  • System is free, but there is also no help line.
  • Include many of the features of Enterprise
    systems, but tend to be lighter weight
  • Versions may vary in support for different
    systems
  • Open Source -- So programmers can add features

12
Pros and Cons of Database Options
  • Free databases
  • Can be complex to set up and administer
  • Inexpensive (FREE!)
  • usually will scale to a large number of users
  • Incorporate good transaction control and lock
    management
  • Native handling of Text search is poor
  • Support for applications software (ColdFusion,
    PHP, etc.)

13
Embedded Database Servers
  • May require programming experience to install
  • Tend to be fast and economical in space
    requirements

14
Pros and Cons of Database Options
  • Embedded databases
  • Must be embedded in a program
  • Can be incorporated in a scripting language
  • inexpensive (for non-commercial application)
  • May not scale to a very large number of users
    (depends on how it is used)
  • Incorporate good transaction control and lock
    management
  • Text search support is minimal
  • May not support SQL

15
Web Application Server Software
  • ColdFusion
  • PHP
  • ASP
  • All of the are server-side scripting languages
    that embed code in HTML pages

16
ColdFusion
  • Developing WWW sites typically involved a lot of
    programming to build dynamic sites
  • e.g. Pages generated as a result of catalog
    searches, etc.
  • ColdFusion was designed to permit the
    construction of dynamic web sites with only minor
    extensions to HTML through a DBMS interface

17
ColdFusion
  • Started as CGI
  • Drawback, as noted above, is that the entire
    system is run for each cgi invocation
  • Split into cooperating components
  • NT service -- runs constantly
  • Server modules for 4 main Web Server API (glue
    that binds web server to ColdFusion service)
    Apache, ISAPI, NSAPI, WSAPI
  • Special CGI scripts for other servers

18
What ColdFusion is Good for
  • Putting up databases onto the Web
  • Handling dynamic databases (Frequent updates,
    etc)
  • Making databases searchable and updateable by
    users.

19
Requirements
  • Unix or NT systems
  • Install as SuperUser
  • Databases must be defined via data source names
    (DSNs) by administrator

20
Requirements and Set Up
  • Field (attribute) names should be devoid of
    spaces. Use the underscore character, like
    new_items instead of new items.
  • Use key fields. Greatly reduces search time.
  • Check permissions on the individual tables in
    your database and make sure that they have
    read-access for the username your Web server uses
    to log in.
  • If your fields include large blocks of text,
    you'll want to include basic HTML coding within
    the text itself, including boldface, italics, and
    paragraph markers.

21
Templates
  • Have a database named contents_of_my_shopping_cart
    .mdb -- single table called contents...
  • Create an HTML page (uses extension .cfm), before
    ltHEADgt...
  • ltCFQUERY NAME cart" DATASOURCEcontents_of_my_s
    hopping_cart"gtSELECT FROM contents
    lt/CFQUERYgt

22
Templates cont.
  • ltHEADgt
  • ltTITLEgtContents of My Shopping Cartlt/TITLEgt
  • lt/HEADgt
  • ltBODYgt
  • ltH1gtContents of My Shopping Cartlt/H1gt
  • ltCFOUTPUT QUERY cart"gt
  • ltBgtItemlt/Bgt ltBRgt
  • Date_of_item ltBRgt
  • Price ltPgt
  • lt/CFOUTPUTgt
  • lt/BODYgt
  • lt/HTMLgt

23
Templates cont.
Contents of My Shopping Cart
Bouncy Ball with Psychedelic Markings
12 December 1998
0.25
Shiny Blue Widget 14
December 1998 2.53
Large Orange Widget
14 December 1998
3.75
24
CFIF and CFELSE
ltCFOUTPUT QUERY cart"gt Item Item
ltBRgt ltCFIF Picture EQ""gt ltIMG
SRCgeneric_picture.jpg"gt ltBRgt ltCFELSEgt
ltIMG SRC"Picture"gt ltBRgt lt/CFIFgt lt/CFOUTPUTgt
25
More Templates
ltCFQUERY DATASOURCE AZ2gt INSERT INTO
Employees(firstname, lastname, phoneext)
VALUES(firstname, lastname, phoneext)
lt/CFQUERYgt ltHTMLgtltHEADgtltTITLEgtEmployee
Addedlt/TITLEgt ltBODYgtltH1gtEmployee
Addedlt/H1gt ltCFOUTPUTgt Employee ltBgtfirstname
lastnamelt/Bgt added. lt/CFOUTPUTgtlt/BODYgt lt/HTMLgt
26
CFML ColdFusion Markup Language
  • Read data from and update data to databases and
    tables
  • Create dynamic data-driven pages
  • Perform conditional processing
  • Populate forms with live data
  • Process form submissions
  • Generate and retrieve email messages
  • Perform HTTP and FTP function
  • Perform credit card verification and
    authorization
  • Read and write client-side cookies

27
PHP
  • PHP is an Open Source Software project with many
    programmers working on the code.
  • Commonly paired with MySQL, another OSS project
  • Free
  • Both Windows and Unix support
  • Estimated that more than 250,000 web sites use
    PHP as an Apache Module.

28
PHP Syntax
  • Similar to ASP
  • Includes most programming structures (Loops,
    functions, Arrays, etc.)
  • Loads HTML form variables so that they are
    addressable by name

ltHTMLgtltBODYgt lt?php myvar Hello World
echo myvar ?gt lt/BODYgtlt/HTMLgt
29
Combined with MySQL
  • DBMS interface appears as a set of functions

ltHTMLgtltBODYgt lt?php db mysql_connect(localhost
, root) mysql_select_db(mydb,db) result
mysql_query(SELECT FROM employees,
db) Printf(First Name s ltbrgt\n,
mysql_result(result, 0 first) Printf(Last
Name s ltbrgt\n, mysql_result(result, 0
last) ?gtlt/BODYgtlt/HTMLgt
30
ASP Active Server Pages
  • Another server-side scripting language
  • From Microsoft using Visual Basic as the Language
    model (VBScript), though Javascript (actually MS
    Jscript) is also supported
  • Works with Microsoft IIS and gives access to ODBC
    databases

31
ASP Syntax
lt SQL"SELECT last, first FROM employees
ORDER BY last" set conn
server.createobject("ADODB.Connection")
conn.open employee" set peopleconn.execute(
SQL) gt lt do while not people.eof set
resultlinepeople(0) , people(1) ltBRgt
Response.Write(resultline)
people.movenext loopgt lt people.close gt
32
Text Search
  • Native text searching within databases is very
    poor.
  • Involves a full scan of the database to resolve
    LIKE queries.
  • Text fields are limited in size
  • For example Oracle VARCHAR has a maximum of 4000
    bytes
  • LONG (BLOBS, etc) fields support larger data, but
    are not indexable and cant be used in WHERE
    clauses.
  • Some Databases offer Text retrieval add-ons
  • Oracles interMedia or ConText Text retrieval
    engines
  • Informix Text DataBlade
  • IBM DB2 Text Extender

33
Text Search Options
34
Features to look for
  • Ranked and Boolean Search
  • Proximity search
  • Fielded searching
  • Concept expansion
  • Spider for Indexing
  • Document types available
  • HTML, PDF, XML, MS-Office, Multimedia?

35
Other Options
  • Have an external search engine crawl and present
    your site.
  • Inktomi provides portal sites for customers
  • Snap uses Inktomi to do the same sort of thing

36
Conclusions
  • Database technology is a required component for
    large-scale dynamic Web sites, especially
    E-Commerce sites
  • Web databases cover most of the needs of dynamic
    sites except for text search
  • Many solutions and systems are available for
    web-enabled databases and search engines
Write a Comment
User Comments (0)
About PowerShow.com