554
Brief Full Advanced Search Search Tips To access the contents, click the chapter and section titles. Oracle Databases on the Web (Publisher: The Coriolis Group) Author(s): Robert Papaj and Donald K. Burleson ISBN: 1576100995 Publication Date: 02/01/97 Search this book: Introduction What's on the CD-ROM Dedication CHAPTER 1—Evolution Of The Internet, The World Wide Web, And Databases Internet Basics Connection Costs Internet Protocols Domains And Location Transparency Internet Applications The World Wide Web Fundamentals Of The World Wide Web World Wide Web Components Accessing The Internet And The World Wide Web What Does The Future Hold? Objects And The Internet The Oracle Approach To Object-Orientation Abstract Data Typing (ADTs) Definition Of Aggregate Objects Abstraction Inheritance Polymorphism

Oracle databases on the Web

Embed Size (px)

Citation preview

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Introduction

    What's on the CD-ROM

    Dedication

    CHAPTER 1Evolution Of The Internet, TheWorld Wide Web, And Databases

    Internet Basics

    Connection Costs

    Internet Protocols

    Domains And Location Transparency

    Internet Applications

    The World Wide Web

    Fundamentals Of The World Wide Web

    World Wide Web Components

    Accessing The Internet And The World Wide Web

    What Does The Future Hold?

    Objects And The Internet

    The Oracle Approach To Object-Orientation

    Abstract Data Typing (ADTs)

    Definition Of Aggregate Objects

    Abstraction

    Inheritance

    Polymorphism

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();

  • Encapsulation

    Extensibility

    New Database DesignThe ISA Construct

    Summary

    CHAPTER 2Oracle WebServer ArchitectureBasic WebServer Architecture

    The Components Of Oracles WebServer

    Oracle WebServer 1 Architecture

    Oracle WebServer 2 Architecture

    Oracle WebServer 3 Architecture

    Summary

    CHAPTER 3Developing Web Pages Using HTMLWhat Is A Web Page, Anyway?

    How Are Web Pages Created?

    The Basics Of Hypertext Markup Language

    Formatting The Page Background

    Headers

    Page Formatting With HTML

    Lists In HTML

    HTML Text Styles

    Special Characters In HTML

    Link References

    Linking Images

    HTML FormsSoliciting Screen Input

    Viewing Web Source Code

    Accessing An HTML File Using WebServer And Netscape

    Summary

    HTML References

    CHAPTER 4Installing And Configuring OracleWebServer

    Preinstallation Tasks

    Running The Oracle WebServer Installer

  • Starting The WebServer Installer

    Installing WebServer Version 1 With Oracle 7.3.2.1

    Oracle WebServer 1 Components

    Installer Prompts

    Installing WebServer Version 2

    Initial Preinstall Tasks

    Installer Prompts

    Configuring Oracle WebServer 1

    Configuring Oracle WebServer 2

    Populating The Oracle Dictionary

    Installing The Train Demo

    Testing Your Install

    WebServer Configuration Issues

    Handling WebServer Requests Through CGI Or WRB

    Configuring The Web Listener For CGI

    Configuring The Web Request Broker For ProcessingRequests

    Getting Technical Support

    Summary

    CHAPTER 5Designing WebServer ApplicationsThe Importance Of Web-Based Design

    Dealing With The Limitations Of The Web

    Line Speed

    Client Platform Considerations

    Designing For Web Access

    Web Page Scroll Bars

    Browser Display

    Web Frames

    Web Tables

    Hyperlinks

    Dynamic Page Generation

    Clickable Images And Image Maps

    WebServer Analysis And Design

    Designing The Application Framework

    Systems Analysis For WebServer Pages

  • Systems Design For Oracle WebServer

    Using Audit Logs With Oracle WebServer

    WebServer 3.0 Log Features

    Summary

    CHAPTER 6Oracles Common Gateway InterfaceOrigins Of CGI

    Components Of CGI

    Programming Languages

    Programs And Scripts

    Environment Variables

    Client Documents

    Image Maps And Forms

    CGI And Oracles Web Request Broker

    The Webmaster

    Summary

    CHAPTER 7WebServers HTP UtilitiesHTP/HTF Functional Groupings

    Print Procedures

    Structure Procedures

    Head Procedures

    Body Procedures

    Frame Procedures

    List Procedures

    Character Format Procedures

    Physical Format Procedures

    Form Procedures

    Table Procedures

    HTP/HTF Parameters

    Summary

    CHAPTER 8WebServers OWA UtilitiesParameter Data Types ProcessedBy OWA Utilities

    OWA Cookie Procedures And Functions

  • OWA Image Package

    OWA Init Package

    OWA Parms Procedures And Functions

    OWA Pattern Procedures And Functions

    OWA Text Procedures And Functions

    OWA Util Procedures

    Summary

    CHAPTER 9Oracle WebServer And PL/SQLPL/SQL Syntax Structures

    Declare Section

    The Begin Section

    Looping In PL/SQL

    PL/SQL And Stored Procedures

    PL/SQL Stored Procedures And Packages

    Tuning PL/SQL

    Passing Parameters To Oracle Stored Procedures From TheWeb

    Passing Parameters Between PL/SQL Stored Procedures

    Managing Oracle I/O Using PL/SQL And WebServer

    Returning A Single Row From An Oracle Database IntoA Web Page

    Returning Lists Of Values From Oracle To A Web Page

    Exception Handling In WebServer

    Summary

    CHAPTER 10Managing WebServer Forms AndSecurity

    Basic Form Functions

    Data Input Fields

    Multiple Data Input Fields

    Checkboxes

    Radio Buttons

    Pop-Up Lists

    Menu Screens

    Updating The Oracle Database From A Web Page

  • Updating A Single Row

    Updating Multiple Rows

    Security And WebServer Forms

    Oracle Security

    Oracle Privileges

    Functions, Stored Procedures, And Packages

    Assigning Privileges

    grant Statements

    Roles

    Row-Level And Column-Level Security

    Table Synonyms

    Session-Level Security

    Grants And Distributed Oracle Databases

    Implementing Role-Based Security

    Creating Key Developer Roles

    An Implementation Plan For WebServer Security

    Role Allocation Strategy For WebServer

    Data-Specific Vs. Application-Specific Security

    Automatic Conversion To Role-Based Security

    Auditing Security In A Distributed Oracle Environment

    Auditing Oracle Role-Based Security

    Propagating Security Privileges To Many DistributedOracle Databases

    The Ten Commandments For Oracle Security

    Summary

    CHAPTER 11WebServer Navigation AndConcurrency Management

    Interscreen Transfer

    Interform Communication

    Database Locking And Concurrency Management

    WebServer Updates And Concurrency

    Oracle Database Locking And Granularity

    Alternative Integrity Mechanisms For WebServer

    Add A Date-Time Stamp To Each Row

    WebServer Distributed Database Concurrency

  • Summary

    CHAPTER 12Using Java And LiveHTML WithOracle WebServer

    Java

    Development Of Java

    Java And Portability

    Object Orientation Of Java

    Security Of Java

    Performance Of Java

    Fundamentals Of Java Code

    Oracle WebServers Java Implementation

    Running Java On The Client Or Server

    Using PL/SQL With Java

    Oracle WebServers Java Interpreter

    Accessing Oracle Databases From Java

    Using PL/SQL Package Wrappers

    Oracle Database Retrieval By Java

    Dynamic HTML Generation By WebServer Java

    Java HTML Examples

    LiveHTML

    LiveHTML Syntax

    Examples Of LiveHTML

    Summary

    CHAPTER 13Using SQL*Net For WebServerCommunication

    Location Transparency And WebServer Connectivity

    Oracle Database Domains

    Intersystem Connectivity With WebServer

    Internals Of Oracles SQL*Net

    Application Connection With SQL*Net

    Understanding The SQL*Net Listener

    Managing SQL*Net Connections

    Managing Oracles Multithreaded Server

  • Managing The Listener Processes

    Managing Two-Phase Commits (2PCs)

    Viewing SQL*Net Sessions

    Summary

    CHAPTER 14Logical Design For WebServerApplications

    Normalization And Modeling Theory For Oracle

    Redundancy And Database Design

    One-To-Many Data Relationships

    Many-To-Many Data Relationships

    Recursive Data Relationships

    Using STAR Schema Design With WebServer

    Summary

    CHAPTER 15Physical Oracle DesignReplication With Oracle Snapshots

    How To Create Oracle Snapshots

    Using Triggers To Update Snapshots

    Using Snapshots To Propagate Subsets Of MasterTables

    Using Referential Integrity With Oracle

    Indexes And Oracle Performance

    Tuning Queries With Indexes

    Concatenated Indexes

    Oracle Locking

    Oracle Constraints And Indexes

    Using Multicolumn Indexes With Oracle

    How Oracle Chooses Indexes

    Parallelism And Client/Server

    Multitasking And Multithreading WebServer Processes

    SMP Vs. MPP Processing

    Using Oracles Parallel Query

    Summary

  • CHAPTER 16Database Performance And TuningWebServer Performance Issues

    The Web Request Broker

    The PL/SQL Agent

    Oracle Stored Procedures

    Pinning WebServer Packages In The SGA

    Oracle Triggers

    Deciding When To Use A Trigger

    Oracle Hashing

    Oracle Clusters

    Oracle Parallel Query

    Summary

    CHAPTER 17Tuning Oracle SQLTuning Oracle SQL Syntax

    General Tips For Efficient SQL

    Using Oracles Explain Plan Facility

    Using Temporary Tables

    Tuning With The Rule-Based Optimizer

    Using Hints With The Cost-Based Optimizer

    Tuning PL/SQL

    Summary

    CHAPTER 18The Future Of DatabaseManagement

    Oracle Version 8

    Oracle Sedona

    Oracle ConText

    Oracle Express

    SQL For Object-Orientation

    The ISA Relationship

    The ODMG Object Model

    The Future Of Hypermedia In Database Management

    A Return To Centralized Data

    Experiential Databases

  • Voice Recognition Database Access

    Summary

    Index

    Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Table of Contents

    IntroductionFor the past several years, the Oracle database management system hasenjoyed dominance in the worldwide information systems marketplace.Oracles excellent reputation has been based on the stability of its Oracle7Server. In our many years of database and application experience, the OracleDBMS stands out as being highly reliable and recoverable, two of the mainfeatures that information professionals depend on daily. However, untilrecently, it has been very difficult to get information out of an Oracle databaseand onto the World Wide Web. Now that you can use Oracles WebServer tocreate Web page front-ends for Oracle databases, developers everywhere arestruggling to learn all the facets of WebServer to integrate their databases withthe Web.

    As is the case with any nascent technology, the pragmatic use of OraclesWebServer is not yet clear to Oracle developers. In the meantime, we havewritten Oracle Databases on the Web to simplify the process of using OraclesWebServer and explain the development of Web-based Oracle applications ineasy-to-understand terms. Interfacing a complex and robust database such asOracle with the World Wide Web is not a simple task, and there are manyhidden pitfalls that must be addressed before it you can easily interface Oraclewith Web pages. This book hopes to point out those pitfalls, and the paths youcan take to get around them.

    Oracle Databases on the Web introduces the basic concepts of creating a Webpage and interfacing that page to the Oracle database management system. Weuse Oracles WebServer product to illustrate all the examples in the book, butthe focus will be on generic techniques that can be used to interface any Webpage with any Unix-based database, using proven Web interface techniques.

    The most valuable component of this book is a comprehensive set of working

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();

  • examples that can be customized to implement database interfaces to Webpages. Youll also find techniques in this book for transporting data from theWeb page to the PC and from the PC to the Web page. We also explain howLiveHTML can be used to interface with the operating system environment.

    This book begins by discussing the basics of the World Wide Web andWebServers architecture, including a detailed chapter on the installation ofWebServer. It then goes on to discuss how to manage WebServer applications,and contains separate detailed chapters on various Oracle utilities that you willneed to know about. The book also contains chapters on how to tune Webdatabases and Web-based SQL. Basically, weve tried to include everythingyou might need to know about WebServer and developing Web-baseddatabases in this book.

    The Oracle WebServer will become a very hot topic as mainstream IS shopsbegin to enter the World Wide Web to better service their customers. OracleDatabases on the Web will help to reduce their fear of this technology, and aidOracle developers in their task of creating robust and functional Web pagesthat interface with Oracle.

    The authors welcome feedback and comments. Please address email to:

    DonBurleson:

    [email protected]

    Bob Papaj: [email protected]

    Table of Contents

    Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Table of Contents

    Whats on the CD-ROMThe companion CD-ROM for Oracle Databases on the Web includes:

    A fully functional copy of Oracle WebServer version 2.1! Complete source code to all examples in the book. RevealNets Oracle Administration Knowledge Base.

    See the readme files in each folder for acknowledgments, descriptions,copyrights, installation instructions, limitations, and other importantinformation.

    Requirements

    Software:

    Oracle7

    Hardware:

    Platform: Pentium

    Operating System: Windows NT

    RAM: 32 MB

    Table of Contents

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();

  • Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Table of Contents

    DedicationWe dedicate this book to our loving families, and to all our friends who helpedsupport us through the trials and tribulations of writing this tome.

    Bob Papaj

    Don Burleson

    Table of Contents

    Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Previous Table of Contents Next

    CHAPTER 1Evolution Of The Internet, The WorldWide Web, And Databases

    The Information Superhighway began with the development of a wide-areanetwork (WAN) that eventually became the Internet. In its most basic form,the Internet is a world-wide network of subnetworks; it is the backbone for theglobal transportation of data. The predecessor of the Internet was a Departmentof Defense project called ARPANET (Advanced Research ProjectsAdministration Network). ARPANET was developed in the early 1970s toassist researchers working in the United States defense industry, as well as afew associates in other countries.

    ARPANET grew from a network of a few computers in 1971 to over 1,000 by1984. In 1986, the U.S. National Science Foundation established NSFNET toprovide network connections for research institutions. Soon, NSFNET becamethe new backbone for the Internet. By 1990, ARPANET had dissolved, but theInternet continued to grow via NSFNET. Today, commercial networks run theInternet and have expanded the Internet to provide millions of instantaneouslyaccessible locations to surfers from around the globe.

    Internet Basics

    Despite its overall complexity, the Internet has just a few major components:the physical network, communication protocols, and Internet applications. Thephysical network of the Internet is comprised of a number of computers linkedby routers and cables, working together as if they were a single processor. Inthis type of wide-area network, communications among the computers isfacilitated through Internet languages called protocols. Protocols manage all of

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();

  • the internal transformations that a data file goes through when data is beingshipped between processors. Processors use a variety of Internet applicationsto exchange data. Table 1.1 shows some commonly used Internet applications.

    Table 1.1 Common uses of the Internet.

    Application Description

    EmailEnables the sending and receiving of textmessages.

    World Wide Web ListServers

    Displays Windows-style pages over the Internet.Broadcast email messages to list subscribers.

    Newsgroups Provide forums for posting subject-oriented emailmessages.

    File Transfer Protocol(FTP)

    Copies files between sites.

    Wide-Area InformationServers (WAIS)

    Provide more than 500 databases of mainlytext-based documents on numerous topics.

    Note: While the Internet is very established throughout the Americas andEurope, expansion of the Internet into the remotest parts of the world isconstrained by the lack of high-speed phone lines. These high-speedlong-distance lines are different from the phone lines we deal with on a dailybasis. High-speed phone lines are point-to-point lines where the circuit canbe open continuously between connections. Point-to-point lines also have amuch greater capacity for carrying data than basic phone lines. The demandfor higher capacity lines, similar to those used in WANs, resulted in theproduction of high-speed, high-volume lines called T1 and T3 service lines.The T3 line is the faster of the two and is used throughout the NorthAmerican Internet backbone.

    Connection Costs

    Despite the critical nature of the Internet, its not totally clear who isresponsible for costs associated with installing and maintaining connectionsamong local networks. The cost of connecting a local network to the Internet iscommonly paid for by the owner of the local network. The local networkowner negotiates a connection with a site already connected to the Internet andpays for a dedicated line that connects the local network to the Internet site.Thanks to the NSFNET project, the National Science Foundation paid for theT3 network backbone in North America.

    Internet Protocols

    There are three levels of protocols used by computers to communicate witheach other: network, transport, and application. Network protocols coordinatethe transmission of information, transport protocols manage the integrity of thedata, and application protocols format the data for transmission. The networkprotocol used by the Internet to get information from one computer to anotheris called Internet Protocol (IP). Messages delivered by the IP are calledpackets. The Internet has two transport protocols for coordinating the integrityof network transmissions: TCP (Transmission Control Protocol) and UDP

  • (User Datagram Protocol). Transport protocols determine whether packetshave arrived at their destination, and if so, the protocol assembles the packetsin the proper order. As you saw in Table 1.1, there are many applications onthe Interneteach of which has their own application protocol.

    On the Internet, the TCP and IP protocols are often paired together in theirusage and jointly referred to as TCP/IP. For the IP to do its job, it needs toidentify sites for data transmissions. Under IP, each network and eachcomputer attached to the network has a fixed address. The Internet address is a32-bit address, partitioned by four 8-bit numbers that identify the computerand its local network. The four bytes (each byte represented by 8 bits) of theaddress are separated by periods (e.g., 155.222.8.19) and identify either anetwork number or a host number, depending on the value of the first byte.The first byte (in this case 155) falls within a standardized range of valuesthat will determine the composition of the IP address. In this example, bytesone and two represent the network, and bytes three and four represent the host.The network component is assigned when the local network registers for anInternet connection with the Internet Network Information Center (InterNIC orNIC). NIC gives a range of Internet addresses to the local networksadministrator, who then assigns the numbers to host computers on the localnetwork.

    Previous Table of Contents Next

    Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ch01/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Previous Table of Contents Next

    Domains And Location Transparency

    Many sites recognize the need to track the locations of remote databases andsystems on the Internet while providing location transparency to their usersand programmers. Location transparency refers to a condition whereby theapplication requests data as if it were local, yet the data may reside thousandsof miles away. Domains are especially important in situations of horizontalpartitioning, where data tables with identical names are kept at numerouslocations. Domains establish a logical hierarchy of physical locations for anydistributed enterprise on the Internet, as shown in Figure 1.1.

    Figure 1.1 IP addresses and domain names.

    The real power of the Internet comes into play when Domain Name Servicesare used to replace the IP address number with a meaningful mnemonic. Forexample, the IP address 223.222.45.76 could be given the alias litterbox, andInternet users could then Telnet to litterbox without knowing the IP address.

    Internet Applications

    Once a backbone had been created for the Internet, software applications werecreated to allow easy use of the Internet. Some of these applications on theInternet are very common (email, Telnet, and FTP, for example) because theyare bundled with the network portion of the Unix operating systemthe mostcommon Internet operating system. Other Internet applications (such asGopher, WAIS, WWW, and Archie) are not a part of the operating system andfunction as standalone applications. Unfortunately, standalone applications are

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();javascript:displayWindow('images/01-01.jpg',490,345 )javascript:displayWindow('images/01-01.jpg',490,345)

  • not always good for sharing data between multiple users because there is nocommon repository for the data. In order to properly share data with astandalone application, users would have to execute the application on themachine with the data or the data would have to be replicated on manycomputers.

    Fortunately, the client/server architecture can help in the goal of data sharing.Network applications work on the client/server model, which distributes thework of one application across two programs, a client and a server. Usually,data is accessed anonymously because it is not necessary to know someone orbe known by someone to access data on the Internet. An application is startedon the client side that collects details about what is needed by the user, and theclient program then proceeds to connect over the network to a server programthat controls the information requested. This dialogue between a client and aserver is accomplished through application protocol interfaces, which arecommonly called APIs. The client-side software formats user requests usingthe same API as the server. It then dispatches the request by a program thatformats the message and transmits it across the network to the server. Theserver receives the client request, finds the information resource, formats theresults in an application protocol, and passes the response to a protocol handlerto transmit the requested information back to the client.

    On the client side, client programs are always ad hoc because a client processis started by a user request. Of course, the server must be ready at all times torespond to a client request, and server programs run continuously, listening forthe client requests on their assigned port numbers. Please note that theclient/server architecture does not require that the client and the server run ondifferent platforms. Client/server programs can run on the same machine orcan run on different machines with heterogeneous operating systems. They canalso be defined to support multiple network protocols. Each client programprovides a user interface, which may be a character-based interface supportingtext only, or a graphical user interface (GUI) supporting text and images likeMS Windows. Client programs must execute on an Internet-attached server toaccess the data repositories connected to the Internet.

    The World Wide Web

    The World Wide Web and the Internet are occasionally interpreted as beingone and the same, but they are not. However, the Internet and the Web havebeen integrated into a powerful behemoth networking system providing linksbetween text, images, and audio information. As we learned earlier, theInternet is nothing more than the physical network of computer hosts. TheWorld Wide Web, on the other hand, is a collection of protocols and standardsused to access the vast array of information across the Internet. The WorldWide Web uses special applications to retrieve the data on the Internet and canbe thought of as residing on top of the basic Internet foundation.

    The World Wide Web is a very new phenomenon. Since the Web sprang upfrom its infancy just a few short years ago, it has become the major drivingforce in worldwide computing. The most fundamental aspect of the WorldWide Web is the hypertext link, the procedure for connecting information

  • repositories across the Internet. The hypertext concept, which allows users toaccess information in a nonlinear fashion, is not new and was developed in the1940s by an engineer named Vannevar Bush. He visualized users followingtrails of information in multiple directions and felt this was essential toaccommodate the large amounts of data being generated at that time.

    The actual term hypertext was coined by Ted Nelson in a book he publishedcalled Literary Machines (South Bend, Ind., 1981). In this book, Nelsonoutlined a system called Xanadu, which made use of hypertext links. WhileNelson is credited with the original definition, the person most credited withrefining hypertext links is Tim Berners-Lee, who in the 1980s was employedat the European Particle Physics Institute (CERN) in Geneva, Switzerland. Itwas there that Berners-Lee developed a hypertext system used in the physicscommunity to share information. Berners-Lee called the systemEnquire-Within-Upon-Everything. This system provided hypertext linksconsisting of titles, text, and lists of bidirectional-text links.

    Previous Table of Contents Next

    Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ch01/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Previous Table of Contents Next

    Building on their success, Berners-Lee and his associate Robert Cailliancompiled the original design documents for a hypertext system as a way to linkand access information of various kinds on a web of nodes. The network oflinks was called the World Wide Web. Contrary to the existing Internethierarchical systems, which had a rigid path structure for accessinginformation, the World Wide Web could be accessed without hierarchicalaccess paths. In addition, the design document specified several principles ofthe Web such as:

    Allowing links across multiple machines. Searching by indexes. Using a simple protocol to transfer hypertext documents. HypertextTransfer Protocol (HTTP) later fulfilled this principle.

    Using a universal protocol for developing documents. HypertextMarkup Language (HTML) met this specification.

    Having the capability to view documents through browser programs.

    Berners-Lee developed the original hypertext project on a NeXT workstation,and the first hypertext prototype was operational in late 1990. A scientistnamed Nick Pellow also participated in the project and developed the worldsfirst Web browser. In May 1991, the project came together and the WorldWide Web became readily available to the general public. The Web wasgreatly assisted in its development by the many discussions that transpired onexisting Internet newsgroups, such as alt.hypertext andcomp.infosystems.www.

    An early application of hypertext released in 1987 was HyperCard for theMacintosh. HyperCard enabled users to peruse databases in non linear tracks,very similar to hypertext browsing techniques. As an application, HyperCardgrew rapidly in use because it was provided at no charge and was bundled withthe Macintosh operating system. HyperCard combined embedded text linkswith images and sounds, and provided a dazzling display platform for

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();

  • nontextual information. This concept of merging hypertext with multimediaobjects became known as hypermedia.

    Fundamentals Of The World Wide Web

    The World Wide Web is best described as a Windows-style data transmissiontool that enables a collection of multimedia documents to be connected byhyperlinks. Web technology enables users to click on words and images in adocument to access other documents, such as text, images, sounds, andmovies. Web applications can be restricted to internal LANs (intranets), orthey can be set up to access the full Internet. Most Web development iscurrently taking place within corporate boundaries on intranets. An intranet isbasically a Web application that is only available to users of a closed, subnetof nodes. Many companies remain wary of security issues outside of theirprotective firewalls (firewalls often act as LAN gateways to the Internet).Intranets can be used for sending and receiving email, distributing andretrieving information, and coordinating departmental and interdepartmentalprojects.

    Initially, the Web was designed to transmit text documents, but it becamemultimedia-based with the development of Web browsers. A Web browserprovides a GUI front end to the multimedia resources available on the Web.The first Web page accessed on a Web server is called the home page, whichgenerally describes and provides links to all the information retrievable on thatserver. Clicking on a highlighted box or underlined text opens a link to otherWeb pages containing additional information. Links can take users toinformation residing on the same server or on another Internet server locatedanywhere in the world.

    World Wide Web Components

    There are primarily three standard elements that comprise the Web: URLs(Uniform Resource Locators), HTTP (Hypertext Transfer Protocol), andHTML (Hypertext Markup Language). URLs are the Internet addresses thatwe commonly see (such as http://www.coriolis.com). URLs help to locate dataon the Internet by addressing resources across multiple protocols. URLs canidentify documents through HTTP, specify email addresses, transfer filesthrough FTP, and access Gopher menus.

    The format of a URL changes based on the protocol being used. A URL can bebroken down into three components: the protocol to be used, the server wherethe connection will be made, and the path for the file to be accessed. Ingeneral, but not universally, the format of the URL is:

    protocol://servername:port/path

    Usually the :port section is omitted, and the URL will use a default port forthat protocol. The port number is an identifier that is assigned to softwareprograms that communicate between networked computers. The server namemay be specified in either upper- or lowercase. Also, it can be represented asan IP address or hostname. The IP address is a series of numbers that identify

    http://www.coriolis.com/

  • the host and the network location of the host. The hostname is usuallysynonymous with the domain name. Lets try an example:

    spartan.spearsinc.com

    The domain name in this example is broken down as follows, reading fromright to left. The rightmost part of the domain name is referred to as the zone,in this case com, which categorizes this as a commercial organization. Table1.2 shows a list of valid three-character zone names that are commonly usedon the Web. There are also two-character zone names that are infrequentlyused and are geographic identifiers (such as .uk for United Kingdom and .it forItaly). Moving to the left is the string spearsinc, which identifies theparticular company or organization. Finally, furthest to the left, the hostnamespartan specifies the lowest-level name of the server. Often, on the Web,youll see the hostname specified as www.

    Table 1.2 A list of valid three-character zone names.

    Zone What It Identifies

    edu Educational institutions

    com Commercial organizations

    net Networked organizations

    gov Government organizations

    int International organizations

    mil Military installations

    org Just about any other group

    Note: URLs are almost always case-sensitive. Be sure to enter them exactlyas you see them written in the address.

    Previous Table of Contents Next

    Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ch01/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Previous Table of Contents Next

    In general, the World Wide Web transfers information across the Internetusing the HTTP protocol. In order for HTTP to get information from a serverto a client, three steps occur:

    1. The client connects to the server.2. The client sends a request to the server for a specific document.3. The server responds to the request with a status code, informationabout the object being sent, and the object itself.

    The status code usually indicates that the request was successful, but othercodes may be returned indicating various errors in transmission. The objectinformation fields can specify an enormous amount of information, including:

    File content type (for example, executable, graphic, or HTML file) Last modification date of the file Document language coding Expiration dates for the validity of the document

    The client browser can use the content-type field when determining how toprocess what was retrieved (for example, a graphic image, a sound, and so on).In addition, browsers can use the last-modified field to reduce repetitivetransfers of large images and bitmaps. The most recent transfers are cachedwithin the browser and will not be transferred again when requested unless thelast modified field has changed.

    HTTP

    HTTP has been defined as a stateless protocol used to increase data transferrates. But what does stateless protocol mean? It means that HTTP is notrequired to remember any information about a connection from one request toanother. The state of the protocol does not have to be defined internally andcan be set within the URL.

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();

  • HTTP can have only one request per connection, which also makes it aconnectionless protocol. The client-to-server connection is severed aftereach request is resolved. A new connection must be established to the serverfor every client request. Retrievals of Web pages that contain many graphicimages can take considerable time to complete because a connection must beestablished for each image. Some browsers, like Netscape and MicrosoftInternet Explorer, will transfer multiple documents simultaneously by openingmultiple connections; many other browsers transfer documents more slowly,because they are restricted to one open connection at a time, per request.

    The third leg of the World Wide Web is Hypertext Markup Language(HTML), which is an outgrowth of Standard Generalized Markup Language(SGML). Other markup languages include LaTeX, RTF, and Frame. Themarkup languages define areas of text by tagging them with a specificformat for a specific use. Hypertext links can be created between documentswith HTML to provide the transport mechanism. This is accomplished bymarking documents with code associated with other documents to crisscrossthe Internet, forming the Web.

    Accessing The Internet And The World Wide Web

    In order to access the Internet and the World Wide Web, a computer called anetwork host must exist and be connected to the Internet. Local area networks(LANs) must connect to one of these network hosts. The local networksconnection point to the Internet is called a router, which is a special computerbridging the LAN to the Internet. A series of dedicated phone lines creates thelong-distance part of the Internets physical network. Remote computers usededicated phone lines to connect to LANs that are connected to the Internet.

    What Does The Future Hold?

    Today, the Internet has over 30 million users with thousands of new usersbeing added every day. Ninety-five countries have access to the Internet, andmore than 145 countries have access to email. Regulators predict at least a 100percent rate of growth each year for the Internet.

    Internet-based systems developed in the 1990s may seem revolutionary, butthey are no less revolutionary than the demise of punched cards brought on bythe introduction of GUI interfaces in the 1970s and 1980s.

    A careful study of the evolution of Internet-based online systems establishes atrend line that can give us some insight into the future of distributed Internetsystems. While the World Wide Web has added a glossy front-end package toinformation systems, the internal information architecture has changed verylittle in the past decade. In fact, the state of online systems has changedrelatively little since the 1960s. Online transaction systems continue to processrecord-oriented information, and if we factor out the convenience of a GUI anda mouse, the core nature of these systems has remained unchanged. However,this does not imply that Internet-based client/server and distributed databasesare only a facade.

    As processors continue to increase in speed and decrease in cost, the next

  • revolution will exploit the inherent power of client/server systems and changethe way information systems function, not just how they appear. For example,imagine high-speed processors on everyones desk, with each machine havingthe power of an IBM 3090 mainframe. The client/server component wouldthen become more of a data server than a shared processor, and corporateinformation could be extracted and manipulated freely within the informationdomain.

    The greatest challenges over the next decade will be the management ofdistributed data. Centralized corporate servers must be built and managed sothat a user, regardless of geographical location or computer platform, caninstantly access and manipulate data. These new servers will open up newcareer fields and new jobs, such as the Object Administrator.

    The widespread acceptance of object technology will dramatically change thecomplexion of information systems programming. The role of the programmerwill change from a craftsman who carefully creates unique programs to that ofa program assembler who constructs systems from predefined and pretestedcode modules. Just as Eli Whitneys idea of interchangeable parts changed theway that rifles were assembled in the 1700s, object technology will foreverchange the way computer systems are constructed. Rather than beingcraftsmen who create a unique work, object-oriented programmers will take onthe role of code assemblers, choosing among prewritten and tested codefunctions and combining them in unique ways.

    Previous Table of Contents Next

    Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ch01/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Previous Table of Contents Next

    However, it is interesting to note that object-oriented languages do not followthe pattern that we have seen in previous programming languages. If we take alook at people costs versus CPU costs, we find that the procedural language ofthe day was suited to the economic situation at the time.

    Figure 1.2 shows that the early second-generation languages are designed to behigh in people resources, but very efficient in CPU consumption. This is to beexpected because, in the early 1960s, people costs were relatively lessexpensive than CPU cycles. Programming competitions in the 1960s judgedthe contestants by how efficiently they could write a program, not by how fastthey could write a program. Processor cycles were precious, and theprogrammers were taught to carefully hand-execute each line of code beforesubmitting it to the compiler.

    Figure 1.2 People costs versus processor costs.

    As time passed, people costs remained constant while the costs of CPU timebegan to drop dramatically. Here we see the introduction of thethird-generation languages, such as COBOL and Fortran. These languagesrecognized the falling costs of CPU cycles relative to people costs, and theywere designed to allow programmers to become more productive, even if itmeant requiring more processing time to compile their programs. We still seecarryovers from the earlier days, in features such as 66-level entries inCOBOL that serve only to save a small amount of memory during executiontime, but there is a clear trend to make procedural language programmingmore productive for the programmer.

    As processing costs fell by a factor of 100, the fourth-generation languages

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();javascript:displayWindow('images/01-02.jpg',537,380 )javascript:displayWindow('images/01-02.jpg',537,380)

  • gave even more recognition to the new economic reality. By fourth-generationlanguages, programmer costs amounted to the majority of managers budgets,and the marketplace was demanding languages that could make theirprogrammers more productive. Figure 1.3 shows the introduction of high-levellanguages such as SAS, Focus, and Wizard-based environments, such asMicrosoft Visual Basic and Microsoft Access.

    Figure 1.3 Language evolution.

    However, one must note that the fall in processor costs cannot continueforever. As we maximize the potential of silicon technology, we see that eachmarginal improvement in speed and power is becoming more expensive. Wehave already maximized the potential of silicon technology, as seen in theflattening of the CPU curve in Figure 1.2. When a new technology arrives, sayGallium Arsenide, we may see another surge in declining processor costs. It isalso interesting to note that computer programmers are worse off today thanthey were in the 1960s (in net-present value dollars). While programmingskills have commanded high salaries, the programming profession has fallenvictim to the friendliness of the procedural languages. Today, a 10-year-oldcan create and manipulate a database by using friendly tools with Wizards, andit is no longer necessary to have a masters degree in computer science toprogram a computer. Consequently, we see a trend away from the high salariesof the 1960s, when programming was a skill reserved for those who couldafford the cost of many years of expensive training.

    Given these trends, we might expect to see the next generation of languagesbecome even friendlier, allowing automatic code generation with a minimumof technical expertise. Here is the rub: Instead of seeing a new generation oflanguages that are even friendlier for the programmer, we are seeing the age ofobject-oriented programming. Object-oriented languages such as C++ andSmalltalk, are a far cry from the expectations of the programming communityfor a high-level, friendly language.

    With regard to databases, we see a similar backward trend. The firstcommercial databases, such as IBMs IMS database, were very difficult tonavigate, and it took programmers months of training to begin to use thesecomplex database engines. Then, the advent of the CODASYL network modelprovided a standard Data Manipulation Language (DML), but database accesswas still achieved by carefully navigating pointer lists. The introduction of therelational model and Structured Query Language (SQL) made database accesseasier than ever. SQL became so popular that even end users could retrievedata from their own tables without any intervention from the programmingstaff.

    When object-oriented databases started to become popular, we saw a trendaway from the simple SQL database access. Figure 1.4 shows this evolution ofdatabase technology.

    javascript:displayWindow('images/01-03.jpg',518,407 )javascript:displayWindow('images/01-03.jpg',518,407)

  • Figure 1.4 The evolution of database management.

    Previous Table of Contents Next

    Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    javascript:displayWindow('images/01-04.jpg',556,415 )javascript:displayWindow('images/01-04.jpg',556,415)http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ch01/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Previous Table of Contents Next

    Objects And The Internet

    The next progression of database architecture is toward object-orienteddatabases. In the same manner that early file managers stored data, networkdatabases stored data and relationships. Today, object-oriented databases storedata, data relationships, and the behaviors of the data.

    The object-oriented approach borrows heavily from the concepts ofintelligent databases and knowledge bases. Both of these databaseapproaches advocate storing behaviors within the database, so that data andbusiness rules share a common repository. Instead of the data residing alone inthe database, while the business rules reside in external programs, the data andthe rules reside together within the database (see Figure 1.5).

    Figure 1.5 The evolution of database architectures.

    With the properties of encapsulation, abstraction, and polymorphism,object-technology systems are moving toward a unified data model, whichmodels the real world far more effectively than previous modeling techniques.Furthermore, a properly designed object-oriented model promises to bemaintenance-free, because all changes to data attributes and behaviors becomea database task and not a programming task.

    Lets take a look at a human analogy to the object-oriented approach. It is verynatural for humans to recognize objects and to associate objects with theirclasses. It is also a very natural concept to associate an object with its expectedbehaviors.

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();javascript:displayWindow('images/01-05.jpg',488,427 )javascript:displayWindow('images/01-05.jpg',488,427)

  • Even as very young children, we learned to associate objects and behaviorswith certain characteristics of objects. For example, it is not uncommon to visitthe zoo and hear a three-year-old call all four-legged animals doggies. Thechild has learned to associate an object class (dog) with a data at tribute (fourlegs). Later, a child will refine her object-oriented paradigm and associateother data attributes with animal objects. A child also learns to associatebehaviors (such as playing, having fun, or pain) with different visual andauditory stimuli.

    Adults develop the same associations between objects and behaviors. Therehave been hundreds of psychological studies that prove that expectations, orthe association of behaviors to attributes, affect interactions among people.Humans are also familiar with the concept of abstraction. Intangible objects,such as time, are easily understood.

    The distinguishing characteristic of the object-oriented database is its ability tostore data behavior. How is the behavior of the data incorporated into thedatabase? At first glance, this may seem to be a method for moving applicationcode from a program into a database. While it is true that an object-orienteddatabase stores behaviors, these databases must also have the ability to managemany different objects, each with different data items.

    The Oracle Approach To Object-Orientation

    Rather than rebuild the Oracle engine as an object-oriented architecture,Oracle has decided to keep the base relational engine and add objectfunctionality on top of the standard relational architecture. While claiming tobe an active member in the Object Management Group (OMG), Oracle hasdeparted from the OMGs standard for pure object databases as defined bythe Object Data Management Group (ODMG). Oracles intent is to provide ageneric relational database while extending the architecture to allow forobjects, such as:

    Abstract data typing (ADTs) Defined aggregate objects Coupling of data and behavior Abstraction Inheritance Polymorphism Encapsulation Extensibility

    Lets discuss each of these features.

    Abstract Data Typing (ADTs)

    Rather than being constrained to the basic relational data types of INT,VARCHAR, and FLOAT, future versions of Oracle may allow the definitionof data types that may be composed of many subtypes. For example, thefollowing data definition could be implemented as an ADDRESS data type:

  • 03 ADDRESS.

    05 STREET-ADDRESS VARCHAR(30). 05 CITY-ADDRESS VARCHAR(30). 05 ZIP-CODE NUMBER(5).

    In this manner, aggregate data types can be defined and addressed in a tabledefinition just like any other relational data type. In the following example, wesee the phone_nbr and address data types being used in a table definition:

    create table CUSTOMER ( cust_name VARCHAR(40), cust_phone phone_nbr, cust_address address);

    Here we see that a single data field in a table may be a range of values or anentire table. This concept is called complex, or unstructured, data typing. Withthis approach, the domain of values for a specific field in a relational databasemay be defined. This ability to nest data tables allows for relationship data tobe incorporated directly into the table structure.

    Previous Table of Contents Next

    Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ch01/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Previous Table of Contents Next

    Definition Of Aggregate Objects

    Aggregate objects can be defined and optionally preassembled. For example, areport_card object may be defined for a university database. Thereport_card object may be defined such that it is assembled at runtime fromits atomic components (similar to an Oracle view), or the report_card may bepreassembled and stored in the data base. These aggregate objects may havemethods (i.e., stored procedures) attached to them, in which case an Oracleobject couples the data and behavior together.

    Coupling Of Data And Behavior

    The engine allow for the direct coupling of a database entity (such as a table orobject) with a set of predefined behaviors. In this fashion, calls to Oracle willbe made by specifying an object name and the method that is associated withthe object. For example:

    CUSTOMER.add_new("Jones", 123, "other parms");

    This call tells Oracle to invoke the add_new procedure that is attached to theCUSTOMER object using the supplied parameters. As you might expect, thisnew way of invoking database calls has important ramifications for thedevelopers and Database Administration (DBA) staff.

    For developers, applications will become SQL-less and will consist of calls tostored procedures. Of course, this has the important benefit of makingapplications portable across platforms, while also making it very easy to findand reuse code. In addition, because each method is encapsulated and testedindependently, the pretested methods can be assembled with other methodswithout the worry of unintended side effects.

    The introduction of methods will dramatically change the way DBAs function.

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();

  • Instead of only managing data and tables, the DBA will also be responsible formanaging objects and the methods associated with each object. These newobject administrator functions will need to be defined so that developersknow the functions and parameters of each method.

    Abstraction

    Abstraction will be defined as the conceptual (not concrete) existence ofclasses within the database (see Figure 1.6). For example, a database may havea class hierarchy that includes classes that do not have any objects. Letsconsider a military database as an example. A military database may containthe conceptual entities of division, battalion, squadron, and platoon. Further,assume that the function of the database is to track only the platoons; therefore,the entity classes of division, battalion, and squadron may not have anyassociated objects.

    Figure 1.6 An example of abstraction.

    However, this is not to say that there is no purpose for abstract classes. When aclass is defined, it is associated with behaviors, and these behaviors will beinherited by a class containing an object, such as the platoon class in ourexample. From a database perspective, there will be no instances of anyobjects in our example except in the platoon class, but higher levels in theclass hierarchy contain behaviors that the platoon objects inherit.

    Inheritance

    Inheritance is defined as the ability of a lower-level object to inherit, or access,the data structures and behaviors associated with all classes that are above it inthe class hierarchy. Multiple inheritance refers to the ability of an object toinherit data structures and behaviors from more than one superclass.

    To illustrate, lets look at an application of this system for a vehicle dealership(see Figure 1.7). Occurrences of item entities to a dealership are found in thevehicle class. Beneath the vehicle class, we may find the subclasses car andboat. Within car, the classes may be further partitioned into classes for truck,van, and sedan. The vehicle class would contain the data items that are uniqueto each vehicle, including the vehicle ID and the year of manufacture. The carclass, because it is a subclass of vehicle, would inherit the data items of thevehicle class. The car class might contain data items such as the number ofaxles and the gross weight of the vehicle. Because the van class is a subclassof car, which in turn is a subclass of vehicle, objects of the van class willinherit all data structures and behaviors relating to the car and vehicle classes.

    javascript:displayWindow('images/01-06.jpg',593,438 )javascript:displayWindow('images/01-06.jpg',593,438)

  • Figure 1.7 An example of object class hierarchy.

    It is critical to the understanding of inheritance to note that inheritance happensat different times during the life of an object. Inheritance most often occursduring object creation and runtime:

    Object Creation Inheritance (Data Structures)At object-creationtime, inheritance is the mechanism whereby the initial data structure forthe object is created. Only data structures are inheritednever data. Itis a common misconception that data is inherited, such that an ordermay inherit the data items for the customer that placed the order. Wemust understand that inheritance is only used to create the initial, emptydata structures for the object. In our example, all vehicle objects wouldinherit data definitions from the vehicle class definition, while an objectof a lower-level class, such as the sailboat class, would inherit datastructures that only apply to that classin our case, the sailboat objectswould inherit a data item such as sail_size. Runtime Inheritance (Methods)Inheritance also happens at runtimewhen a call to a method (stored procedure) is made. For example,assume that the following call is made to a sailboat object:

    sailboat.compute_rental_charges();

    Previous Table of Contents Next

    Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    javascript:displayWindow('images/01-07.jpg',506,334 )javascript:displayWindow('images/01-07.jpg',506,334)http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ch01/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Previous Table of Contents Next

    The database will first search for the compute_rental_charges in the sailboatclass, and if it isnt found, the database will search up the class hierarchy untilcompute_rental_charges is found.

    Of course, not all classes within a generalization hierarchy will have objectsassociated with them. The object-oriented paradigm allows for abstraction,which means that a class may exist only for the purpose of passing inheriteddata and behaviors. The classes vehicle and car would probably not have anyconcrete objects, while objects within the van class would inherit from theabstract vehicle and car classes. Multiple inheritance is also demonstrated bythe amphibian_car class. Any instances of this class will inherit data andbehaviors from both the car and the boat classes.

    It is important to note that there is a very big difference between one-to-manyrelationships and one-to-one relationships. In the above example, the entireclass hierarchy describes vehicle objects, which are associated with the itementity in the overall database. Keep in mind that class hierarchies do not implydata relationships between classes: While one customer object may relate tomany order data structures, it is not true that one car object may have manysedan data structures.

    Polymorphism

    Polymorphism is the ability of different objects to receive the same messageand behave in different ways. This concept has many parallels in the realworld. For example, an event such as a volcanic eruption may have manydifferent effects on the living things in the area. The poisonous gasses couldkill air-breathing animals while at the same time nourish small marineorganisms nearby. The single behavior eruption has different effects onobjects within the animal class. Another analogy can be found in the businessworld. For a personnel manager, a promotion event will cause differentbehaviors depending on the employee class affected by the promotion event.

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();

  • Management objects will receive stock options and country clubmemberships, neither of which are offered to part-time objects.

    Ronald Popeil was a master of polymorphism. Many folks may remember theheyday of Popeil and his company called Ronco. In the 1970s, Popeil spenttens of millions of dollars on television advertising, and created ads where thepolymorphic nature of his products were demonstrated. Consider thestatement, Its a hair cream AND a floor wax! If that statement were true,the method spread_it_on would invoke very different processes dependingupon whether we are applying the cream to a floor or a persons head.

    The concept of polymorphism originally came from the programming conceptof overloading. Overloading refers to the ability of a programming function toperform more than one type of operation depending on the context in whichthe function is used. For example, consider the following Basic program:

    REM Sample Basic program to show polymorphism

    REM Increment the counter

    COUNTER = COUNTER + 1

    REM Concatenate the string

    N$ = "Mr. Burleson"S$ = "Hello there, " + N$

    END

    In this example, the + operator is used to indicate addition in one context andconcatenation in another. But what determines which way the operator willfunction? Clearly, the Basic compiler knows that the + operator meansaddition when it is used in the context where a number is passed as anargument, and it knows that concatenation is required when character stringsare passed as an argument to the operator.

    The implications of polymorphism are that a standard interface may be createdfor a related group of objects. The specific action performed by the object willdepend upon the message that is passed to the interface. Because theprogrammer is no longer concerned with the internal constructs of the object,extremely complex programs can be created. The programmer only needs tounderstand the interface to use the object.

    In the real world, polymorphism can be described by looking at standardinterfaces. In most PC-based software, the F1 key has a special meaning.Pressing F1 will invoke a context-sensitive Help function and explain thefunction to the user. These Help functions have vastly different methods anddata storage techniques, but the standard interface, F1, is polymorphic andinvokes different internal mechanisms depending upon the software.

    Another example of polymorphism is the set of controls on an automobile.While the internal workings of automobiles are vastly different, steering

  • wheels are always round, and the gas pedal is always to the right of the brake.These polymorphic interfaces make it possible for any person to drive a carwithout being concerned with the underlying structure of the vehicle.

    Now, lets apply polymorphism to the database scenario. All communicationbetween database objects and their behaviors is accomplished by usingmessages. A message is normally the name of a behavior that is tightlycoupled to an object type, such as the messages customer.display_address(Sam Jones) and order.display_details(123). For example, considertwo objects, rush_order and cod_order, that belong to the order class.

    When a message such as prepare_invoice is called, it may containsubbehaviors, such as prepare_invoice and compute_charges (see Figure1.8). The message prepare_invoice directs the system to compute the shippingcharges. The message will cause different procedures to be invoked dependingupon whether the receiving object is a rush_order object or a cod_orderobject, even though they are both objects within the order class. Arush_order would include overnight mail calculations, and the cod_orderwould contain additional computations for the total amount due. This is whatan object-oriented call would look like

    PLACE_ORDER(PREPARE_INVOICE(COMPUTE_CHARGES))

    and this is its procedural language equivalent:

    IF (RUSH_ORDER) COMPUTE SHIPPING = TOT_AMNT * .25ELSE COMPUTE SHIPPING = TOT_AMNT * .10

    IF (COD_ORDER) COMPUTE TOT_DUE = TOT_AMNT + SHIPPINGELSE COMPUTE TOT_DUE = 0

    Figure 1.8 An example of polymorphism.

    Previous Table of Contents Next

    Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    javascript:displayWindow('images/01-08.jpg',522,241 )javascript:displayWindow('images/01-08.jpg',522,241)http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ch01/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Previous Table of Contents Next

    Encapsulation

    Encapsulation means that each object within the system has a well-definedinterface with distinct borders. In plain English, encapsulation refers to thelocalized variables that may be used within an object behavior and cannot bereferenced outside of that behavior. This closely parallels the concept ofinformation hiding. Encapsulation also ensures that all updates to the databaseare performed using the behaviors associated with the database objects.

    Code and data can be enclosed together into a black box, and these boxesmay then function independently of all other objects within the system. From aprogramming perspective, an object is an encapsulated routine of data andbehaviors. Objects may contain public variables, which are used to handle theinterfaces to the object, and private variables, which are known only to theobject. Once created, an object is treated as a variable of its own type. Forexample, an object of class car is created as a routine with a data type calledcar and is treated as a compound variable by the program.

    Encapsulation is used in nondatabase object-oriented applications to ensurethat all operations are performed through the programmer-defined interfaceand that data will never be modified outside of the application shell. But whatabout ad hoc query and update? It appears that any declarative databaselanguage that allows external retrieval and update, such as SQL, does notfollow the dictates of encapsulation, and is, therefore, inconsistent withobject-oriented database management. This is, in fact, true.

    For example, a relational database could be defined to have a behavior calledadd_line_item that serves to check inventory levels for an item and add itemsto an order only if sufficient stock is available. This behavior ensures thatorders are not entered for out-of-stock items. With a language such as SQL,the object-oriented behavior could be bypassed, and line_item records couldbe added without regard for inventory levels.

    http://www.itknowledge.com/http://www.itknowledge.com/pick-account.htmlhttp://www.itknowledge.com/PSUser/usrreg.htm?AdminAction=InitAdd&Locale=en&URI=/http://www.itknowledge.com/PSUser/psuserauth.htm?cmd=login&URI=/http://www.itknowledge.com/search/http://www.itknowledge.com/PSUser/EWIPOMain.htmlhttp://www.itknowledge.com/faq/faq.htmlhttp://www.itknowledge.com/sitemap.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/search/http://www.itknowledge.com/search/http://www.itknowledge.com/search/search-tips.htmljavascript:bookMarkit();

  • Because encapsulation and SQL are clearly incompatible, the only conclusionthat can be reached is that encapsulation may be violated in Oracle8 by usingad hoc tools such as SQL*Plus.

    Extensibility

    Extensibility is the ability of the Oracle8 engine to add new behaviors to anexisting application without affecting the existing applications shell. This isan especially powerful feature because it allows Oracle8 to extend existingclasses and to ensure that there are no unintended side effects from theintroduction of a new object class.

    For example, consider a company that provides payroll services for businessesin many states. Some payroll computations are global (e.g., Gross_pay =hours_worked * payrate), while others are specific to a municipality or state(such as computing state taxes). Using Oracle8, an existing object classdefinition can be extended such that the new object behaves exactly like itssuperclass definition, with whatever exceptions are specified. For example, ifNew York City instituted a new payroll rule for New York City residents, thenthe general definition for New York payroll customers could be extended witha new class definition for New York City payroll customers. The only methodthat would be attached to this class definition would be the code that is specificto New York City; all other methods would be inherited from the existingsuperclasses.

    New Database DesignThe ISA Construct

    Oracle is planning to introduce an extension to their Designer/2000 product toallow for the modeling of class hierarchies. This new extension, tentativelydubbed Designer/2001, should allow for object-oriented constructs to bedescribed and modeled.

    Here is a vision of how it might work. After establishing a class hierarchy withthe Entity/Relation model, the principle of generalization is used to identifythe class hierarchy and the level of abstraction associated with each class.Generalization implies a successive refinement of the class, allowing thesuperclasses of objects to inherit the data attributes and behaviors that apply tothe lower levels of the class. Generalization establishes taxonomy hierarchies,which organize the classes according to their characteristics, usually inincreasing levels of detail. Generalization begins at a very general level andproceeds to a specific level, with each sublevel having its own unique dataattributes and behaviors. Essentially, this hierarchy implies successive levelsof detail, such as a sedan ISA car, which ISA wheeled_vehicle, which ISAvehicle.

    In Figure 1.9, the ISA relationship is used to create a hierarchy within theobject class, and all of the lower-level classes will inherit the object classsbehaviors. The ISA relationship is used to model the hierarchy that is createdas the class entity is decomposed into its logical subcomponents. As you cansee in Figure 1.9, customers may be preferred_customers or new_customers,and orders may be cod_orders or prepaid_orders, each with its own dataitems and behaviors.

  • Figure 1.9 The ISA data relationship.

    Summary

    While this chapter has discussed three different topics, the intent was for thereader to develop an appreciation about how the Internet, the World WideWeb, and the development of objects within Oracle will influence the future ofdatabase-enabled Web pages. Its very clear from an evolutionary perspectivethat the Internet will bring older technology to the forefront, while at the sametime provide a vehicle for newer technologies. Hopefully, future releases ofOracle, as well as WebServer, will marry the Internet with object databases, sothat access to database information will not require complicated explanations.

    Previous Table of Contents Next

    Products | Contact Us | About Us | Privacy | Ad Info | Home

    Use of this site is subject to certain Terms & Conditions, Copyright 1996-2000 EarthWeb Inc.All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb isprohibited. Read EarthWeb's privacy statement.

    javascript:displayWindow('images/01-09.jpg',448,363 )javascript:displayWindow('images/01-09.jpg',448,363)http://www.itknowledge.com/products.htmlhttp://www.itknowledge.com/contactus.htmlhttp://www.itknowledge.com/aboutus.htmlhttp://www.earthweb.com/about_us/privacy.htmlhttp://www.itmarketer.com/http://www.itknowledge.com/http://www.itknowledge.com/agreement.htmlhttp://www.itknowledge.com/copyright.htmlhttp://itnews.earthweb.com/http://www.earthweb.com/about_us/privacy.htmlhttp://www.itknowledge.com/reference/standard/1576100995/ch01/ITKN1a2b3c4d5e6f7g8h9idefcon4.html

  • Brief Full Advanced

    Search Search Tips

    To access the contents, click the chapter and section titles.

    Oracle Databases on the Web(Publisher: The Coriolis Group)Author(s): Robert Papaj and Donald K. BurlesonISBN: 1576100995Publication Date: 02/01/97

    Search this book:

    Previous Table of Contents Next

    CHAPTER 2Oracle WebServer Architecture

    The Oracle WebServer is the first Oracle product that allows applicationdevelopers to create Web-based interactive applications that work closely withthe Oracle database. At first glance, the architecture of WebServer may seemconfusing. Since the Oracle WebServer is a very powerful product, there are aplethora of ways in which the tool can be configured and used. However, thereare some analogies to existing Oracle products that may help inconceptualizing the WebServer architecture. For instance, it is very similar tothe architecture of Oracles SQL*Net product. A Web listener runs on theWebServer host, polling for incoming URL requests. As each request isreceived, the WebServer directs the request to Oracle, extracting the requireddata and preparing an HTML document for transmission to the requestingbrowser.

    Lets take a look at some of the many ways that WebServer can beimplemented.

    Basic WebServer Architecture

    In its most basic form, a Web server acts as a simple request dispatcher thattakes a URL request (such ashttp://myhost.domainname:port/ows-bin