99
UNIVERSITY OF CINCINNATI _____________ , 20 _____ I,______________________________________________, hereby submit this as part of the requirements for the degree of: ________________________________________________ in: ________________________________________________ It is entitled: ________________________________________________ ________________________________________________ ________________________________________________ ________________________________________________ Approved by: ________________________ ________________________ ________________________ ________________________ ________________________

UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

UNIVERSITY OF CINCINNATI

_____________ , 20 _____

I,______________________________________________,hereby submit this as part of the requirements for thedegree of:

________________________________________________

in:

________________________________________________

It is entitled:

________________________________________________

________________________________________________

________________________________________________

________________________________________________

Approved by:________________________________________________________________________________________________________________________

Page 2: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

DataMart for an Autonomous Guided Vehicle using ColdFusion

A thesis submitted to the

Division of Graduate studies and Research

Of the University of Cincinnati

In partial fulfillment of the

requirements for the degree of

Master of Science

in the Department of Mechanical, Industrial and Nuclear Engineering

Of the College of Engineering

2001

by

Ramya Ravindran

B.E (Mechanical & Production Engineering)

Annamalai University, India, 1998.

Thesis Advisor and Committee Chair: Dr. Ernest L. Hall

Page 3: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

Abstract Internet has by far and wide changed the way information is being processed and used.

The World Wide Web took the world by storm to become the widest known, used and

talked-about technology for faster provision and reception of large volumes of coherently

structured online information. In this age of technology where information and

knowledge transfer is critical for the success and continuous enhancement of any product

it is imperative to keep abreast with technological innovations. One such step towards

technology transfer is achieved by developing a data mart utilizing one of the most

powerful web- to -database middleware application called ColdFusion.

The thesis talks about the application of ColdFusion to create a warehouse of data for the

automated guided vehicle Bearcat III. Since design, development and continuous

enhancement is necessary for building a complex system like the Bearcat III online data

storage and retrieval about various components of the autonomous guided vehicle

becomes imperative. The thesis delves in detail the methodology adapted in the design

and development of the online data mart, which stores information ranging from team

members details, parts, sponsorer information and other critical data that are vital for

knowledge transfer. The data mart will serve as a great reference tool for information

interchange and enhancements on the Bearcat III.

Page 4: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

Acknowledgements

I would like to thank my advisor, Dr.Ernest Hall, without whose guidance and support

this thesis would not have been possible. His suggestions and feedback had greatly

helped me in my thesis and I am really grateful for his help and support.

I would like to thank Dr.Richard L.Shell and Dr.Ronald L.Huston for agreeing to

chair the committee. I would also like to thank them for their suggestions and positive

feedbacks.

I would like to thank the Robotics Team members for all the help and support

they had given me during my graduate period of study at the University Of Cincinnati. I

would like to thank all my friends and well-wishers who had helped me from time to

time.

Last but not the least, I would like to thank my family for their encouragement

and support in all my endeavors. I owe all my success to them.

Page 5: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

1

Table Of Contents

Chapter 1 Introduction 6

1.1 Objective 7

1.2 Organization of Thesis 8

Chapter 2 Bearcat III 9

2.1 Mechanical System 9

2.2 Vision System 10

2.2.1 Line Following 11

2.2.2 Pothole Detection 11

2.3 Power System 12

2.4 Navigation System 12

2.4.1 Sonar 12

2.4.2 Global positioning System 13

2.4.3 Laser Scanner 13

2.5 Safety System 13

2.5.1 Manual Emergency Stop 13

2.5.2 Remote controlled Emergency Stop 14

2.6 Health Monitoring System 14

2.7 Central Logic Controller 14

Page 6: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

2

Chapter 3 Literature Survey 16

3.1 Introduction to Internet Terminologies 16

3.2 Client Server Architecture 20

3.2.1 Two Tier Architecture. 21

3.2.2 Three Tier Architecture 22

3.3 Client side Extensions 23

3.4 Server Side Extensions 24

3.5 Web-Server Interfaces 25

3.6 Markup Languages 27

3.7 Scripting Languages 27

Chapter 4 Database Design 28

4.1 Why we need a database 28

4.2 Steps Involved in database design 28

4.3 Relational Database 29

4.4 Open database Connectivity 30

4.5 Structured Query Language 31

Chapter 5 ColdFusion 32

5.1 Introduction to ColdFusion 32

5.2 ColdFusion Vs other technologies 32

5.2.1 Advantages of ColdFusion 34

5.3 How ColdFusion works 35

Page 7: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

3

5.4 Cold Fusion Server 37

5.4.1 ColdFusion Administrator 38

5.5 Cold Fusion Studio 39

5.6 Components of ColdFusion 40

5.6.1 Database Files 40

5.6.2 ColdFusion Data Source 40

5.6.3 Templates 41

5.6.4 The Query and the output element 42

5.7. Common Tags used in design 43

5.8. Client and Session management 44

5.8.1 Application variables 45

5.8.2 Session Variables 45

5.8.3 Client Variables 46

5.8.4 Cookies 46

Chapter 6 Architecture of datamart 47

6.1 Steps involved in creating datamart 47

6.2 Schematic representation of datamart 49

6.2.1 Major subsystems 50

6.2.2 Team Member Information 51

6.2.3 Sponsor Information 52

6.2.4 PFEMA Analysis 52

6.2.5 Technical Information 54

Page 8: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

4

6.3 Results 55

Chapter 7

7.1 Conclusions and Recommendations. 61

Bibliography 62 Appendix A

Templates Related to ColdFusion Implementation 63

Page 9: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

5

List Of Figures

Chapter 2

2.1 Bearcat III Block Diagram 10

2.2 Vision System 11

Chapter 3

3.1 Basic Components of the Worldwide Web 16

3.2 Client/Server Requests Processing 21

3.3 Two-Tier Architecture 21

3.4 Three-Tier Architecture 22

Chapter 4

4.1 Various phases of Database Design 29

4.2 Open Database Connectivity 31

Chapter 5

5.1 Web-to–database Middleware 35

5.2 ColdFusion Server 37

5.3 ColdFusion Administrator 38

5.4 ColdFusion Studio 39

5.5 Setting up Datasource in ColdFusion 41

5.6 ColdFusion Template 42

Chapter 6

6.1 Steps Involved in creating Datamart 47

6.2 Components of Datamart 49

Page 10: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

6

Chapter 1

Introduction

The Internet has opened a new channel for communication by allowing hundreds of

millions of users to connect with each other, thus making it inevitable for organizations

across the world to use it as a medium to further their profits and provide enhanced public

services. Internet technology facilitates the sharing of heterogeneous information in an

environment that provides multiple benefits at a fraction of the cost. Internet has opened a

communication channel where sharing and information exchange is possible with a

relatively shorter downtime. Since almost all information sharing is based on data

transfer, it becomes necessary to store valuable and current data that can be accessible by

all users at all times. Building a database to store information and facilitate user requests

is one of the key elements for effective information sharing. The application of web

based to tools to empower such an application is crucial for its success.

The UC Center For Robotics is a research group of engineers, which has dedicated itself

for building intelligent autonomous vehicles. The team participates in the Annual

Intelligent ground Robotics competition every year and is continuously working on

adding technical enhancements to the autonomous guide vehicle, Bearcat. So it becomes

important for every member to understand the complexities of every system involved for

the effective functioning of the group. Building a data mart that will provide answers to

questions technical or otherwise is crucial, as it will lead to better communication and

better understanding of the robot. The thesis describes the various steps involved in

applying web-based technology to build a data mart for the autonomous vehicle Bearcat

III using an effective server side tool called ColdFusion. The solution will empower users

Page 11: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

7

current as well as future members to have a better understanding of the various

components and it will serve as an excellent tool for design, analysis and effective

decision-making.

1.1 Objective

Since information interchange is the need of the hour for the successful design and

enhancement of any product it is necessary to maintain a knowledge base that is

informative and current. Since the Bearcat III is being continuously evolved it is

important to ensure that data about critical components are being transferred. To achieve

this a data mart is created .A data mart refers to the collection of data on a particular

subject and is usually implemented to address specific problems confined to the needs of

the specific group of users. The data mart serves as an excellent source of data to provide

supportive decisions and serve as a means of providing accurate and reliable information

to end-users. The thesis describes the various steps involved in the design building and

the deployment of a data mart for the automated guide vehicle Bearcat III. The Data Mart

contains information about the various components of the robot, member information,

vendor information that had been collected in the past. A powerful server side extension

tool called ColdFusion is employed to dynamically support the user request and present

data to the end-user in a browser window. The application is user friendly and is easy to

use and can be used to view data from any computer in the world that supports a browser

such as Internet Explorer or Netscape navigator. ColdFusion achieves this functionality

by employing a markup language called ColdFusion Markup Language (CFML) to

interact with the database and present data dynamically. The CFML tags are embedded in

the HTML page and are executed on the server side. Validation techniques are employed

Page 12: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

8

to ensure that only authenticated users are allowed to access the resources and manipulate

the existing data. The important advantage of using ColdFusion is that it can build

complex web applications with shorter downtime, thus enabling faster deployment of

dynamic sites a reality to even non-programmers. Various steps involved in the design,

storage and retrieval of data are discussed in detail in the following chapters.

1.2 Organization Of Thesis

To facilitate ease of reading the thesis is segmented into chapters. The segmentation is

carried out in such a way that it provides easy understanding. Chapter 2 describes the

various components of the autonomous guide vehicle Bearcat III. Chapter 3 gives a brief

outline of the components that are crucial for the building of web to database application.

Chapter 4 describes the underlying concepts in building a database. Chapter 5 introduces

the basic components, tags and the templates used in ColdFusion. Chapter 6 sketches the

implementation of datamart using ColdFusion. Chapter 7 outlines the recommendations

for future enhancements.

Page 13: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

9

Chapter 2

Bearcat III

Components of Bearcat III

The purpose of this chapter is to explore the various functional components that make up

Bearcat III. The automated guided vehicle is an integration of numerous functional

subsystems controlled by means of a high-level central computer that enables the vehicle

to function as an intelligent machine. Each sub-system is designed to meet or assist with

a specific contest requirement.

• Mechanical system.

• Vision system.

• Power system.

• Navigation system.

• Safety system

• Health Monitoring System

• Central Logic Controller

2.1 Mechanical system

The Bearcat III is an outdoor vehicle designed to carry a payload of 100 pounds. The

vehicle navigates using two 36 volts 15 amperes motors. Two separate gearboxes are

used to individually power the wheels. Worm gears with a ratio of 40:1 are used to

transmit power to the wheels through a mechanical coupling. This enables a zero turning

radius by rotating one wheel in the forward direction and the other in the reverse

direction. This unique design offers the ability to make a turn about the center of axis of

Page 14: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

10

the drive wheels, thereby providing the vehicle exceptional maneuverability. The zero

turning radius is achieved by using a rear castor wheel. The power to each motor is

delivered from an AMC DC 48A amplifier that amplifies the signal from the Galil DMC

Motion Controller.

Figure 2.1 Bearcat III System Block Diagram

2.2 Vision System

Bearcat III Control Logic

Serial RS 232 Ports

Pentium Processor

Pentium based CPU

Serial I/O RS 422

Remote E- Stop

ISCAN I/O

Galil DMC

EPIX PCI

Serial I/O RS 232

Serial I/O RS 232

Serial I/O RS 232

Rotating Sonar

Motorola GPS

Digital voltmeter

Futaba E-Stop

ISCAN Tracker

Laser Scanner

GALIL DMC

FSR Video

Left Motor

Right Motor

Pothole Camera

Left camera

Right Camera

OMNI Camera Ethernet

Page 15: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

11

The vision system is a critical component that assists the vehicle following a line, and

avoiding potholes that it might encounter on its course. The vehicle has three cameras,

two of which are used for line following and the third is used for pothole detection.

Figure 2.2 Vision System

2.2.1 Line Following

The course that the robot follows is bounded using solid or dashed white lines. The

vehicle uses two JVC CCD cameras to digitize the vision system from a 3-D coordinate

system to a 2-D coordinate system. Point or line tracking is achieved through the two

digital CCD cameras. At any instant, only one camera is used. In case if the track is lost

from one camera, the vision is switched to the other camera. This is accomplished using a

video switch. The Iscan tracking device does image processing. A CCSU-8BW video

switch from FSR, Inc., alternates between the two cameras depending upon the visibility

of the marker.

2.2.2 Pothole Detection

For the autonomous challenge event, the vehicle should be capable of detecting and

avoiding simulated potholes represented by two feet diameter white circles randomly

positioned along the course[1]. The reaction distance of the vehicle is twelve feet. A

Page 16: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

12

monochrome Panasonic CCD camera is used to capture the course ahead of the robot.

The data from the camera is passed to a PIXCI SV4 imaging board, manufactured by

Epix, Inc., The control software for the imaging board processes the formatted data. This

software makes extensive use of the XCOBJ/PXIPL Image Processing libraries provided

by EPIX to detect the presence of a simulated pothole and determine the location of the

centroid of the pothole. The line following, obstacle avoidance and pothole detection

systems are fused to permit the robot to follow a path around the pothole.

2.3 Power System

The Bearcat’s electrical system consists of a DC battery power system that supports an

AC power system through an inverter. Three 12-Volt DC supplies the main power, 130

Amp hours, deep-cycle marine batteries connected in series, which provide 4680 Amp

hours. A 36-Volt, DC input 600-Watt inverter provides 60 Hz pure sine wave output at

115 Volts AC. The inverter supplies AC electrical power for all AC systems including

the main computer, cameras, and auxiliary regulated DC power supplies. The DC system

provides 36 volts unregulated DC electrical power to the motors at a maximum of 10

Amps.

2.4 Navigation system

Three components that assist in navigating the robot on its trajectory are:

• Sonar system.

• GPS.

• Laser Scanner.

2.4.1 Sonar system

Page 17: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

13

The objective of this subsystem is to provide reliable measurements in terms of the

distance of the vehicle from the obstacle, and the angle to the obstacle. The Sonar

transmits sound waves towards the target and detects an echo, and measures the time that

elapses between the start of the transmit pulse and the reception of the echo pulse. It uses

a Polaroid ultrasound ranging kit and RS 232 interface card.

2.4.2 Global Positioning system

The solution is then sent through an RS 232 serial link. For the navigation contest, a fixed

base point is set as the home position. Then the GPS is used to get the original position in

MAS. Then tracking is used to move from one point to the next, updating the new “base”

with every pass.

2.4.3 Laser Scanner

The laser scanner would be used for avoiding any obstacles that the vehicle might

encounter while navigating the course. The scanner data is used to get the information

about the profile shape and size of the obstacle. It is mounted at a height of 8 inches

above the ground to facilitate the detection of short as well as tall objects. The central

controller performs the logic for obstacle avoidance and the interface between the line

following and the motion control program.

2.5 Safety System

2.5.1 Manual Emergency Stop

The manual emergency stop unit consists of a red manual push button located on the

easily accessible rear surface of the vehicle. When pressed, the power to the motors is

cut off and the self-locking mechanism of the gearbox brings the vehicle to a rapid halt.

The self-locking mechanism ensures that the vehicle does not move when it is not

Page 18: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

14

powered, and serves as a safety measure against any undesirable motion such as rolling

when parked on a slope. Disconnect switches also permit disconnecting all power for a

final safety measure.

2.5.2 Remote Controlled Emergency Stop

The mobile robot must be de-activated by a remote unit from a distance of no less than 50

feet in compliance with the rules for this contest. The remote controlled emergency stop

consists of a Futaba transmitter, a receiver, an amplifier and a relay. The advantage of

using this is that the transmitter need not be in line with the sight of the receiver. The

Futaba transmitter uses a 6V DC and transmits FM signals at 72.470 MHz over a range of

65 feet. This amplified current activates the contacts of the relay that in turn activates the

emergency stop solenoid and cuts power to the motors.

2.6 Health Monitoring Systems

The Bearcat III is equipped with a self-health monitoring system. A RS 232 serial port is

used to take input from a digital multi meter, which continuously checks the voltage of

the batteries. An audible alarm is sounded when the voltage is less than a threshold to

inform the operator to shut down the system and change batteries. Several other meters

and LED displays are included to assist in operation. A fault diagnosis system is available

on-line for anticipated problems.

2.7 Central Logic Controller

The various systems are integrated by means of a central logic controller. The control

logic is custom developed software written in C++. The data from the vision system (the

line following data) and the obstacle avoidance system (sonar, laser scanner and pothole

detection camera) are used to make decisions to control the velocity and the orientation of

Page 19: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

15

the wheels with reference to the direction of the line being followed. The various sub

systems are integrated to make decisions about the speed and steering angle of the

vehicle, and switching between the left and the right cameras. The central logic controller

is extremely important for making intelligent decisions to guide the Bearcat III in the

intended direction.

Page 20: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

16

Chapter 3

Literature survey

3.1 Introduction to Internet Terminologies

A user-friendly web interface is important for effective data sharing. As database friendly

web interfaces are necessary for presenting data successfully to end-users, it is necessary

to understand the underlying concepts of Internet technology. The various terms are

explained in detail below.

Internet

Worldwide network of computers connected together through a standard network

protocol known as transmission Control protocol or TCP/IP [2].

Web BrowserServer

Computer

HTMLDocuments

TCP/IP

Web Pages

Internet

Figure 3.1 Basic Components of the World Wide Web

Page 21: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

17

Advantages of Internet

Internet Characteristics Benefit

Hardware and Software Independence

• Savings in equipment/software

acquisition. • Runs on most existing environment. • No need for multiple platform

development.

Location Independence

• Global access through Internet infrastructure.

• Reduced costs for dedicated connections.

Common and simple user interface

• Reduced training costs and times. • Reduced costs on end user support. • No need for multiple platform

development.

Rapid development at manageable costs

• Multiple development tools available • Plug and Play development tools • Development is more interactive • Reduced development times • Tools are relatively inexpensive • Free client access tools (Web

Browser) • Low entry costs-Free web servers

available. • Reduces costs of maintaining private

networks. • Distributed processing using multiple

servers.

World Wide Web (WWW)

It is a worldwide network of computers that store collections of specially formatted files

known as web pages. The web is just one of many services provided by the Internet.

Page 22: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

18

Web Browser

The end user application used to browse or navigate through the Internet. The browser is

a graphical application that runs on the client computer and its main function is to display

web pages. The web browser (e.g., Netscape Navigator, Internet Explorer) requests Web

pages from a web server.

Web Page

A text document containing labels of special commands written in Hypertext Markup

language.

Web pages can be classified into two

q Static Web Pages

q Dynamic Web Pages

Static Web pages

Static web page content is determined at the time of writing the document. As implied

above, every request for a static page gives the same response. Static Web pages are

simple and easy to create. They can be viewed quickly and can be stored as local copies,

on the client’s computer, for quicker access in the future. Problem with static web pages

is the lack of adaptability. If a static page needs to be changed, someone has to manually

change the code on each revision. This can take up lots of time if the validity of the

information in the file expires frequently 6.

Dynamic web pages

Dynamic web pages changes appearance depending upon what information is stored in

the database. Rather than writing an HTML page, instructions on how to make the page

Page 23: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

19

are written. The server then creates the actual HTML and presents the data in a readable

form. This technique allows the development of incredibly rich content on the Internet.

Dynamic web pages do not require any extra processing on the client's machine as

against static pages, so they are generally faster.

Web site

It is a term used to refer to the web server and the collection of web pages stored on the

local hard disk of the server computer on an accessible shared directory. The web server

and the web client communicate using a special protocol known as Hypertext Transfer

Protocol.

Hypertext Transfer Protocol

The standard protocol [2] used by the Web Browser and the Web server to communicate

i.e. to send requests and replies between servers and browsers.

Extranet

Extranets are networks that spread across two or more companies and they facilitate

business communications across diverse business units. Although security and bandwidth

are the typical problems that are faced in facilitating business-to-business transactions

over the web, companies have to benefit in terms of excellent supplier-vendor relations

and thus lower product costs and increase profits. Extranets facilitate communication,

coordination and collaboration among employees and teams, and even with business

partners, regardless of their physical locations.

Intranet

Intranet can be defined as an internal network [2] that is not usually available to Web

users. Intranets are used within businesses for employee tasks such as information

Page 24: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

20

sharing, maintaining the company database and collection and distribution of vital

information that can be used in information processing at all levels of an organization.

Since intranet needs to be restricted from public access, they normally reside behind a

corporate firewall. A firewall is usually software or a hardware component that limits and

controls the data traffic into the company database. The intranet has several advantages as

given below.

1. Intranet is relatively simple and easy to setup and implement.

2. Intranet can run on a set of protocols and services that are available on many

platforms ranging from windows to Unix to IBM Mainframe operating systems.

3. Intranet architecture allows the distribution of services among different computers

and support multiple data sources and types.

4. Shorter development times, ease of use and reduced costs also make it a good

reason to use intranets.

3.2 Client/Server Architecture

Web Server

A specialized application whose only function is to listen for Clients requests and to send

the requested web pages.

Clients

Clients are PCs or workstations on which users run applications. Clients rely on servers

for resources, such as files, devices, and even processing power.

Page 25: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

21

Services

File

Print

Communication

FAXMultimedia

Server Process

Requests and repliestravel through the

Network

NetworkClient requestsservices fromdifferent server

processes

Client Process

Figure 3.2 Client/Server Request Processing

Depending upon the type of services the client server architecture can be classified into

two namely:

i. Two –Tier Architecture

ii. Three- Tier Architecture

3.2.1 Two-Tier Architecture

App l i ca t i onL o g i c

App l i ca t i onL o g i c

Cl ien t Se rve r

T I E R 1 T I E R 2

User I n te r face

Figure3.3 Two Tier Architecture

Page 26: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

22

In a two-tier architecture, a client requests services directly from the server. The user

interface and the application logic reside on the client machine and the data resides on the

server. It is typically used in environments where there are only a few users. The client in

this model is usually called fat client because it carries a large proportion of the

processing load. The server in a two-tier is called thin server because it handles only

lesser processing load.

The major disadvantages of two-tier architecture are as follows

• It is very difficult to maintain database security.

• Modular application programming is not possible thus making it difficult to

maintain and debug application code.

• The application is exposed to hacking and other security threats.

• It ties the application to one type of presentation thus making it impossible to

reuse the implementation with a different type of presentation.

3.2.2 Three-Tier Architecture

Middleware

API Protocol

Oracle LDAP FTPWeb

Server

ProtocolAPI

FTP ClientDatabase

ClientWeb

BrowserNFS Client

Client dependentInterface/API

Server dependent API/Interface

Servers

Client

Figure 3.4 Three-Tier Architecture

Page 27: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

23

The Three-Tier architecture is basically an extension of the client server architecture in

which an intermediate server handles requests. The three-tier architecture has the

configuration as shown in figure 3.4. In the three-tier architecture the business logic and

the database reside on the server whereas the user interface resides on the client side. The

prime advantage of three-tier architecture is that a middleware layer is introduced in

between the client and server. This separates the business logic and user interface. All the

database processing is done at the server site thus reducing the network traffic. The client

in this case is called thin client and the server is called fat server.

3.3 Client Side Extensions

Client side extensions [2] add functionality to the browser. Although client side extensions

are available in various form, they are most commonly encountered are:

§ Plug-ins

§ Java and JavaScript

§ ActiveX and VB script

A Plug-in is an external application that is automatically invoked by the browser when

needed. Because it is an external application, the plug-in is operating systems specific.

The plug-in is associated with a data object generally using the file extension to allow the

web server to handle data properly that is not originally supported. For example, if one of

the page components contains a .pdf document, the web server will recognize it as a

portable document object and it will launch the adobe acrobat reader to present and

manipulate the data in the client computer.

Java is the object oriented programming language developed by Sun Microsystems that

runs on top of the web browser software. Java application are compiled and stored in the

Page 28: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

24

web server. Calls to java routines are embedded inside the HTML page. When the

browser finds this call, it will download the java code from the web server and it will run

in the client computer.

JavaScript developed by Netscape is a scripting language that allows web authors to

design interactive sites. Because JavaScript is much simpler to generate than Java, it is

easier to learn. JavaScript code is embedded in the web pages. The embedded script is

downloaded with the web page and is activated when a specific event takes place.

ActiveX is Microsoft’s alternative to Java. ActiveX is a specification for writing

programs that will run inside the Microsoft’s client browser i.e. Internet explorer.

Because ActiveX is oriented mainly to Windows applications, it has low portability.

ActiveX are most commonly created in Visual Basic and C++.

VBScript is another Microsoft product that is used to extend the browsers functionality.

VBScript is derived from Microsoft Visual Basic. VBScript code is embedded inside an

HTML page and triggering events such as, clicking a link activates this code. The use of

routines permit data validation on the client side is absolutely necessary. For example,

when data is entered on a web form and no form data validation is done on the client side,

the entire data must be sent to the web server. This scenario requires the server to

perform all data validations thus wasting valuable CPU processing cycles. Therefore the

client data validation is one of the basic requirements for developing web applications.

3.4 Server-Side Extensions

The web server is the main hub through which all intranet services are accessed. For

example, when an end user dynamically queries a database, the client browser actually

requests a web page. When the web server receives the page request, it looks for the page

Page 29: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

25

on the hard disk and when it finds the page, it will send it back to the client. The problem

encountered with the preceding scenario is that neither the browser nor the server knows

how to connect to and read the data from the database. Therefore to support this type of

request, the web server’s capability must be extended so that it can understand and

process database requests. This job is done through server-side extensions [2].

ColdFusion [3] is one of the most powerful database server side extensions that can

support database requests within a web page environment. The server side extension

program retrieves data from the database and passes the retrieved data to the web server,

which in turn will send it to the client browser for display purposes. Quite aside from the

fact that the server side extension makes it possible to retrieve and present the query

results, it provides its services to the web server in a way that is transparent to the client

browser. In short, the server extensions add significant functionality to the web server

and therefore to the Intranet.

3.5 Web Server Interfaces

If a web server has to successfully communicate with an external program, both the

programs must use standard way of exchanging messages and responding to requests. A

web server interface defines how a web server communicates with external programs.

There are two well-defined Web server interfaces:

• Common Gateway Interface

• Application Programming Interface

The Common Gateway Interface (CGI) uses script files which is usually a small program

containing commands written in some programming language usually PERL, C++, or

visual Basic, that perform specific functions based on the clients parameters that are

Page 30: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

26

passed to the web server. The script files contents can be used to connect to the database

and to retrieve data from it using the parameters passed by the web server. The main

disadvantage of using CGI is that for every request the script file has to be executed for

each users request. Such a scenario decreases the system performance.

Application Programming Interface (API) are a newer web server interface standard that

is much more efficient than CGI scripts. APIs are more efficient because they are

implemented as shared code or Dynamic linked libraries (DLL’s). This means that API is

treated as part of the web server program and is dynamically invoked whenever needed.

The other advantage is that, API can use a shared connection to the database instead of

creating a new one every time, as in case with CGI scripts. However, API has its own

disadvantages. Since it shares the same memory space as the server, API errors can bring

down the server. The other disadvantage is that APIs are specific to the web Server and

the operating system. The three well established web server APIs are

v Netscape API (NSAPI) for Netscape Servers

v Internet Server API (ISAPI) for Microsoft Windows NT web Servers

v Website API (WSAPI) for O’Reilly Website Servers

Regardless of the type of the type of web server interface used, the web-to-database

middleware program has to connect with the database. The database connection can be

accomplished in one of the following two ways.

v Use native SQL access middleware like SQL*Net for Oracle.

v Use ODBC for connecting to databases.

Page 31: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

27

3.6 Markup Languages

Markup languages are used to format text and to add special information and actions to a

document, such as images or highlighting. They're called markup languages because

special instructions are added to a text file and the original text is "marked up." HTML is

the markup language used to create Web pages. The browser acts as an interpreter for the

HTML code embedded in the document and it can be viewed by using a standard browser

such as Internet Explorer or Netscape Navigator.

3.7 Scripting languages

A script is a simple, unsophisticated program. Scripting languages are different from

markup languages, because in case of markup languages the instructions are embedded in

a document whereas in the case of scripts the instructions are stand-alone. Essentially,

scripting languages are used to provide a list of instructions for the computer to follow.

The following scripting languages are most commonly used on web servers:

• ASP

• Perl

• CGI

Page 32: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

28

Chapter 4

Database Design

Database

A database is a self-describing collection of related data. The structure of the database is

stored within the database system and the responsibility of integrating the data is assumed

by the DBMS instead of the programmer. So a database is superior to a file system.

4.1 Why we need a database

Data constitute the building blocks of information. Good, relevant and timely information

is the key to good decision-making [7]. Since a good database is a good information

generator, a systematic approach to database design is very important for the building of

any database application. In any practical application, a database that can provide

interactive and organized data is necessary for effective communication and knowledge

transfer.

4.2 Steps involved in Database Design

Design of databases is implemented by utilizing models. Models are simplified

abstractions of the real world events or conditions. First step in the design of any database

is to capture the requirements that are deemed necessary. The requirements can be

captured using two techniques, namely Critical Success Factor analysis or by Decision

Analysis. Once the requirements are captured, the next step is to construct the entity

relationship diagram. An entity is a conceptual representation of real world objects. Once

the entities are captured, normalized tables are obtained from the Entity Relationship

Diagram. This step is called as logical design or conceptual data model mapping. Final

Page 33: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

29

phase in the design process is to populate the tables with values. The various steps

involved in the design process are outlined in figure 4.1.

Requ i remen tC o l lect ion and

Ana lys is

Concep tua l Des ign

Log ica l Des ign(Da ta Mode l

Mapp ing )

Phys ica l Des ign

Appl ica t ionProg ram Des ign

Transac t ionImp lemen ta t i on

D B M S I n d e p e n d e n t

DBMS Spec i f i c

Da tabaseRequ i remen ts

C o n c e p t u a l S c h e m a( In a h igh leve l data

mode l )

Log i ca l Schema

In te rna l Schema(Fo r t he same

D B M S )

App l i ca t ion Programs

Funct iona lRequ i remen ts

H igh Leve l T ransac t ionSpec i f ica t ion

Funct iona lAna lys is

M in iwor ld

Figure 4.1 Various Phases of Database Design

4.3 Relational Databases

The relational database model was devised by E.F.Codd [7] and is based on the branch of

mathematics called set theory. The relational stores data in the form of tables. The tables

are otherwise known as relations. Each table is a matrix, consisting of series of rows and

columns. The rows from a relational table are analogous to a record, and the columns to a

Page 34: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

30

field. The main advantage of this model is structural independence i.e. ability to make

changes in the database structure without affecting the DBMS’s ability to access the data.

MS Access, Oracle and DB2 are some examples for relational databases.

Advantages of Relational Databases

The relational database model has several important advantages as given below.

i. Improved conceptual simplicity.

ii. Easier database design, implementation, management and use.

iii. Ad hoc query capability.

iv. Changes to database schema are easier to make.

v. It is self-documenting.

4.4 Open Database Connectivity

One of the typical requests in an application environment is a database search. To search

efficiently any web to database middleware needs to have the database ready for access

when requests come in. If each time the program receives a request it has to open the

database file, search the records and then close the file, it would be inefficient and would

be unable to handle multiple requests pouring in simultaneously. Open database

connectivity source [4] establishes a data pipeline in and out of the database, making it

readily accessible. When ODBC is installed in the system a set of drivers that are

compatible with a variety of common database applications are automatically installed. A

driver is software that enables the system software to communicate with hardware or

other software. The operating system communicates with the various hardware and

software by way of drivers. ODBC allows any windows application to access data

Page 35: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

31

sources that are in relational database systems, using standard SQL (Structured Query

Language).

WINDOWS ApplicationWord,Excel,Access

Other WindowsServices

Memorymanagement

PrinterSpooling

OracleDriver

MS SQLDriver

Common Databaseaccess service is done

through ODBCWindows

application hasaccess to multiple

services

Database Vendors provide ODBC driversso windows applications can access their

respective databases

ODBC

Figure 4.2 Open Database Connectivity.

4.5 Structured Query Language

Structured query language is a universal set of commands that programs such as

ColdFusion use to communicate with a database. SQL allows users to access data in

relational database management systems, such as Oracle, Sybase, Informix, Microsoft

SQL Server, and Access, by allowing users to describe the data, which the user wishes to

see. SQL also allows users to define data in a database, and manipulate that data. SQL

statements are also used to perform tasks such as updating data in a database, or retrieve

data from a database. SQL statements are in short the industry standard for relational

database management and for creating, defining and managing databases.

Page 36: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

32

Chapter 5

ColdFusion 5.1 Introduction To ColdFusion

ColdFusion was developed by Allaire Corporation [3]. ColdFusion is an application web-

to-database middleware that expands the functionality of web servers by linking them to

a wide range of services such as databases, directory systems, search engines and so on.

Some of the typical uses of ColdFusion are

§ Connect to and query a database from a web page.

§ Present database data in a web page, using various formats

§ Create dynamic web search pages

§ Create pages to insert, update and delete database data.

§ Define required and optional relationships and form fields.

§ Use simple and nested queries to represent business rules.

5.2 Cold Fusion Vs Other Technologies

• One of the principle advantages of ColdFusion over ASP technology is the ability

to create powerful Web applications without core programming skills. By

comparison, ASP technology requires a proficiency in Visual Basic and VBScript.

• Another benefit is the ability to run ColdFusion on multiple platforms.

ColdFusion will operate on Microsoft’s Windows NT or Windows 2000 operating

systems (running IIS), Solaris, HP-UX, and Linux. Of course some OS-specific

exceptions exist, such as case sensitivity on UNIX.

Page 37: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

33

• Ease of use sways most developers to choose ColdFusion over ASP. Functions

such as server clustering support, site administration services, email and security

that must be programmed in ASP/IIS are available out of the box in ColdFusion,

making fast deployment of dynamic sites a reality even for non- programmers.

• In addition to many powerful wizards, ColdFusion offers ColdFusion Markup

Language (CFML), which looks similar to HTML and works with the application

server like ASP. CFML enables HTML-ists to quickly and easily build complex

sites. ColdFusion’s development time is about half that of ASP applications, a

huge advantage when site deployment speed translates into hard cash.

• ColdFusion’s static (multi-session) state management, broadly customizable error

handling and true XML integration give it an edge over ASP functionality. Other

attractive features of the package include database connectivity through COM,

OLE DB, ODBC and native drivers; dynamic load balancing across servers and

cross-platform compatibility with Windows NT, HP-UX and Linux as well as

support for any CGI-compliant server and external server support.

• ColdFusion offers more than enough power, performance and flexibility for

robust and complex site development and is especially recommended for faster

site deployment, cross-platform scalability and rapid sophisticated, innovative and

dynamic application development.

• Primarily because of its scalability and reliability, ColdFusion is well suited for

developing large e-commerce sites with mission-critical applications and site

availability. The Linux/Apache combination offers more than enough scalability

Page 38: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

34

to serve even heavy-duty business-to-business e-commerce applications, server

farms and virtual private networks (VPNs).

5.2.1 Advantages of ColdFusion

Issues Advantages

User Security User Security allows us to control the resource types on a user-by-user basis. It is possible to allow only one user to see the description of an item, whereas a privileged

user can see the full text of an item. ColdFusion provides authentication tags and functions that make it

possible to programmatically determine the authentication status and the authority of each user.

Business Security One of the most powerful features of the ColdFusion Security Framework is the capability to secure individual sections of code at runtime. This control is in the hands

of the programmer, allowing complex security to be implemented with significantly less development time

than a customized security scheme. ColdFusion relies on the developer to mark sections of code to be secured.

This increases the efficiency of the application by minimizing the security overhead.

E-Commerce Cold Fusion is e-commerce ready. It has lots of built in tools that make it possible to build sites offering secure

online transactions. Real time web Presentation ColdFusion can directly interact with active databases.

This means that any changes in the database is immediately reflected in the web site thus making it

possible to generate dynamic web pages and informative data.

Interfacing with intranets ColdFusion is ideal for facilitating intranet communications and its database functions work

effectively on the intranets also.

Page 39: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

35

5.3 How ColdFusion works

TCP/IPNetwork

Web Server

Web-to-database

Middleware

RDBMS Server

Server Computer

RDBMSComputer

Web Browser

HTTPpage

request

WebServer

ReceivesRequest

ScriptPage

HTMLPage

Database Serverpasses the query

results to theweb-to-database

middleware

Web-to-databasemiddleware connectsto the database and

passes the query

Web server sends the HTMLFormatted

Page to the ClientWeb-to-database

middlewarepasses the queryresults in HTMLformat back tothe web server

Web Server determines the page that contains script

language and passes the scriptpage to

web-to-database middleware

Figure 5.1 web-to-database middleware

Page 40: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

36

The figure 5.1 shows the interaction between the browser, the web server and the web-to-

database middleware. The client browser sends a page request to the web server. The web

server receives the request and validates it. In this case, the server will pass the request to

the web-to-database middleware for processing. The scripts in the requested page enable

database interaction. The web-to-database middleware reads the script, validates it and

executes it. It connects to the database, queries the database and dynamically generates an

HTML formatted page that includes the data retrieved from the database and sends it to

the web server. The web server returns the just created HTML page, which now includes

the query result to the client browser for display.

Clearly, the interaction between the web server and the web-to-database is crucial

for the development of a successful intranet database implementation. Therefore the

middleware must be well integrated with the other intranet services and the components

that are involved in its use. In addition how well the web server and the web-to- database

services interact will depend on the web server interfaces supported by the web server. In

the client/server relationship, ColdFusion resides on the server computer, running in

conjunction with the web server software. It waits for the client request and upon

reception it momentarily seizes control on the web server, processes the request and

sends it back to the client. In order to interact with the database ColdFusion uses a

powerful scripting language called ColdFusion Markup language [4]. The Cold Fusion

Markup language abbreviated, as CFML is similar to HTML tags except that they are

recognized only by ColdFusion server and require ColdFusion application server running

concurrently with the web server to handle database requests and to provide other support

functions.

Page 41: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

37

5.4 ColdFusion Server

The ColdFusion Server [4] usually works in conjunction with the web server and it serves

as an excellent web-to-database gateway. The ColdFusion Server comes into play when

the browser program requests a .cfm file instead of the standard .html documents which

the web browser usually works with. As a gateway program, ColdFusion serves as an

active link between the web server and the database. The following figure shows the flow

of data from a browser request to output.

WebServer

Internetor

Intranet

HTTP Request

Client Network Server

Database Server

File System

Email Server

Distributed Objects

Other enterprisesystemsColdFusion Server

Web Browser

CF Page

Web Page

Web Page

Figure 5.2 ColdFusion Server

The ColdFusion Server comes in three varieties viz.,

i. Professional Edition

ii. Enterprise Edition

iii. ColdFusion Express

Page 42: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

38

The various editions differ in their functionality and support features. All versions are

compatible with Windows NT or greater. The enterprise edition is used for developing

ColdFusion application of the Bearcat III.

5.4.1 ColdFusion Administrator

The ColdFusion administrator is the web interface for the program configuration utility.

The ColdFusion administrator provides various options to fine-tune performance of the

server, datasources, extensions, logging options, automated tasks and extension options].

ColdFusion administrator provides the web interface to easily manage and maintain the

web server and it also helps in basic security and password setup [4].

Figure 5.3 ColdFusion Administrator

Page 43: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

39

5.5 ColdFusion Studio

ColdFusion Studio is a companion product to ColdFusion Server.ColdFusion studio is a

semi-graphic interface that enables developers to work with HTML and CFM files as text

pages, but includes graphic shortcuts that aid in the coding process. ColdFusion is strictly

a windows application and is compatible only with Windows 95/98 and Windows NT

platforms. ColdFusion Studio has a lot of components like frames, tables, tag validation

tools etc to build interactive web graphic interface in a short span of time.

Resourcearea

Main ToolBarEditing Tools

Tag Tolols Edit Window

Figure 5.4 ColdFusion Studio

Page 44: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

40

5.6 Components of ColdFusion

The various components [4] of ColdFusion are as follows.

o Database files

o ColdFusion data source

o The template

o Query and output elements

5.6.1 Database Files

The main elements in any database files are tables ColdFusion supports the following

database files on various platforms.

5.6.2 ColdFusion Data source

After a database is created it is necessary to create a link between the database and the

web. This link is achieved by using ODBC or open database connectivity. By

establishing a link it is possible to create a pipeline in and out of the database. The name

of the datasource and the driver that is required to drive the database is defined in the

ColdFusion Administrator. The Administrator automatically sets up the connection with

the database and makes the data available for querying.

Windows

Platform

Microsoft SQL Server, Microsoft Access, Microsoft FoxPro,

Oracle, Borland dBase

Solaris DB2, dBase, Informix, Ingress, Sybase SQL Server, Oracle

Page 45: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

41

Figure 5.5 Setting up data source in ColdFusion

5.6.3 Templates

ColdFusion templates determine the layout and the content of what the user actually sees

in the browser when a ColdFusion page is viewed. Templates have the .cfm extension

rather than the .html extension. Templates can be created editors such as notepad or vi or

it can be constructed using ColdFusion Studio. A sample template is as shown in the

figure 5.6. The template has HTML tags [6], which are interspersed with ColdFusion tags.

A template is recognized by the .cfm extension and when the ColdFusion tags are

encountered the ColdFusion Server takes over and processes the tags and sends the

output in a standard HTML format, which can be viewed in the browser.

Page 46: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

42

<CFQUERY NAME = "get_data" DATASOURCE = "XYZ">Select * from data</CFQUERY><HTML><HEAD> <TITLE>Welcome to this Page</TITLE></HEAD>

<BODY BGCOLOR = "#FFFFFF"><H1> This page displays some data</H1>

<CFOUTPUT QUERY = "get_data"><P> Name : #Name#<P> Page : #Page#<P>No_Of_Hits: #Hits#</CFOUTPUT>

</BODY></HTML>

Figure5.6 ColdFusion Template

5.6.4 The Query and the Output Element

The query element (<CFQUERY >) is nothing but a set of instructions that is sent to the

database. The query is a simple way of performing a simple search of records. Queries

instruct ColdFusion about which datasource is to be used, and what function is to be

performed on the table’s data.

The output element lies between the <CFOUTPUT> tags. It is similar to that of HTML

tags but it contains variables enclosed within hash marks like “#Variable_name#”. A

variable is a symbol or a name that stand for values returned by ColdFusion query. The

hash marks are used to indicate that the texts within the hash marks are variables. The

Page 47: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

43

output element determines the way in which the output is displayed to the user. The

output element is executed for every record that is returned by the CFQUERY tag. The

tags are synonymous to input and output statements in a programming language

environment.

5.7 Common Tags Used In ColdFusion

< CFIF >, < CFELSE >, < CFSWITCH >

Controls application-processing flow with conditional logic.

< CFSET >

Declares a variable and its values.

< CFOUTPUT >

Determines which data is displayed on the page, and how it will be

presented.

< CFQUERY >

Passes SQL (Sequential Query Language) to open database sources, and

returns a result for processing, usually through use of the <CFOUTPUT>

tag.

< CFMAIL >

Allows ColdFusion applications to generate messages to an SMTP server

for distribution.

< CFTABLE >, < CFCOL >

Creates either HTML or preformatted text tables.

Page 48: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

44

<CFAPPLICATION>

Defines application name and activates client variables.

<CFFILE>

Performs typical file handling tasks within the ColdFusion Application.

<CFFORM>

Builds an input form and performs client-side input validation.

<CFINCLUDE>

Embeds references to ColdFusion Pages

<CFINSERT>

Inserts records in an ODDBC datasource.

<CFUPDATE>

Updates rows in a database datasource

5.8 Client and Session Management

As a user moves from one page to another in an application environment, it is highly

possible that the variable values that the user processes do not get passed on to the

consecutive pages. Variable values are specific to a page on which they are displayed and

the HTTP protocol that drives the web does not provide any way to save these values.

This is called Internet statelessness. In order to have an interactive web interface,

ColdFusion overcomes statelessness by using four variables that are given below

• Application Variables

• Session Variables

• Client Variables

• Cookies

Page 49: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

45

5.8.1 Application Variables

The application variables reside in the application.cfm file. The application.cfm

file is a special template file [4] that resides along with the other application

templates and folders. The application.cfm files defines a set of parameters to be

used throughout the entire application including the following

i. Name of the application

ii. Default variable values

iii. Custom Error pages

iv. Data Sources

v. Default Style settings

vi. Security Settings

By creating an application.cfm file it is possible to define a set of values that can be used

by any template that resides in the same folder as the application.cfm file. For example, if

all the templates in a particular folder use the same datasource, it can be defined in the

application.cfm file so that if the datasource changes later, then the datasource name has

to be changed only once rather than in every template. The application.cfm file is active

for the entire application and it expires only when the user closes the application or when

the server is restarted. The application variables can be defined in the ColdFusion

Administrator.

5.8.2 Session Variables

Page 50: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

46

Session variables are active as long as the user session is active. When a user leaves the

web site the session variables no longer retain the values. They may be set to expire after

a certain time. Session variable are enabled by setting the SESSIONMANAGEMENT =

“yes” in the application.cfm file

5.8.3 Client variables

Client variables are used when it is necessary to store values that are specific to a client

such as user preferences. They remain active every time the client visits the site. Client

variables are enabled by setting CLIENTMANAGEMENT = “yes” in application.cfm

file.

5.8.4 Cookies

A server, when returning an HTTP object to a client, may also send a piece of state

information, which the client will store. Included in that state object is a description of

the range of URLs for which that state is valid. Any future HTTP requests made by the

client, which fall in that range will include a transmittal of the current value of the state

object from the client, back to the server. The state object is called a cookie.

This simple mechanism provides a powerful new tool, which enables a host of new types

of applications to be written for web-based environments. Shopping applications for

example can store information about the currently selected items and free the client from

retyping a user-id on next connection. Cookies retain their values as long as the cookie

remains on the client’s machine or until the client expires. Cookie variables are enabled

by using the <CFCOOKIE> tag.

Page 51: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

47

Chapter 6

Architecture of Data Mart

6.1 Steps involved in creating data mart

Set up a webServer

Install ColdFusionserver

and ColdfusionStudio

Setup adatabase

Establish adatasource

I.e.Link databaseand ColdFusion

CreateColdFusiontemplates

Execute templatesand Obtain

Results

Figure 6.1 Steps Involved in creating datamart

The various steps involved in creating the data mart are shown in the figure 6.1. The

Microsoft Internet Information Server is installed to support web to database transaction.

Once the web server is setup ColdFusion Server Enterprise version 4.5.1 and ColdFusion

Studio version 4.5.1 is installed. A relational database base is developed using MS

Access. Tables are created using past and current data. ColdFusion templates that can

interact with the data and produce results are developed. The final output can be viewed

by means of a web Browser such as Internet Explorer or Netscape Navigator.

Page 52: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

48

The data mart is designed to store information on the various components of the AGV,

current member details, sponsor details and other technical details that are relevant to the

user. The data are stored in the form of tables. The database is created as a shared access

folder so that it can be accessed and used all over the world. MS Access was used to

create the database tables. Once the database is created it is necessary to establish a link

in and out of the database so that the tables can be read and accessed. Defining a

datasource is done in the ColdFusion server administrator page. A typical definition is as

shown in the figure. A datasource name is defined and the path where the datasource

resides is defined. Timeout properties can be set such that the page expires after a certain

time. The database can be administered by providing security checks so that unauthorized

personnel cannot change the contents of the database. ColdFusion thus accounts for

security in database management.

Defining a datasource in ColdFusion Administrator

Page 53: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

49

6.2. Schematic representation of the DataMart

Check ForUserName

andpassword

Log-Insuccessful

Selectchoice

Memberdetails

ViewExisting

members

Add newmember

Sponsordetails

Add newsponsor

Viewexisting

sponsors

SystemComponents

PowerSystems

MechanicalSystems

SafetySystems

VisionSystems

Technicaldetails

ViewPowerPoints

Upload fileson the server

UserAuthorization

page

View ExistingComponents

Log-InError

Failure ModeAnalysis

MechanicalSystems

SONARSystems

PowerSystems

VisionSystems

ChargingSystems

Figure 6.2 Components of DataMart

Page 54: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

50

The data mart as the name implies is a collection of valuable information on a particular

subject that conveys useful information. The information that is stored in the data mart

can be classified as follows.

i. Major Subsystems Information

ii. Team Member Information

iii. Sponsorer Information

iv. PFEMA Analysis

v. Technical information

6.2.1 Major Subsystems

The major subsystems are analyzed with respect to the following subsystems

i. Vision System

ii. Mechanical System

iii. Power System

iv. Safety System

The database contains the following tables. A snapshot of the tables is given to conserve

space. The snapshot is representative of the entire table.

Vision System

PartName Vendor Quantity cost Fish Eye Lens Nikon Inc 1 $475.00

Page 55: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

51

PartName Vendor Quantity cost Frame Grabber EPIX Inc 1 $395.00 ISCAN Iscan Inc. 1 $9,000.00 JVC CAMERAS JVC Inc 2 $400.00 Video Switch FSR Inc 1 $2,000.00

Mechanical System

Partname Vendor Price uses Bearing Blocks Cincinnati belting $126.25

Gearbox Cincinnati Belting $340.00 To power the wheels Shaft Couplings Grainger $24.00

Power System

partname Vendor Price Quantity Cables $0.00 8 Insulators Michael tire $15.00 10 Inverter Tripilte $600.00 1

Safety Systems

Type Vendor Price Uses

Remote E-Stop Futaba Inc $520.00 Can stop the robot vehicle at a distance of 65 feet Switches Homedepot $15.00 Disconnect power supply

6.2.2 Team member information

Team Member Information

Firstname Lastname address telephone city state zip email Rahul Dhareshwar 2900 vine

Street 5139613517 cincinnati OH 45220 [email protected]

Sachin Modi 618 Probasco Street

5132817956 Cincinnati OH 45220 [email protected]

Vidya Sagar 2930 morgans

5135563891 cincinnati OH 45220 [email protected]

Mayank Saxena 2920 Scioto

5135567959 Cincinnati OH 45220 [email protected]

Page 56: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

52

Firstname Lastname address telephone city state zip email Street

6.2.3 Sponsor Details

Sponsorer Information

FirstName LastName Middlename Address Phone City State amount Year Ernest Hall L 508 Rhodes

Hall 5135562730 Cincinnati OH $300 2001

Rob Hicks UC Center For Robotics

5135562730 Cincinnati OH $20 2001

Kartikeyan Kumaraguru UC Center for Robotics

Cincinnati OH $150 2001

6.2.4 PFEMA Analysis

The Potential failure mode and effects analysis (PFEMA) is to track the system

performance and evaluate the causes for failure. The PFEMA analysis section is based on

the following sub systems outlined below:

i. Vision System

ii. Power System

iii. Mechanical System

iv. Sonar System

v. Charging System

Page 57: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

53

Failure modes in Vision System

ID System Unit Failure_mode potential_effects potential_causes Solutions 200 Vision Vision

Threshold No points Picked

Robot goes off-track

threshold limit not reached

Adjust threshold

201 Vision CCD No points Picked

Robot goes off track

CCD camera not working

Check connections with reference to the schematic diagram

202 Vision ISCAN co-ordinates not available

cannot be calibrated

ISCAN tracker is not functioning

Check the circuit and connections

203 Vision Switching unit

Camera switch fails

Robot goes-off track

Galil Board controller not working

Reset the Galil board

Failure Modes in Power System

ID Unit Failure_Mode Potential_Effects Potential_Causes Solutions System 0 Power 1 Battery Low Battery

Power Robot stops or computer reboots

Battery down Check voltage by the voltmeter which is mounted on the side panel

Power

2 Fuse No Power Camera & ISCAN do not work

Fuse is blown check and replace fuse

Power

3 Invertor No power Computer does not Power on

Looses Connection

Check connection at the invertor

Power

4 SONAR motor

No main power SONAR motor does not start

battery down Check the battery voltage

Power

Failure Modes in Mechanical System

ID System Unit Failure_mode Potential_effects Potential_causes Solutions 100 Mechanical Wheel Wheel rotating

freely Shaft may be damaged

Shaft key missing Remove the feel and place appropriate shaft key

101 Mechanical Fitting Wheels jammed

Robot does not move

A bulged shaft due to improper fit

Filing or grounding the shaft and the inner hub of the wheel is necessary

102 Mechanical Servo Motor

Servo motor turns very slowly

Robot does not move

Amplifier output is insufficient

Re-adjust amplifier gain value and PID

Page 58: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

54

ID System Unit Failure_mode Potential_effects Potential_causes Solutions value

103 Mechanical Shaft Keys

Shaft moving out of its place

Shaft gets disengaged from the shaft coupling

Robot stops The shaft keys must be tightened at regular intervals with the allen screw

Failure Modes in Sonar System

ID System Unit Failure_mode Potential_effects potential_causes Solutions 11 SONAR PID No intermittent

Stops SONAR doesn't bring in proper feedback

improper SONAR amplifier output

Adjust the PID valves

12 SONAR Polakit Error in calculating the obstacle distance

Robot hits obstacle Sufficient reflections not received from the obstacle

Adjust parameters in polakit program

13 SONAR Sonar Wire

Failure to initiate change in steering

Robot hits obstacle open circuit between CPU and polaroid board

secure connections

14 SONAR Polaroid Failure to detect obstacle

Robot hits obstacle Polaroid board may not be working

Secure connections,refer polaroid manual

15 SONAR Program Failure to detect Obstacles

Robot hits obstacle polakit program values not adjusted

Reset parameters in the program

Failure Modes in Charging System

ID System Unit Failure_mode potential_effects potential_causes solutions 300 charging charger batteries does

not charge No power to the entire system

circuit not closed Check to see the if main switch is on and the emergency stop is in its off position

6.2.5 Technical Information

The technical Information page is for uploading files to the server. It also has links to the

information available on the robotics home page.

Page 59: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

55

6. 3 Results

The data provided above are stored in tables across the database. It is possible to obtain

the required data by selecting the appropriate choices as and when required. The data

mart is available online at http://127..137.16.85/public_html/index.cfm. To ensure that

only valid users are accessing the data, the data mart is password protected .The index

page is as shown below.

Login Screen

Once the user is successfully logged on the user is given taken to a menu as shown in

screen below to access any information required.

Page 60: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

56

Components of Data Mart

The user can choose to view any component based on his/her choice. The outputs for

various selections are shown below:

Sponsor information

Current sponsorers

Page 61: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

57

Adding new sponsorers to the database

Major subsystem Information

Subsystems Menu

Page 62: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

58

Screen view showing Vision System Components

Team Member Information

Current Member Information

Page 63: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

59

Add New Team Members

Potential Failure Mode Analysis

View Showing PFEMA for a Mechanical System

Page 64: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

60

Technical details

This provides the interface for uploading files to the server using a web browser. It can be

also used to view the technical information available online at www.robotics.uc.edu

Technical Information Page

The data-mart is a valuable and a powerful source of information. Since a data-mart can

be used to store data about every component and it provides a very friendly user interface

it is possible to use extend the functionality of a data-mart from an information sharing

tool to a decision making tool. The information stored in a data mart is not only valuable

but also it is efficient because it is possible for many users to connect to and gain

information. It is a single source of integrated data and hence redundancies are

eliminated. The data mart also eliminates the need for carrying additional storage devices

thus reducing inventory. However, to stay well informed and to provide valuable

information at all times the database needs to be updated from time to time.

Page 65: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

61

Chapter 7

7.1 Conclusions and Recommendations

A datamart is valuable in terms of information sharing and also in eliminating time

delays. Datamart is not only about storing data in the form of texts and numbers but

information can be stored on just about anything ranging from images, cliparts etc.

However the current database MS Access does not support databases of larger memory.

So it is possible to use sophisticated relational management systems like Oracle to

achieve this.

Since data marts need to be updated at regular intervals to stay current, care should be

taken to ensure that data redundancy is avoided at all times. It is possible to add user

interfaces in the existing datamart application for inserting, deleting and updating current

database information. This no doubt will be a very useful tool. It might also lead to loss

of information if users do not understand the implications of such data manipulation.

Thus, it is becomes necessary to ensure that database data are not manipulated except by

the administrator or by the database manager. Stringent validation techniques can be

implemented to ensure that there are no violations to this rule.

Page 66: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

62

Bibliography

[1] http://reeses.mie.uc.edu/IGRC2001/DesignReport/DesignReport2001.doc

[2] Carlos Coronel, Peter Rob, “Database Systems Design, Implementation and

management “ Ch 14, 2000, Course technology, MA, 2000.

[3] www.allaire.com

[4] Charles Mohnike, “Teach yourself ColdFusion” pp 111-210,Sams publishing, IN,

2000.

[5] Sampath Kanagarju “Online fault Diagnostic System for an Autonomous guide

[6] Deitel and Deitel “Internet & World Wide Web How to Program”, Prentice hall, New Jersey, 2000.

[7] Fred R. McFadden, Jeffrey A. Hoffer, Mary B. Prescott, Modern Database

Management, ch3, Addison-Wesley, New York, 1999

Page 67: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

63

Appendix A

Templates Related to ColdFusion Implementation

ColdFusion Templates for creation of Datamart for

Bearcat III

Application.cfm File

<html>

<head>

<title>Untitled</title>

</head>

<body><!--- CREATE A NEW NAME FOR THE APPLICATION --->

<CFAPPLICATION NAME="RR"

SESSIONMANAGEMENT ="Yes"

SESSIONTIMEOUT=#CreateTimeSpan(0,0,10,0)#>

<!---DEFINE A DEFAULT DATABASE --->

<CFSET ODBC_DATASOURCE ="Thesisdata">

<!---DEFINE A DEFAULT BACKGROUND COLOR --->

<CFSET BG_COLOR = "00AAFF">

<!---DEFINE A DEFAULT FONT --->

<CFSET Font_Face = "Helvetica">

</body>

</html>

Page 68: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

64

Creating Templates for displaying title and welcome information

Header.cfm

html>

<head>

<title>Header</title>

</head>

<body>

<center>

<FONT SIZE = "+2" color="red">Welcome to the University of Cincinnati's Center for Robotics Research

Thank You for accessing our online Data Mart.

</FONT>

</center>

</body>

</html>

Displaying Footer for every .cfm file

Footer.cfm

<html>

<head>

<title>Footer</title>

</head>

<body>

<H3><CENTER>This Site is for UC Robotics Team Members only.

Any unauthorized use is prohibited.

Page 69: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

65

For more information on the UC Robot Team Please visit

www.robotics.uc.edu</H3>

</CENTER>

</body>

</html>

Welcome page for new users and returning users

Index.cfm

<title>Welcome Page</title>

</head>

<body>

<H1>

<CFINCLUDE template="header.cfm">

</H1>

Please type your user name and password and then hit "submit"

<BODY BGCOLOR = "#BG_COLOR#">

<form method="POST" action=logon.cfm>

<p>USER NAME :<input type="Text" name ="Uname" size = "10"></p>

<p>PASSWORD : <input type="Password" name="Password" size="7"></p>

<p><input type="submit" value="Submit" name="B1">

<input type="reset" value="Clear" name="B2"></p>

<p>&nbsp;</p>

</form>

Page 70: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

66

<CFINCLUDE template="footer.cfm">

</body>

</html>

Checking for user authentication

Logon.cfm

<CFQUERY NAME ="get_name" DATASOURCE = "Thesisdata">

select username FROM check

</CFQUERY>

<CFQUERY NAME = "get_pass" DATASOURCE = "Thesisdata">

Select Password FROM Check

</CFQUERY>

<html>

<head>

</head>

<body>

<CFINCLUDE TEMPLATE = "header.cfm">

<CFIF form.password IS NOT get_pass.password>

<Center>Error processing request

Try logging in again

<a href="index.cfm">Back to the Main Page</a>

</CENTER>

</CFIF>

Page 71: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

67

<CFIF FORM.uname IS not get_name.username>

<Center>Error processing request

Try logging in again

<a href="index.cfm">Back to the Main Page</a>

</CFIF>

</CENTER>

<CFIF form.password IS get_pass.password>

<CFIF form.uname IS get_name.username>

<CENTER>You are successfully logged on.Thanks for visiting us.</CENTER>

<center>Select a choice from below </center><BR><P></P>

<TABLE BORDER=5 align = "CENTER" bgcolor="#BG_COLOR#">

<TR>

<TD align= "CENTER">Options available </TD>

<TD align ="CENTER"> Your Choice </TD>

</TR>

<TR>

<TD align ="center"><B>Bearcat III System information</B> </TD>

<TD align ="center"> <a href="system.cfm">All Systems</a><BR></TD>

</TR>

<TR>

<TD align ="center"><B>Team Member Information</B> </TD>

<TD align ="center"><a href="member.cfm">Team Members</a><BR></TD>

Page 72: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

68

</TR>

<TR>

<TD align ="center"><B>Technical Information</B></TD>

<TD align ="center"><a href="ppt.cfm">Technical details</a></TD>

</TR>

<TR>

<TD align ="center"><B>Sponsor List</B></TD>

<TD align ="center"><a href="Spl.cfm">Sponsor List</a></TD>

</TR>

<TR>

<TD align ="center"><B>Failure mode analysis</B></TD>

<TD align ="center"><a href="pfm.cfm">PFEMA Analysis</a></TD>

</TR>

</TABLE>

</CFIF>

</CFIF>

<p>&nbsp;</p>

<CFINCLUDE TEMPLATE ="footer.cfm">

</body>

</html>

Page 73: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

69

Choice 1: Choose major Subsystems for display

System.cfm

<CFQUERY NAME ="get_name" DATASOURCE = "Thesisdata">

select username FROM check

</CFQUERY>

<CFQUERY NAME = "get_pass" DATASOURCE = "Thesisdata">

Select Password FROM Check

</CFQUERY>

<html>

<head>

</head>

<body>

<CFINCLUDE TEMPLATE = "header.cfm">

<CFIF form.password IS NOT get_pass.password>

<Center>Error processing request

Try logging in again

<a href="index.cfm">Back to the Main Page</a>

</CENTER>

</CFIF>

<CFIF FORM.uname IS not get_name.username>

<Center>Error processing request

Try logging in again

<a href="index.cfm">Back to the Main Page</a>

Page 74: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

70

</CFIF>

</CENTER>

<CFIF form.password IS get_pass.password>

<CFIF form.uname IS get_name.username>

<CENTER>You are successfully logged on.Thanks for visiting us.</CENTER>

<center>Select a choice from below </center><BR><P></P>

<TABLE BORDER=5 align = "CENTER" bgcolor="#BG_COLOR#">

<TR>

<TD align= "CENTER">Options available </TD>

<TD align ="CENTER"> Your Choice </TD>

</TR>

<TR>

<TD align ="center"><B>Bearcat III System information</B> </TD>

<TD align ="center"><a href="system.cfm">All Systems</a><BR></TD>

</TR>

<TR>

<TD align ="center"><B>Team Member Information</B> </TD>

<TD align ="center"><a href="member.cfm">Team Members</a><BR></TD>

</TR>

<TR>

<TD align ="center"><B>Technical Information</B></TD>

Page 75: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

71

<TD align ="center"><a href="ppt.cfm">Technical details</a></TD>

</TR>

<TR>

<TD align ="center"><B>Sponsor List</B></TD>

<TD align ="center"><a href="Spl.cfm">Sponsor List</a></TD>

</TR>

<TR>

<TD align ="center"><B>Failure mode analysis</B></TD>

<TD align ="center"><a href="pfm.cfm">PFEMA Analysis</a></TD>

</TR>

</TABLE>

</CFIF>

</CFIF>

<p>&nbsp;</p>

<CFINCLUDE TEMPLATE ="footer.cfm">

</body>

</html>

Display System Information

Selection.cfm

<html>

<CFQUERY name="name1" datasource="Thesisdata">

Page 76: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

72

select partname,vendor,cost,quantity from vision

</cfquery>

<CFQUERY name="name2" datasource="Thesisdata">

Select partname,vendor,price,quantity from Power

</CFQUERY>

<CFQUERY name ="name3" datasource="Thesisdata">

Select type,vendor,price,uses from safety

</CFQUERY>

<CFQUERY name ="name4" datasource="Thesisdata">

Select partname,vendor,price,uses from mechanical

</CFQUERY>

</head>

<title>Detail of various sytems</title>

<body>

<CFINCLUDE template = "header.cfm">

<CFIF form.system IS "VisionSystem">

<CFTABLE query="Name1" startrow = "1" colspacing ="1" colheaders >

<cfcol header ="<B>PartName</B>" width ="15" text ="#Partname#">

<cfcol header ="<B>Vendor</B>" width ="15" text ="#Vendor#">

<cfcol header ="<B>Quantity</B>" width ="25" text ="#Quantity#">

<cfcol header ="<B>Cost</B>" width ="15" text ="#Cost#">

</CFTABLE>

Page 77: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

73

</CFIF>

<CFIF form.system IS "PowerSystem">

<CFTABLE query="Name2" startrow = "1" colspacing ="1" colheaders >

<cfcol header ="<B>PartName</B>" width ="15" text ="#Partname#">

<cfcol header ="<B>Vendor</B>" width ="15" text ="#Vendor#">

<cfcol header ="<B>Quantity</B>" width ="25" text ="#Quantity#">

<cfcol header ="<B>Cost</B>" width ="15" text ="#Price#">

</CFTABLE>

</CFIF>

<CFIF form.system IS "SafetySystem">

<CFTABLE query="Name3" startrow = "1" colspacing ="1" colheaders >

<cfcol header ="<B>Type</B>" width ="15" text ="#Type#">

<cfcol header ="<B>Vendor</B>" width ="15" text ="#Vendor#">

<cfcol header ="<B>Uses</B>" width ="30" text ="#Uses#">

<cfcol header ="<B>Price</B>" width ="15" text ="#Price#">

</CFTABLE>

</CFIF>

<CFIF form.system IS "MechanicalSystem">

<CFTABLE query="Name4" startrow = "1" colspacing ="1" colheaders >

<cfcol header ="<B>PartName</B>" width ="15" text ="#Partname#">

Page 78: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

74

<cfcol header ="<B>Vendor</B>" width ="30" text ="#Vendor#">

<cfcol header ="<B>Price</B>" width ="10" text ="#Price#">

<cfcol header ="<B>Uses</B>" width ="25" text ="#Uses#">

</CFTABLE>

</CFIF>

<CFINCLUDE template = "footer.cfm">

</body>

</html>

Choice: 2 Choose Team member information

Team Member Selection Menu

<CFQUERY Name= "newname" DATASOURCE = "Thesisdata">

Select Firstname from membe order by Firstname

</CFQUERY>

<html>

<head>

<title>Member Information Page</title>

</head>

<body bgcolor = "pink">

<CFINCLUDE template ="header.cfm">

<CENTER><B><H2>Welcome to the Member Information page</H2></B></CENTER>

<FORM ACTION = "dismem.cfm" Method = "post">

<Table align = "center" Bgcolor ="silver">

Page 79: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

75

<TR>

<TD Align ="right"> Member Firstname</TD>

<TD><SELECT NAME ="Firstname" size = 1>

<option Selected value ="ANY">ANY

<Cfoutput query="newname">

<OPTION VALUE="#newname.firstname#">#Firstname#

</CFoutput>

</select>

</TD>

</TR>

<TR>

<TD Align ="right" valign="middle">

<INPUT TYPE ="submit" value ="search">

</FORM>

</TD>

<TD align ="right" valign ="middle">

<FORM ACTION ="newmem.cfm" value = "add new">

<INPUT TYPE ="submit" value ="add new">

</FORM>

</TD>

</TR>

</TABLE>

<CFINCLUDE template="footer.cfm">

Page 80: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

76

</body>

</html>

Add new members

Newmem.cfm

<html>

<head>

<title>New Member Addition page</title>

</head>

<body>

<CFINCLUDE TEMPLATE = "header.cfm">

<Form action = "memsuccess.cfm" method ="post">

<CENTER> <H1>New Member Data Entry</H1></CENTER>

<CENTER>Please do fill in all the Fields</CENTER>

<INPUT type ="hidden" Name = "Firstname_required" value ="You must enter a firstname">

<INPUT type ="hidden" Name = "Lastname_required" value ="You must enter a Lastname">

<p>First Name: <input type="text" name="Firstname" size="20"></p>

<p>Last Name: <input type="text" name="Lastname" size="20"></p>

<p>Address :&nbsp;&nbsp;&nbsp; <input type="text" name="address" size="20"></p>

<p>Telephone : <input type="text" name="Telephone" size="20"></p>

Page 81: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

77

<p>City&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <input type="text" name="City" size="20"></p>

<p>State&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :<select size="1" name="State">

<option selected>OH</option>

<option>NY</option>

<option>NJ</option>

<option>KY</option>

<option>IN</option>

</select></p>

<p>ZIP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <input type="text" name="zip" size="20"></p>

<p>email&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

:<input type="text" name="email" size="40"></p>

<Input type = "submit" Value="Add Record">

</FORM>

<CFINCLUDE TEMPLATE = "footer.cfm">

</body>

</html>

New Member Addition Successful

Memsuccess.cfm

<html>

<head>

<title>Add New Members</title>

Page 82: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

78

</head>

<CFINSERT datasource="Thesisdata"

TABLENAME = "membe"

FORMFIELDS = "FirstName,LastName,Address,Telephone,City,State,Zip,email">

<body>

<CFINCLUDE TEMPLATE = "header.cfm">

Your data is successfully added to the database.

<CFOUTPUT>

FIRSTNAME : #Firstname# <BR>

LASTNAME : #Lastname# <BR>

ADDRESS : #address# <BR>

TELEPHONE : #telephone# <BR>

CITY : #City# <BR>

STATE :#State# <BR>

ZIP : #Zip# <BR>

EMAIL:#email# <BR>

</CFOUTPUT>

<A href="First.cfm">Go to Main page </A>

<CFINCLUDE TEMPLATE ="footer.cfm">

</body>

</html>

Page 83: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

79

Display Current Member Information

Dismem.cfm

<html>

<CFQUERY NAME = "SearchMember" DATASOURCE = "thesisdata">

Select FirstName,Lastname,address,telephone,city,state,zip,email

from membe

where 0=0

<CFIF #form.Firstname# IS NOT "ANY">

AND membe.firstname like '%#form.Firstname#%'

</CFIF>

</CFQUERY>

<head>

<title>Member Information</title>

</head>

<CFINCLUDE template ="header.cfm">

<body bgcolor ="pink">

<H1>

<CENTER><B>Member Search results</B></CENTER>

</H1>

<BR>

<CFTABLE query="SearchMember" startrow = "1" colspacing ="1" colheaders>

<cfcol header ="<B>Firstname</B>" width ="15" text ="#Firstname#">

Page 84: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

80

<cfcol header ="<B>Lastname</B>" width ="15" text ="#Lastname#">

<cfcol header ="<B>email</B>" width ="25" text ="#email#">

<cfcol header ="<B>telephone</B>" width ="15" text ="#Telephone#">

<cfcol header ="<B>address</B>" width ="20" text ="#address#">

<cfcol header ="<B>city</B>" width ="15" text ="#city#">

<cfcol header ="<B>state</B>" width ="5" text ="#state#">

<cfcol header ="<B>zip</B>" width ="5" text ="#zip#">

</CFTABLE>

<CFIF #searchmember.recordcount# IS 0>

<h2> No records were found</h2>

<CFELSE>

<CFOUTPUT>Your search returned #searchmember.recordcount# record(s).</CFOUTPUT>

</CFIF>

<a href = "member.cfm">Another search</a>

<CFINCLUDE template ="footer.cfm">

</body>

</html>

Choice 3: Technical Details menu page

ppt.cfm

<html>

<head>

Page 85: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

81

<title>Welcome to File Uploading feature</title>

</head>

<body>

<CFINCLUDE TEMPLATE ="header.cfm">

<H4>Enter the file path if you wish to upload files to the server

</H4><HR>

<FORM ACTION ="upload_action.cfm" ENCTYPE = "multipart/form-data" METHOD = "post">

Please enter the path name of the file to be uploaded or use the "Browse"

button to find it.

<INPUT TYPE=FILE NAME = "FileName" SIZE = "50"><P>

<INPUT TYPE= SUBMIT value="Upload">

</P>

</FORM>

<BR>

IF you are not interested in uploading files Check out the

power points.

<P>

<TABLE BORDER = 5 background="BG_COLOR">

<TR>

<TD>SYSTEMS </TD>

<TD>POWER POINT</TD>

Page 86: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

82

</TR>

<TR>

<TD align ="center"><B>GPS</B> </TD>

<TD align ="center"><a href="http://reeses.mie.uc.edu/IGRC2001/MotorolaGPS/">GPS</a><BR></TD>

</TR>

<TR>

<TD align ="center"><B>Sonar</B> </TD>

<TD align ="center"><a href="http://reeses.mie.uc.edu/IGRC2001/PoloraidSonar/">Sonar</a><BR></TD>

</TR>

<TR>

<TD align ="center"><B>Laser Scanner</B></TD>

<TD align="center"><a href="http://reeses.mie.uc.edu/IGRC2001/SICKLaserScanner/">Laser Scanner</a></TD>

</TR>

<TR>

<TD align ="center"><B>Wireless Modem</B></TD>

<TD align ="center"><a href="http://reeses.mie.uc.edu/IGRC2001/FreewaveWirelessModems/">Wireless Modem</a></TD>

</TR>

</TABLE>

<CFINCLUDE TEMPLATE ="footer.cfm">

</P>

Page 87: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

83

</body>

</html>

Upload files to the server

Upload_action.cfm

<html>

<head>

<title>The Results of File Upload</title>

</head>

<body>

<CFFILE ACTION= "Upload" FILEFIELD="Filename"

DESTINATION = "c:\upload" NAMECONFLICT = "makeunique">

<H2>The results of your File upload</H2>

your file is uploaded to the server...Thanks.

<A HREF= "index.cfm">BACK</A>.

</body>

</html>

choice 4: Sponsor Menu page

Spl.cfm

<CFQUERY Name= "sponsorname" DATASOURCE = "Thesisdata">

Page 88: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

84

Select Firstname from sponsor order by Firstname

</CFQUERY>

<html>

<head>

<title>Sponsor Information Page</title>

</head>

<body bgcolor = "lightblue">

<CFINCLUDE template ="header.cfm">

<CENTER><B><H2>Welcome to the Sponsor Information page</H2></B></CENTER>

<FORM ACTION = "disspon.cfm" Method = "post">

<Table align = "center" Bgcolor ="silver">

<TR>

<TD Align ="right"> Firstname</TD>

<TD><SELECT NAME ="Firstname" size = 1>

<option Selected value ="ANY">ANY

<Cfoutput query="sponsorname">

<OPTION VALUE="#sponsorname.firstname#">#Firstname#

</CFoutput>

</select>

</TD>

</TR>

Page 89: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

85

<TR>

<TD Align ="right" valign="middle">

<INPUT TYPE ="submit" value ="search">

</FORM>

</TD>

<TD align ="right" valign ="middle">

<FORM ACTION ="newspon.cfm" value = "add new">

<INPUT TYPE ="submit" value ="add new">

</FORM>

</TD>

</TR>

</TABLE>

<CFINCLUDE template="footer.cfm">

</body>

</html>

New sponsorer addition

Newspon.cfm

html>

<head>

<title>New Sponsor addition</title>

</head>

<body bgcolor = "lightgreen">

Page 90: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

86

<CFINCLUDE TEMPLATE = "header.cfm">

<FORM ACTION = "sponsorsuccess.cfm" METHOD = "post">

<CENTER> <H3>New Sponsor Data Entry</H3></CENTER>

<CENTER>Please do fill in all the Fields</CENTER>

<INPUT type ="hidden" Name = "Firstname_required" value ="You must enter a firstname">

<INPUT type ="hidden" Name = "Lastname_required" value ="You must enter a Lastname">

<p>First Name: <input type="text" name="Firstname" size="20">

Last Name: <input type="text" name="lastname" size="20"></p>

<p>Middle Name: <input type="text" name="middlename" size="20">

Address : <input type="text" name="address" size="20"></p>

<p>Phone : <input type="text" name="phone" size="20">

City : <input type="text" name="City" size="20"></p>

<p>State : <input type="text" name="State" size="20">

Amount : <input type="text" name="Amount" size="20"></p>

<p>Year : <input type="text" name="year" size="20">

<input type="submit" value="Submit" name="add">

<input type="reset" value="Reset" name="reset"></p>

</FORM>

<CFINCLUDE TEMPLATE = "footer.cfm">

</body>

</html>

Page 91: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

87

New Sponsorer successfully added

sponsorsuccess.cfm

<html>

<head>

<title>Untitled</title>

</head>

<CFINSERT datasource="Thesisdata"

TABLENAME = "sponsor"

FORMFIELDS = "FirstName,LastName,middlename,Address,phone,City,State,amount,Year">

<body>

<CFINCLUDE TEMPLATE = "header.cfm">

Your data is successfully added to the database.<BR>

<CFOUTPUT>

FIRSTNAME : #Firstname# <BR>

LASTNAME : #Lastname# <BR>

MIDDLENAME : #Middlename# <BR>

ADDRESS : #Address# <BR>

TELEPHONE : #phone# <BR>

CITY : #City# <BR>

STATE :#State# <BR>

AMOUNT : #Amount# <BR>

YEAR : #Year# <BR>

Page 92: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

88

</CFOUTPUT>

<CFINCLUDE TEMPLATE ="footer.cfm">

You may use the back browser button to view a new record.

</body>

</html>

View existing sponsorers

Disspon.cfm

<html>

<CFQUERY NAME = "SearchSponsor" DATASOURCE = "thesisdata">

Select FirstName,Lastname,middlename,address,phone,city,state,amount,year

from Sponsor

where 0=0

<CFIF #form.Firstname# IS NOT "ANY">

AND sponsor.firstname like '%#form.Firstname#%'

</CFIF>

</CFQUERY>

<head>

<title>Sponsor Information</title>

</head>

Page 93: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

89

<CFINCLUDE template ="header.cfm">

<body bgcolor ="lightblue">

<H1>

<CENTER><B>Sponsorer Search results</B></CENTER>

</H1>

<BR>

<CFTABLE query="SearchSponsor" startrow = "1" colspacing ="1" colheaders>

<cfcol header="<B>Firstname</B>" width ="15" text ="#Firstname#">

<cfcol header="<B>Lastname</B>" width ="15" text ="#Lastname#">

<cfcol header="<B>Middlename</B>" width ="15" text ="#Middlename#">

<cfcol header="<B>address</B>" width ="20" text ="#address#">

<cfcol header="<B>telephone</B>" width ="15" text ="#phone#">

<cfcol header ="<B>city</B>" width ="15" text ="#city#">

<cfcol header ="<B>state</B>" width ="5" text ="#state#">

<cfcol header ="<B>Amount</B>" width ="5" text ="#amount#">

<cfcol header ="<B>Year</B>" width ="20" text ="#Year#">

</CFTABLE>

<CFIF #searchsponsor.recordcount# IS 0>

<h2> No records were found</h2>

<CFELSE>

Page 94: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

90

<CFOUTPUT>Your search returned #searchsponsor.recordcount# record(s).

</CFOUTPUT>

</CFIF>

<a href = "spl.cfm">Another search</a>

<CFINCLUDE template ="footer.cfm">

</body>

</html>

Choice 5: PFEMA Analysis

Choose the system, which needs to be analyzed

Pfm.cfm

<html>

<head>

<title>Failure Mode analysis</title>

</head>

<body>

<CFINCLUDE TEMPLATE ="header.cfm">

<FORM ACTION = "pfm_anal.cfm" METHOD = "post">

<p><select size="1" name="sys">

<option selected>Power</option>

<option>Mechanical</option>

<option>Sonar</option>

<option>Charging</option>

Page 95: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

91

<option>vision</option>

</select></p>

<p><input type="submit" value="Submit" name="submit">

<input type="reset" value="Reset" name="reset"></p>

</FORM>

<CFINCLUDE TEMPLATE = "footer.cfm">

</body>

</html>

Display reasons for failure

Pfm_anal.cfm

<!--- Failure Mode analysis --->

<CFQUERY Name ="Pfailure" datasource = "Thesisdata">

select * from pow_failure

</CFQUERY>

<CFQUERY name ="sfailure" datasource = "thesisdata">

Select * from son_failure

</CFQUERY>

<CFQUERY name = "mfailure" datasource = "thesisdata">

Select * from mec_failure

</CFQUERY>

<CFQUERY name = "vfailure" datasource = "thesisdata">

Select * from vis_failure

Page 96: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

92

</CFQUERY>

<CFQUERY name = "cfailure" datasource = "thesisdata">

Select * from cha_failure

</CFQUERY>

<HTML>

<Title> Welcome to Failure mode analysis</TITLE>

</HEAD>

<BODY>

<CFINCLUDE TEMPLATE = "Header.cfm">

<CFIF Form.sys is Pfailure.system>

You have chosen the Mechanical System

<CFTABLE query="pfailure" startrow = "1" colspacing ="1" colheaders>

<cfcol header ="<B>Unit</B>" width ="10" text ="#unit#">

<cfcol header ="<B>Failure Mode</B>" width ="40" text ="#failure_mode#">

<cfcol header ="<B>potential Effects</B>" width ="40" text ="#potential_effects#">

<cfcol header ="<B>Potential Causes</B>" width ="40" text ="#potential_causes#">

<cfcol header ="<B>Solutions</B>" width ="40" text ="#Solutions#">

</CFTABLE>

</CFIF>

<CFIF Form.sys is sfailure.system>

You have chosen the Sonar System

Page 97: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

93

<CFTABLE query="sfailure" startrow = "1" colspacing ="1" colheaders>

<cfcol header ="<B>Unit</B>" width ="10" text ="#unit#">

<cfcol header ="<B>Failure Mode</B>" width ="40" text ="#failure_mode#">

<cfcol header ="<B>Potential effects</B>" width ="40" text ="#potential_effects#">

<cfcol header ="<B>Potential Causes</B>" width ="40" text ="#potential_causes#">

<cfcol header ="<B>Solutions</B>" width ="40" text ="#Solutions#">

</CFTABLE>

</CFIF>

<CFIF Form.sys is vfailure.system>

You have Chosen the Vision System

<CFTABLE query="vfailure" startrow = "1" colspacing ="1" colheaders>

<cfcol header ="<B>Unit</B>" width ="10" text ="#unit#">

<cfcol header ="<B>Failure Mode</B>" width ="40" text ="#failure_mode#">

<cfcol header ="<B>Potential Effects</B>" width ="40" text ="#potential_effects#">

<cfcol header ="<B>Potential Causes</B>" width ="40" text ="#potential_causes#">

<cfcol header ="<B>Solutions</B>" width ="40" text ="#Solutions#">

</CFTABLE>

</CFIF>

<CFIF Form.sys is cfailure.system>

Page 98: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

94

You have chosen the Charging System

<CFTABLE query="cfailure" startrow = "1" colspacing ="1" colheaders>

<cfcol header ="<B>Unit</B>" width ="10" text ="#unit#">

<cfcol header ="<B>Failure Mode</B>" width ="40" text ="#failure_mode#">

<cfcol header ="<B>Potential Effects</B>" width ="40" text ="#potential_effects#">

<cfcol header ="<B>Potential Causes</B>" width ="40" text ="#potential_causes#">

<cfcol header ="<B>Solutions</B>" width ="40" text ="#Solutions#">

</CFTABLE>

</CFIF>

<CFIF Form.sys is mfailure.system>

You have Chosen the Mechanical System

<CFTABLE query="mfailure" startrow = "1" colspacing ="1" border = "2"colheaders>

<cfcol header ="<B>Unit</B>" width ="10" text ="#unit#">

<cfcol header ="<B>Failure Mode</B>" width ="40" text ="#failure_mode#">

<cfcol header ="<B>Potential Effects</B>" width ="40" text ="#potential_effects#">

<cfcol header ="<B>Potential Causes</B>" width ="40" text ="#potential_causes#">

<cfcol header ="<B>Solutions</B>" width ="40" text ="#Solutions#">

</CFTABLE>

</CFIF>

Page 99: UNIVERSITY OF CINCINNATI Center... · 2020-06-02 · 3.2 Client/Server Requests Processing 21 3.3 Two -Tier Architecture 21 3.4 Three -Tier Architecture 22 Chapter 4 4.1 Various phases

95

<CFINCLUDE TEMPLATE = "footer.cfm">

</BODY>

</HTML>