TABLE OF CONTENTS INTRODUCTION 2 1.0 Project Goals 2 1.1 Infrastructure 2 1.1.1 Internet 2 1.1.2 Wide Area Information Server 3 1.1.2 Archie File Information server 3 1.1.3 Gopher 4 1.1.4 World Wide Web 4 1.2 Reasons in choosing the WWW as the basis of the repository 6 OVERVIEW OF THE PROJECT 9 2.0 Features of the Repository 9 WORLD WIDE WEB CONCEPTS & TERMINOLOGY 12 3.0 World Wide Web project 12 3.1 WWW Clients and servers 13 3.2 HTML & URL 13 3.3 Popular Browsers and Servers 16 3.3.1 TextBased Browsers 16 3.3.2JGraphical WWW Browsers 17 3.4JJServers 20 GATEWAY TO THE TERADATA DATABASE COMPUTER 22 4.0 Gateway 22 4.1 Teradata DBC/1012 Architectural Overview 22 4.2 Teradata DBC/1012 Architectural Components 23 4.3 Programming on the Teradata DBC/1012 24 4.3.1 Call Level Interface (CLI) 24 4.3.2 BTEQ ( Batch Teradata Query facility ) Approach to programming 25 4.4 DBC/SQL 25 ON-LINE PROBLEM REPORT MECHANISM 26 5.0 Motivation 26 5.1 Existing problem reporting/review mechanisms 26 5.2 Mosaic based report mechanism with the Teradata Database computer 27 5.2.1 Implementation 27 5.3 Problem review mechanism 27 5.3.1 Implementation 28 5.4 Utility at our site 28 DYNAMIC HTML 31 6.1 Idea of Dynamic HTML 31 6.2 Implementation 31 6.3 Advantages to this approach 32 CGI & FORMS 34 7.1 Common Gateway Interface (CGI) 34 7.2 Forms 35 7.2.1 Using forms 35 7.3 Using Forms with CGI 39 7.4 Automatic mailin feature 40 CONCLUSION 42 8.0 Success of the Project 42 8.1 Limitations to the WWW 42 8.2 Future Work 42 APPENDIX A 44 CODE LISTINGS 44 APPENDIX B 72 MANAGING OUR WEB SITE 72 APPENDIX C 73 INTERESTING WEB SITES 73 APPENDIX D 75 WEB STATISTICS 75 APPENDIX E 80 EXAMPLE SQL STATEMENTS 80 APPENDIX F 82 SAMPLES OF FORMS USED IN THE PROJECT 82 References 87 CHAPTER 1 .c.INTRODUCTION .c1.1.0 Project Goals The goal of the project and report is to provide a basic framework for Information Exchange using the World Wide Web . The developed framework would be used to establish on on-line repository of information pertaining to the Department of Computer Science . Existing infrastructures will be examined . Useful tools would be developed using a database as the back end of the Web. We will discuss various aspects of the available browsers and concepts relating to the Web .Finally we will draw some conclusions on the Web and determine future directions to the repository . .c1.1.1 Infrastructure The purpose of any information system/repository is to provide users with a seamless access to a variety of information . The repository should provide the user community as well as the repository manage group with simple and efficient means to ensure fast and reliable information exchange . The infrastructure for the repository is based on the services that the repository offers to its users . It is necessary to explore the methods by which a repository can be practically implemented . It is essential to first look at the available infrastructures and then to select based on the resources available , adopt suitable techniques that satisfy our requirements . A survey of the infrastructure of information exchange resources is presented next and analyzed for utility . .c2.1.1.1 Internet The true global information service currently existing is the massive world wide network of computers called the Internet . In essence , Internet is composed of thousands of smaller regional networks scattered throughout the globe . Having access to the Internet usually means having access to a number of resources . A variety of tools are available to assist users in finding and discovering information .These resource and discovery tools aid the user in browsing and searching and organizing information distributes across the internet , Browsing tools allow the navigation of a user through the information space and facilitate finding information . .c2.1.1.2 Wide Area Information Server The Wide Area Information Server (WAIS) is a full text information retrieval architecture whose clients and servers communicate through the Z39-50 protocol . A WAIS client translates user queries into the WAIS protocol and submits them to the WAIS directory for recovery of relevant information . WAIS servers execute full text searches on the subject . In response to a query , a WAIS server returns a list of relevant object descriptors which contain the words and phrases in the users query . A yellow pages service that resides in a well known address is frequently queried for information of participating WAIS servers . When new information provider wants to join the WAIS , it must submit its location , description and other relevant information to the discovery server . .c2.1.1.2 Archie File Information server Archie specifically addresses the file discovery and retrieval problem in large networks . Archie servers centralize indexing information on file name data distributed throughout the Internet archive sites . Currently , the Archie service makes available two types of databases . In the first one the filenames database indexes names of files available from hundreds of File transfer protocol (ftp sites ) . The entries in the database are constantly updated . The user submits a query to the database in the form of a regular expression for filenames that match specific patterns , a complete list of FTP archive sites , or a list of files available from specific sites . The second database is the whatis database that contains the names and descriptions of software packages , documents, and other information available on the Internet . Entries in the whatis database are text expressions consisting of key words and the associated descriptions . Users can perform case insensitive text searches to the keywords and corresponding descriptions . Currently the whatis database is mainly updates from secondary data sources such as Usenet postings , e-mail submissions , etc. . Archie developers have described the utility as a low tech solution to the resource discovery and information retrieval problem . However because of it's simplicity in usage Archie has become a default information locator for many sites . .c2.1.1.3 Gopher The Internet Gopher allows user to search and browse distributed information . Gopher organizes information into a hierarchy where intermediate nodes are directories or indices , and final nodes in the tree are documents . The gopher architecture is composed of clients and servers communicating through the Gopher protocol , which is implemented upon TCP-IP . The root of the Gophers server hierarchy , located at the University of Minnesota, is first invoked when Gopher is loaded . Links are provided to lower level servers as the user navigates through the network hierarchy . Users can navigate through the entire available information base that contains full text document objects and directory objects distributed across multiple servers . A full text search server returns to the client handles to the documents that match the Boolean regular expression provided by the user . Gopher objects can also retrieve objects from WAIS , Archie, and FTP servers . .c2.1.1.4 World Wide Web The World Wide Web (WWW) merges the techniques of information discovery and hypertext . The Web organizes data into distributed hypertext , where nodes are full text objects , directory objects called home pages or indices . The Web also provides for full textual searches over documents stored at a Web server . The WWW is also based on a client server model . The client provides users with a hypertext like browsing architecture . Besides its Hypertext Transfer protocol (HTTP) , WWW clients can understand FTP and the Network news transfer protocol (NNTP) . FTP in WWW clients access file archives on the Internet where the file directories are browsed as hypertext objects . NNTP allows access to the Internet news groups and news articles . News articles may also contain references to other articles or news groups . These references are represented as hyperlinks HTTP allows document retrieval and full text search operations . HTTP runs on top of TCP and maps each request to a TCP connection . HTTP objects are identified by the HTTP protocol type , the corresponding servers name and the path name to the file where the instance object resides . The files are stored in the Hypertext Markup language(HTML) which can be considered a subset of the Standard Generalized Markup language(SGML) format . The WWW discovery tree can access information across all kinds of servers including WAIS , Gopher , NNTP , WWW servers and Archie servers . Discovery of information involves the users starting on their home page following a link to an index , executing a search and following the resultant links . As users find interesting information they build their personalized web by linking to nodes in the global web . Using the user friendly browser interface , users can navigate through the different classification trees to find and publish new information .The WWW exists virtually . There is no standard way of viewing or navigating around it . May software interfaces to the Web exist that have similar functions and work in the same way no matter what computer or type of display is used . A web browser is a software program on any computer with a graphical or textual interface such as Macintosh, an X-Windows systems or even and IBM-compatible with Windows . WWW clients or browsers are available for the following platforms and environments . These are shown in the tables Table 1 and Table 2 .Using the WWW as the basis of the repository seems to be the direction necessary to be taken . Such an implementation would provide the users seamless access to information . Figure 1 : WWW architecture .c1.1.2 Reasons in choosing the WWW as the basis of the repository The WWW has been chosen as the front end of the repository for many reasons. Many Universities and Departments have set up WWW servers that allow them to distribute hypermedia documents across the Internet and local networks. The essential reasons for choosing the WWW are listed below. JFlexibility of Platforms for Browsers The WWW is designed to convey information in a device independent manner. Hypermedia documents can be shown on many different types of computers. In other words, documents on the WWW are shown to users in a way that is best suited to their display. Documents with graphics and formatting may be shown in full color on an X-terminal, while only the basic formatting and text will be shown on a text-only screen. Choice in Platforms for Servers WWW server software is also available for different types of hardware platforms. This makes it easier to establish a WWW server without the need for specific hardware requirements. Information Navigation is Fast, Interactive and Highly Intuitive Documents on the WWW contain hot-spots in the form of hyperlinks. Forms and menus allow users to search quickly through archives and documents. Multimedia presentations, on-line forms, and database interfaces can be created so that users can interact and control information rather than just view it. The WWW Works on Standards and is Extensible Most WWW clients and servers have been designed to communicate using Transmission Control Protocol/Internet Protocol (TCP/IP). Many web clients also speak the Gopher protocol, File Transfer Protocol (FTP), and Network News Transfer Protocol (NNTP) so that hypermedia browsers can also act as Gopher, FTP, and USENET client applications. The Design of the WWW Provides for the Transfer of a Variety of Data Formats Audio, video, extended character sets, and interactive hot-spot graphics are some of the fundamental types of data that can be transferred using the WWW. There are actually no barriers to the types of data sent by the server as long as the client or browser has an application associated with the file data type to read it. This is essentially a very important feature that can be taken advantage of for file data types that are not a standard as of yet. As and when the formats become pertinent, the clients can have the respective software to access up the file. World Wide web clients or browsers availability Text only browsers Graphical Interface browsers Dumb terminal , any Unix platform Sun4/Sun OS 4.1.x Text only SunOs,IBM,AIX,DEC,Ultrix,VAX Silicon graphics IRIX 4.x Macintosh Text only ,Mac SE's Sys7.x VMS Perl Linux emacs DEC MIPS Ultrix,DEC Alpha AXP IBM RS/6000 , AIX 3.2 HP 9000/700 , HP/UX 9.x NeXT,neXTStep 3.0 Commodore Amiga. Amiga OS 3.0 IBM Compatibles 386 and above with windows Macintosh Computers System 7.x Power Macintosh Table 1 World Wide Web servers availability Most flavors of UNIX HP,SGI and SUN systems DEC MIPS Ultrix and DEC Alpha AXP Perl Macintosh , 68020 or better, Power Macintosh and System 7.x NeXTStep VM, VM/CMS,VM/XA and VMS Windows 3.1 Windows NT Table 2 CHAPTER 2 .c.Overview of the project .c1.2.0 Features of the Repository The first step in establishing the repository was to set up and configure a Hypretext transfer protocol server on the Departmental machines . As is the convention adopted in the WWW community , the machine was aliased to possess the name www.cs.wvu.edu . This is primarily to isolate the user community from changes such as relocating a server . Several versions of the server software is available. NCSA httpd version 1.3 was used for our purpose . The server provides a Home Page along with other tools and information . The homepage document is in the HTML format and will contain links/interfaces to other HTML documents .The Home page is shown in the figure . It will consist of information pertinent to the Department of Computer Science such as Course structure, faculty members , research activities , technical reports , images of the college . In addition to these basic documents features that are provided are a) Gateway to the Teradata Database (SQL) computer ( Used as an on-line problem report mechanism) b) Support for system administrator to review problems submitted on-line c) Ability for Students to add their Home page without intervention of systems administrator ( An example of Dynamic HTML where files are not used ) d) Automatic mail in feature through forms e) Gateways to RFC 's f) An on-line systems manual g) For users unfamiliar with HTML an automatic tool to generate the Home page h) Interface to the Dept. Phone book database i) A means of displaying the Web statistics The virtual schema of the repository is shown in the Figure 2. Figure 2 : Virtual Schema of the Repository Figure 3 Department Home Page CHAPTER 3 .c.WORLD WIDE WEB CONCEPTS & TERMINOLOGY .c1.3.0 World Wide Web project The World Wide Web - a network of computers providing information and resources on the Internet-grew out of a Hypertext project started out at CERN , the European laboratory for Particle Physics . As a resource for finding information and services the World Wide Web has become a centrepiece of the information superhighway . The WWW is intuitive in use and exists on many platforms, from simple text-based browsers to full graphical implementations. It is an excellent way of cruising the information space offered by the Internet resources. The WWW is currently expanding at an estimated 4 times as fast as the Internet explosion in the late 1980's. The WWW is an attempt to unify the enormous amount of information available from the global networks, with a very easy-to-use front end interface and a server protocol. It may be thought of as a single tool to combine individual network tools dispensing the need to run these tools independently. Some of the more widely used tools are Anonymous FTP, Archie, Wide Area Information Server (WAIS), and Gopher. Anonymous FTP is one of the most useful of Internet facilities, establishing the original archiving concept, making it possible to make information available across the globe. The addition of a document search engine, namely Archie, has made it possible to locate files in the entire information space. However, Archie can give only a location. It is still necessary to use an FTP client to retrieve the file. This problem was partially addressed by Gopher by providing online viewing and retrieval facilities within a client package. The addition of Veronica to Gopher filled the need for a search engine within the abundance of Gopherspace. WAIS brought the power of full text searches and questioning and of resources. Even though these tools and utilities allowed the searching of the Internet and the retrieval of information and resources found therein, searches and all finds continued to exist generally independently of each other.The beauty of the WWW is the ability to understand ad handle all these protoclos including NNTP , Gopher,Ftp etc. .c1.3.1 WWW Clients and servers The WWW software is designed around a distributed client-server architecture. The WWW client (also called a WWW Browser) is a program that can send requests for a document to any WWW server. A WWW server is a program that, upon receipt of a request, sends the document back to the requesting client. Using a distributed architecture means that a client program may be running on a completely different and separate machine from the server. The task of document storage is left to the server and that of retrieval is local to the client. Therefore, each program can concentrate on its individual duties and work independently of each other. Because servers operate only when documents are requested, they put a minimal amount of workload on the computers they run on for each transaction. The WWW is composed of thousands of these virtual transactions taking place per hour throughout the world, creating a web of information flow. .c1.3.2 HTML & URL The language that WWW clients and servers use for communications is called the HTTP. The standard language used for creating and recognizing hypermedia documents is the HTML. It is loosely related to the SGML. Start and end tags (markup) that precede and follow each logical portion of a document are added to the standard text to represent different attributes of the enclosed text. The entities are defined by the HTML Document Type Definition (DTD). The HTML DTD defines the elements and tags of the SGML subset. WWW documents are written in HTML. HTML documents are nothing more than standard ASCII files with formatting codes that contain information about layout (text styles, document styles, paragraphs, lists) and, of course, hyperlinks. A new version of HTML called HTML+ will be ready by the end of 1994 and will support more interactive forms, hot-spots in images, more versatile layout, and formatting options and formatted tables. Related to HTML is HyTime, a proposed standard language for representing the structure of multimedia, hypertext, hypermedia, and time and space based documents. HyTime, Hypermedia/Time based Document Structuring Language is also based on SGML as information content is packaged using standard markup. HyTime was basically created for the digital information publishing industry. HyTime can be used as a means of integrating the information management of a multifaceted enterprise, facilitate concurrent engineering and other forms of collaborative research. The WWW uses Uniform Resource Locators (URL) to represent hypermedia links and links to network services within HTML documents. It is possible to represent any file or service on the Internet with a URL. Most WWW browsers allow the user to specify a URL and connect to that document or service. When a hyperlink is selected within a document, the user is actually sending a request to open a URL. In this way, hyperlinks can be made not only to other texts and media but also to other network services. WWW browsers are typically not just WWW clients but are also fullfeatured FTP, Gopher, and Telnet clients. HTML+ will allow the use of URL's to perform E-mail functions automatically. SGML grew out of a decade of work addressing the need for capturing the logical elements of documents as opposed to the processing functions to be performed on those elements. SGML is essentially an extensible document description language, based on a notation for embedding tags into the body of a document's text. It is defined by the international standard International Organization for Standardization (ISO)J8879. The markup structure permitted for each class of documents is defined by an SGML Document Type Definition (DTD). It is impractical to design a DTD to meet the needs of all possible users. Instead, the markup has been tailored to the needs of a specific community. In HTML, the need to support a wide range of display types and to keep browser software as simple as possible limits the complexity that can be handled. Text is tagged with marks that pass information to a software reader. The readers use the tag information to format the text and other media for the viewer. As mentioned earlier, HTML is soon to be superseded by HTML+ which contains additional features and enhancements. HTML+ has grown out of several years of experience with the HTML document format of the WWW community. Browser writers are experimenting with extensions to HTML and it is appropriate to draw these ideas together into a revised document format. The new format is designed to allow a gradual roll over from HTML, adding features like tables, captioned figures, and fill-out forms for querying remote databases or mailing questionnaires. Basically, HTML uses tags to tell the WWW browser how to layout the text and also how to make links to other parts of the same document or documents. The location of the document is specified by a Uniform Resource Locator. The URL is a system of identifying where a resource resides anywhere on the Internet. In the same way that a local computer needs to know where a file is stored in order to open it, the URL locates a file as long as the entire path of the file is specified. The data types that the URL can address are not limited to files alone. Databases, images, news groups, Gopher and Archie servers, and many other services are capable of being addressed via URLs. The URL is a simple concept and can be grasped quite easily. The most straightforward use of URLs is to point at other WWW documents on HTTP servers. If the URL of a document is known, a browser can be pointed there. Generally, however, the navigation of the WWW is through other WWW documents; and the URLs of these documents need not be known. Most browsers inform the user of the URL to which a certain link will take them. The WWW is based on the concept of links. The underlying language is powerful and yet extremely simple. Within any WWW HTML document, there can be links to other documents, links to marks within the same document, and links to other resources such as FTP sites, Gopher servers, WAIS servers, news groups, and finally to the fast growing list of experimental services being developed. The WWW relates to existing resources in a simple manner:JJpointers can be easily built into text documents to specify the location of the target. The target can be a text file, an image, a specific location in a text file, a Gopher server, FTP site, or various other types of information. The work of locating and displaying the target information is done within the local application browser. The information is transferred across the Internet and is displayed as per the rules of the local client browser application. All formatting and layout information is constructed locally. For this reason, WWW browsers return different results depending on their sophistication. WWW browsers will also interpret information from FTP and Gopher sites easily. The format of data transfer used in the WWW is called the HTTP. All the WWW servers have to do is honor this communications protocol when information is transferred. The explosive growth of the WWW brings close to realizations the concept of everyone having access to any document, sound recording, or video image on a computer screen. The underlying principle of the WWW is a simple concept:JJthe combination of a HTML and the URL. The HTML file can be created with any standard word processor adding special HTML pointers, markers, and style tags. The encoded information is used by the user's WWW software to interpret the layout and style and to make internal and external hyperlinks. The URL addresses enable the HTML to link to any available resource around the Internet. HTTP/WWW works by making the embedded hyperlinks manifest. These hyperlinks are inserted into the documents using the HTML. The hyperlinks are not seen directly by the user, but the effects are shown in the browsers. Browsers vary depending upon the sophistication and power of the platform, from simple line mode browsers to a full Graphical User Interface (GUI). However, all browsers have a common purpose which is to allow a user to navigate around the WWW from link to link, with as little trouble as possible. The software makes these connections in the background. Textbased browsers show a number next to each hyperlink which can be chosen to activate that link and initiate information transfer. A browser such as Lynx highlights links and allows the user to move to different points on the screen using arrows. Full graphical interface browsers use colors or underlining to show the hyperlinks and mark text. Backtracking to previously accessed locations, going back to a home page starting point, or hot listing (collecting favorite places to return in later sessions), keeping track of places visited in current session, and searching by keyword are some of the features that make using such browsers productive tools. .c1.3.3 Popular Browsers and Servers A closer look is taken into some of the more popular browser and server software available currently. The browsers are mainly divided into two categories:JJtextbased and graphicalbased browser systems. .c2.3.3.1 TextBased Browsers Line Mode Browser This is the most basic program for WWW access. It is a general purpose information retrieval tool that gives WWW readership to anyone with a dumb terminal. Although it may not be as flashy as a window implementation, it covers a wide class of users who still do not have window facilities. It is important to realize that a user is still viewing the exact same document as would a user with full graphical (minus images) interface. There are no cut-down versions for text-based systems. Links are marked by a number in a square bracket; pressing the number on the keypad will initiate the link. The line mode browser will run on a variety of systems including UNIX systems, VMS with any flavor of TCP/IP, VM/CMS, DOS-PC, MVS, and the Macintosh. Lynx Full Screen Browser This is a hypertext browser for vt100 monitors using full screen, arrow keys, and highlighting. It is similar to the Line Mode Browser, but it uses highlighting to mark hypertext rather than numbers. These are navigated through by using the cursor and the arrow keys. Up and down arrow keys move the user back and forth sequentially through the links. The right and left arrow keys allow the user to jump back through links. In a situation where searching is allowed, pressing the forward slash key lets the user search for a text string. DosLynx A text-based browser. PerlWWW A tty-based browser written in perl. VMS WWW A full screen client based on VMS's SMG screen management routines. W3 browse mode for emacs. Uses multiple fonts when used with Lemacs or Epoch. .c2.3.3.2JGraphical WWW Browsers Mosaic Mosaic is to the World Wide Web what X windows was to UNIX . Mosaic was developed by the Software Design Group of the NCSA to interface with the WWW. Initial versions of Mosaic have been developed for X-Windows, Microsoft Windows, and Apple Macintosh. This is freely available, simple to use and has contributed greatly to the explosive use of the WWW. It has a great level of consistency across the different platforms and handles services such as FTP, Usenet, Gopher, and WAIS excellently. The Mosaic project defined the ideal set of features, with the aim of consistency across platforms. Mosaic has the ability to display:JJ % Hypertext and Hypermedia documents. % Electronic text in a variety of forms. % Text in bold and Italic. % Layout elements such as paragraphs, bulleted lists, and quoted paragraphs. The capability to support hypermediaJJaudio, video, graphics, extended character sets, and interactive hot-spot graphics is fundamental to Mosaic. These processes are accomplished using external software that is linked to Mosaic. When a special hypermedia link is initiated, the external software is called, and the file needing to use the application is submitted for execution. Mosaic has the capability to support and make hypermedia links to FTP, Gopher, Telnet, NNTP, and WAIS servers. Mosaic will also keep track of where a user has been, offering a list of visits which enables quick backtracking, useful when a dead end appears at the end of a long line of link traversals. Mosaic allows the user to add sites to hot lists of URLs, perfect for those must visit sites. Mosaic also offers the capability to cache copy of pages the user visits, so during backtracking, downloads are not necessary. Due to its consistency across different platforms, using Mosaic varies very little from one variety to another. It is quite straightforward and intuitive in nature. Shown next is a comprehensive list of available browsers. It is important to note that browsers are available for all the important host platforms available. Mosaic Netscape Mosaic Netscape is the latest browser , developed at Mosaic Communications Corporation . The present release is a Beta version . It is much more sophisticated than NCSA mosaic and is seems to be faster than NCSA mosaic in document retrieval . Mnay features such as the mail to feature and the ability to read and post news that were not present in Mosaic have been incorporated into this version of Netscape . Cello Cello is a multi-purpose MS Windows Internet browser which permits a user to access information from many sources in different types of formats. Cello can access data from the WWW, Gopher, FTP, CSO, X.500 directory servers, WAIS servers, Hytelnet, techInfo, and others through external gateways. Cello can be used with the WWW HTML hypertext markup standard to build local hypertext systems on Local Area Networks (LANs) or on single machines. Cello also permits the post processing of any file to a Windows application through the file manager. Amiga browsers A Mosaic Browser for AmigaOS, based on NCSA's Mosaic. Supports older Amigas as well as the newer machines in the latest versions. NeXT Step browsers OmniWeb A WWW browser for NeXTStep. WWW CERN's NeXT Browser-Editor. A browser/editor for NeXTStep. tk UNIX WWW Browser/Editor for X11 (Beta test version). MidasWWW Browser A UNIX/X browser from Tony Johnson (Betaversion ). Viola for X (Beta) Viola has two versions for UNIX/X:JJone using Motif, one using Xlib (no Motif). Handles HTML+ forms and tables. Chimera UNIX/X Browser using Athena (does not require Motif). Supports forms, in-line images, etc.; closest to Mosaic in feel of the non-Motif X11 browsers. .c1.3.4JJServers Servers are available for UNIX, Macintosh, MS Windows, and VMS systems. UNIX Servers NCSA httpd NCSA has released a server, known as the NCSA httpd. CERN httpd Deveoped at CERN . GN Gopher/HTTP server The GN server is unique in that it can serve both WWW and Gopher clients (in their native modes). This is a good server for those migrating from Gopher to WWW, although it does not have the server-side-script capabilities of the NCSA and CERN servers. Perl server There is also a server written in the Perl scripting language, called Plexus. Macintosh Servers MacHTTP This is a server for the Macintosh family. MS Windows and Windows NT Servers HTTPS (Windows NT) HTTPS is a server for Windows NT systems, both Intel and Alpha-based. NCSA httpd for Windows The NCSA httpd for Windows has most of the features of the UNIX version, including scripts. SerWeb A simple, effective server for Windows. There is also a Windows NT version of SerWeb. WEB4HAM Another Windows-based server. VMS Servers CERN HTTP for VMS A port of the CERN server to VMS. Threaded HTTP Server A native VMS server which uses DECthreads(tm). This is a potentially major performance advantage because VMS has a high overhead for each process. CHAPTER 4 .c.Gateway to the Teradata database computer .c1.4.0 Gateway Gateways are programs which handle information requests and return the appropriate results . We have implemented a Mosaic gateway to the database computer ie Mosaic presents the user interface while the database is the back end . Forms are the mechansim used to obtain user input . The forms contents are interpreted and submitted to the database and the results of the opreation whether it be a query or a submission are carried out and an appropriate error message or success message is displayed accordingly . The mechanism by which this is accomplished is by means of a common gateway interface (CGI) script . The interface was written in the C language with embedded SQL statements to perform the database operation . The gateway was written to acomplish specific operations like a system problem report mechanism , student information database , phone numbers of faculty students etc . With minimal effort the gateway can be customized to perform other tasks as well . .c1.4.1 Teradata DBC/1012 Architectural Overview The DBC/1012 Teradata Data Base Computer is a complete database management system that integrates hardware and software, relieving the attached hosts of the software DBMS burden. The DBC/1012 attaches directly to the high-speed I/O channels of mainframe computers, as well as to minicomputers and intelligent workstations via local area networks. The DBC/1012 employs a unique architecture of multiple processors , software, and direct-access storage devices. The DBC/1012 breaks he central processing unit bottleneck by harnessing the cost-efficient power of multiple microprocessors operating in parallel. Data is spread across a number of processors and disk storage units. This design enables the system to sustain concurrent access to the relational data base from end-user interactive sessions, on-line transaction systems, and high-volume batch jobs. The DBC/1012 relieves the host of its heavy software DBMS burden . When attached to LAN, the DBC/1012 can operate as a data base server in a networking environment. Shareability permits the user to simultaneously access data from a heterogeneous group of hosts. It provides major improvements over conventional software approaches in such areas as price/performance, modularity and data integrity. The architecture provides modularity in disk storage capacity and processing power. As the size of a data base grows, additional processing power may be added. The fully redundant hardware, software, power and data storage (if desired) of the system ensure availability and reliability, providing continuous operation of the system. .c1.4.2 Teradata DBC/1012 Architectural Components The DBC/1012 consists of seven basic subsystems Host System Communications Interface (HSCI) (Software) This software resides in the host computer and enables users to conduct sessions with the DBC/1012. Interface Processor(IFP) IFPs manage channel traffic between a host computer directly connected to the DBC/1012. An IFP translates requests from a host into internal commands, forwards the requests, and coordinates the responses as they return from the multiprocessors. Communications traffic is balanced over the IFPs Communications Processor(COP) COPs perform the same function as IFPs, only for hosts that are connected to the DBC/1012 over a local area network. Ynet (Interprocessor Bus) The Ynet is a bus that interconnects all IFPs, COPs, and AMPs. It performs many of the tasks--in hardware--associated with multiprocessor system management.
Access Module Processor(AMP) AMPs receive requests forwarded over the Ynet by IFPs and COPs, and perform the required data manipulations. Data is distributed evenly across all AMPs. When AMPs are added to a DBC/1012 to increase storage capacity (or performance), the data is automatically redistributed. Disk Storage Unit (DSU) The DSUs serve as the storage medium for the system. Each AMP can support as many as four 500 MB DSUs, for a total of 2 GB of storage capacity per AMP. Systems Console The system console is an IBM-compatible microcomputer that allows the system operator to get reports of the DBC/1012 status, current configuration, and performance.
.c1.4.3 Programming on the Teradata DBC/1012 .c2.4.3.1 Call Level Interface (CLI) The CLI library is an intermediate level interface between the DBC/1012 system and an application program. CLI service routines are link edited with an application program or are dynamically loaded at runtime to: Provide a set of common functions for managing communications with the DBC/1012 database computer. Provide a convenient interface for applications that do not use the COBOL preprocessor. Allow application programs written in languages that accept a call statement (e.g. Assembly Language) to access data on the DBC/1012 database computer. There are essentially three routines for operations related to the call level interface. The first routine, DBCHINI, initializes a data structure called DBCAREA that is shared between the application program and most of the CLI routines. DBCHINI also does internal initialization for the CLI itself. (Before calling DBCHINI, the application must allocate space for the DBCAREA.) The second routine, DBCHL, is used to interact with the Teradata, i.e., to log in, issue a query, do an update, create a table, log off, etc. The third routine , DBCHLN, performs cleanup when the application program is finished. .c2.4.3.2 BTEQ ( Batch Teradata Query facility ) Approach to programming The BTEQ approach to programming involves having the user to execute in batch mode a series of DBC/SQL statements . BTEQ features include % Use of more than one DBC/SQL statement per request % Ability to read data from and write data to files maintained on the host computer % Ability to repeat a request % Flexibility in defining report format features .c1.4.4 DBC/SQL A single language, DBC/SQL, is used for data definition, manipulation, and control. DBC/SQL is compatible with the IBM/SQL. DBC/SQL statements may be used interactively by users or may be embedded into application programs. DBC/SQL can be used for the formulation of basic queries needed for information retrieval from a table, modification of a table and the display of statistical data related to numeric fields in the database. The syntax of DBC/SQL statements is very similar to SQL. Utility Program Control statements, Echo statement and the Using modifier are SQL statements that are not supported in DBC/SQL. Also, several of the options associated with a few of the statements contained in SQL are not supported in DBC/SQL . An example would be the having clause associated with the Select statement.