Top Banner
1 ABSTRACT Earlier IT applications were used to automate routine, information-intensive “back-office” transactions like payroll processing, accounting etc. which helped in increasing efficiency and productivity. Today IT is used to reengineer core value activities and change the basis of competition. A streamlined and integrated value chain helps businesses eliminate redundancies, reduce cycle times, and achieve even greater productivity and efficiency. Real time information could be used to improve coordination and control and to add value to and differentiate existing products and services. The above said is true for xxxxxxxxxx Ltd also and this project (Plant Hire Information System) aims to avoid the complexity and redundancy in handling the equipment hiring details for its different departments. The system uses Internet technology and is web based allowing the project managers to request for equipment to be hired from their site itself. The system stores and maintains all the details about the equipments which are on-hire and off- hire. Detailed explanation of the work is given in the chapters of this report.
61

DISTRIBUTED APPLICATION REPORT

Nov 08, 2014

Download

Documents

Azad Dhillon

THIS IS A REPORT IN A DISTRIBUTED APPLICATION INCLUDING ALL THE TOOLS, TECHNIQUES, DESIGN AND PROGRAMMING.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DISTRIBUTED APPLICATION REPORT

1

ABSTRACT

Earlier IT applications were used to automate routine, information-intensive “back-office”

transactions like payroll processing, accounting etc. which helped in increasing efficiency and

productivity. Today IT is used to reengineer core value activities and change the basis of

competition. A streamlined and integrated value chain helps businesses eliminate

redundancies, reduce cycle times, and achieve even greater productivity and efficiency. Real

time information could be used to improve coordination and control and to add value to and

differentiate existing products and services.

The above said is true for xxxxxxxxxx Ltd also and this project (Plant Hire Information

System) aims to avoid the complexity and redundancy in handling the equipment hiring

details for its different departments. The system uses Internet technology and is web based

allowing the project managers to request for equipment to be hired from their site itself. The

system stores and maintains all the details about the equipments which are on-hire and off-

hire.

Detailed explanation of the work is given in the chapters of this report.

Page 2: DISTRIBUTED APPLICATION REPORT

2

ACKNOWLEDGEMENTS

I would like to take an opportunity to thank my Supervisor Dr. XXXXX for her suggestions,

guidance and directing me the right direction throughout my project work. I would like to

thank all the teaching, non teaching staff members and lab staff members who provided

excellent lab facilities. I would finally thankful to my family, friends for giving me the

inspiration to complete this course.

Page 3: DISTRIBUTED APPLICATION REPORT

3

TABLE OF CONTENTS CONTENT PAGE No

OUTLINE OF CHAPTERS 6 CHAPTER 1: INTRODUCTION

1.1 XXXXXX Ltd. 8

1.2 What is Plant Hire Information System (PHIS)? 8

1.3 Goals of PHIS 9

1.4 The Existing System 9

1.5 The Proposed System 9

1.6 Software Requirements 10

1.7 System Development Plan 10

1.8 Key Areas of Computer Science Used in the Project 10

CHAPTER 2: LITERATURE REVIEW

2.1 Research Methodologies 11

2.2 What is Internet and Websites For? 11

2.3 Web Database Application 13

2.4 How Web Pages Works? 14

2.5 Steps in Website Development 14

2.6 Features of a Successful Web site 15

2.7 Mistakes in a Website 16

2.8 Database Systems and RDBMS 17

CHAPTER 3: TOOLS AND TECHNIQUES USED 3.1 Web Programming Tools 19

3.2 .Net Architecture 20

3.3 Why ASP.Net? 21

3.4 Why ORACLE? 22

3.5 ASP.Net and VB.Net in Detail 22

3.6 Structured Query Language 23

3.7 Javascript 24

3.8 Web Services Technology 24

Page 4: DISTRIBUTED APPLICATION REPORT

4

CHAPTER 4: ANALYSIS OF THE PROBLEM

4.1 Analysis – The Milestone of a Project 26

4.2 Goals and Audience of the System 26

4.3 Requirements Analysis and Methodologies Used 26

4.4 Formulation and Evaluation of Alternative Solutions 27

4.5 Content and Data Analysis 28

4.6 Determining Interactivity 28

4.7 Data Flow Diagram 29

CHAPTER 5: DESIGN OF THE SOLUTION

5.1 Design of Output and Input 30

5.2 Database Design 30

5.3 Page and Forms Design 31

CHAPTER 6: DEVELOPMENT OF PLANT HIRE INFORMATION SYSTEM

6.1 Website Implementation Plan 35

6.2 Assumptions Made 35

6.3 The Pages 35

CHAPTER 7: IMPLEMENTING AND TESTING THE WEBSITE

7.1 Implementing Home Page 37

7.2 Implementing the Forms 37

7.3 Validation of the Form Fields 37

7.4 Storage and Manipulation of Data 37

7.5 Connecting with the Database 37

7.6 Error handling when working with the database 38

7.7 Security Features 38

7.8 Description of the Files Used 38

7.9 Installation Requirements 38

7.10 Testing the Website 39

Page 5: DISTRIBUTED APPLICATION REPORT

5

CHAPTER 8: FUTURE ENHANCEMENTS AND CONCLUSION

8.1 Future Enhancements 41

8.2 Conclusion 41

REFERENCES 42

BIBLIOGRAPHY 42

APPENDICES

Data Flow Diagram 43

E-R Diagram 44

Forms Design 45

Screenshots 52

Page 6: DISTRIBUTED APPLICATION REPORT

6

OUTLINE OF CHAPTERS This thesis is divided into eight chapters and explains in detail about the aims and objectives

of the project, the processes, the tools and methodologies used for developing the project. The

thesis also examines how the website is implemented and tested. A brief summary of all the

chapters follows:

Chapter 1: Introduction

This chapter contains a general overview of the project. It describes the aims of the project

and what tools and techniques are used in implementing this project. It also explains how the

present system is working and how the proposed system should work.

Chapter 2: Literature Review

This contains an analysis of the various literatures on the related topics. It depicts ideas

regarding Internet and website development very clearly. It also explains about the security

and database design issues to be concerned when developing the project.

Chapter 3: Tools and Techniques Used

This chapter provides a sketch of the various tools and techniques used for implementing the

project. It also compares the different tools used for web programming and gives a general

idea about the .Net architecture.

Chapter 4: Analysis of the Problem

The audience as well as the user requirements is specified in this chapter. It also discusses the

methodologies used for identifying the user requirements as well as the data flow among the

processes.

Chapter 5: Design of the Solution

Chapter 5 describes how the various elements of the design phase are handled. Design of

output and input, database and web forms are explained in detail.

Chapter 6: Development of Plant Hire Information System

From this chapter, the reader would get a detailed understanding of the different processes

that are to be implemented. It is explained what are the assumptions to be taken while

working with the system and also the details of each web page forms.

Page 7: DISTRIBUTED APPLICATION REPORT

7

Chapter 7: Implementing and Testing the System

Chapter 7 explains in detail the technical features used in implementing the various

functionalities of the project. The second part of this chapter gives a detailed description on

how the system is tested for errors and how security is incorporated into the system.

Chapter 8: Conclusion

Scope for future expansion and experience gained while undertaking this project is explained

here in detail. The report also contains well structured references, bibliography and

appendices.

Page 8: DISTRIBUTED APPLICATION REPORT

8

CHAPTER 1: INTRODUCTION

1.1 XXXXX Ltd.

Background to the company was given in this section. Removed for confidentiality reasons.

1.2 What is Plant Hire Information System (PHIS)?

XXXXX group is a Construction & Civil Engineering Company. xxxxx group uniquely

embraces four key services to provide Clients with a capability to undertake all aspects of a

project. These key services are:

Construction: It is xxxxxx building division responsible for general contracting.

Civil Engineering: This division carries out wide range of works like Earthwork, drainage,

bridges, and roads

Demolition: This division carries out major demolition works & strip or part of works for

major companies like IKEA, ASDA, and SAINSBURY.

Plant Hire: This hire division maintains all major equipment like Excavators, trucks, tippers,

dumpers and other equipment which will be on hire for different projects.

For Construction, Civil Engineering & Demolition projects you need various plant

equipments on hire. These hire equipments are provided by xxxx plant hire unit, other hire

companies like MultiX, Speedy Hire, Hire Force, Andrew Sky, Ground Force etc. The

proposed Plant Hire Information System deals with new projects and their plant hire

equipment details so that the authorized person can easily maintain the records. By designing

this system the company can reduce the costs of unwanted plant hire items.

1.3 Goals of PHIS As stated in the abstract, PHIS is developed for the. xxxx Contractors Ltd. The website is a

simple solution to reduce the operating costs and redundancy in maintaining and processing

equipment hire details. The main goal of PHIS is to increase the operating efficiency of the

Plant Hire Department.

1.4 The Existing System

As specified above, the Construction, Civil Engineering and Demolition projects need plant

equipments which are to be hired either from the plant hire department or from other

companies. The need for hiring equipments is identified by the project managers and the

Page 9: DISTRIBUTED APPLICATION REPORT

9

request for hiring is submitted to an authorized person who has the right to order the

equipment for hire. The authorized person places the order with the hire company who will

then deliver the requested equipment. When the corresponding project finished the use of the

equipment, it is off-hired. If any equipment is malfunctioning and need to be exchanged, the

hire company will do it, if requested by the authorized person. All the data processing is done

manually.

1.5 The Proposed System

It is proposed to computerize the data processing regarding to the equipment hire function of

xxxx Contractors Ltd. It is done using the Internet technology and is implemented as a

website. Thus the system enables the project managers to enter the request details for hiring

equipments from their site itself.

1.6 Software Requirements The website uses a combination of different web development technologies. For the simple

client side part of the site, classic HTML and some javascript is enough. But for server side

scripting, it is decided to use ASP.Net together with ORACLE for supporting the database

needs of the website. VB. Net is used for programming the server functions.

1.7 System Development Plan

The whole system is developed according to the classical systems development life cycle

model. It is planned to divide the development of the website into clearly defined steps which

are specified as follows:

� Define Goals and Audience

� Study of Existing System

� Requirements Analysis

� Process Specification

� Design Site Navigation

� Page and Forms Design

� Design Database

� Review of work done so far

� Interim Report

� Developing Pseudo code

� Programming the Site

Page 10: DISTRIBUTED APPLICATION REPORT

10

� Website Implementation and Testing

� System Documentation

In developing the project, I have tried my maximum to follow this order as is evident from the

documentation itself.

1.8 Key Areas of Computer Science Used in the Project

In developing the project, I have adopted theories and applications from the following areas:

� Web Database Application

� Software Engineering

� Database Management Systems

� Internet and its Applications

By developing this project I gained a thorough understanding of the above specified areas and

am fully confident on successfully developing any such projects in the future.

Page 11: DISTRIBUTED APPLICATION REPORT

11

CHAPTER 2: LITERATURE REVIEW

2.1 Research Methodologies As this website is developed solely for the use of xxxx group, secondary research on to the

registers of the Plant Hire department are undertaken in order to understand the nature of data

and information.

To get a clear grasp of the project development methodologies, I have made detailed research

into Software Engineering and System Analysis textbooks. Also I researched various

literatures and websites during the design and development phase. Books and journals are

referred on ASP.Net, VB.Net and ORACLE as given in the references and bibliography

sections of this report.

The aid from search engines are vastly used in assisting the project development, especially

that of ‘Google’. The project reports available in the University library are also referred while

preparing this report.

The facts and findings obtained by my literature research are explained in the following

sections.

2.2 What is Internet and Websites For?

The rise in the usage of Internet over the last five years has been explosive. It is fast becoming

the form of modern day communication. The neat thing about the Internet is that everyone can

have their say. The Internet also known as ‘information superhighway’ is a worldwide

network of computers connected in a common manner allowing ease of access both for

communicating and for transferring data1(Murphy B., 2000). Each network cooperates with

the other networks to direct Internet traffic so that information can pass among them. The

world wide web is one special area of the Internet. It is based on links which enables easy

surfing from one web server to another. It allows pages with fancy graphic and multimedia

elements to be constructed, while other areas of the Internet do not.

1 Murphy B., 2000, Building a Website on the Internet, The Cromwell Press, Wiltshire

Page 12: DISTRIBUTED APPLICATION REPORT

12

The World Wide Web

The web is the most interesting, most innovative, most visible, and fastest growing part of the

Internet2 (Gralla P., 2001). The web consists of different websites which again consists of

different web pages. It is possible to navigate through these pages with the help of hyperlinks,

which are in essence multimedia publications containing music, audio, video, animation as

well as graphics and text.

Users can access the web pages with the help of the web browser. This is the client part of the

client/server model of the world wide web. The server software runs on the machine where

the site is hosted. Every site has a unique URL (Uniform Resource Locator) which

distinguishes it from the other sites hosted in the web. When we wants to visit a particular

site, we types the URL in the address bar of the browser which in turn communicates with the

server using the Hypertext Transfer Protocol (HTTP). When the server gets a request from the

client (browser), the server acknowledges it by finding and sending back the requested page.

After the information is displayed, the HTTP connection is closed and can be reopened.

Markup Languages and Hypertext Markup languages consists instructions or statements which directs the browser software how

to display and manage a web document. These instructions are called tags or markups. Hence

the name ‘markup’ language. Tags are embedded in the source document that creates the web

page and allows to embed images and links to other pages within the parent web page. So

each web page has everything it needs to be displayed on any computer with a browser that

can interpret the mark-up language. Hypertext Markup Langauge (HTML) is the mark-up

language of the web. It defines the format of a web document and enables hypertext links to

be embedded in the document. Dynamic HTML (DHTML) allows the web to be more

dynamic, interactive and flexible, and they enable HTML to perform animations.

Tim Berners-Lee envisioned a system in which a document could be linked to other

documents, enabling researchers to easily find more and related information simply by

following a link from one document on the network to another. Hypertext consists of a

2 Gralla P., 2001, How The Internet Works, 6th edn, Que, Indianapolis

Page 13: DISTRIBUTED APPLICATION REPORT

13

hyperlink that appears onscreen as a highlighted word, icon, or graphic. By moving a mouse

cursor over the item, or the object, and clicking it, you easily navigate to additional

information. This information can be located at any other place on the web, be it on the same

host server or one across the globe. A linked object can be various media, such as text, or

graphical button, or still images, for example. The documents and objects that are being

linked to, can be on the same site as the original document or on an entirely different site.

Interactive Forms

Interactive forms are used while working databases and the manipulation of data into

information requires some kind of response or feedback from the user. Such forms should

have a submit button, when clicked, communicates with the corresponding action file

according to the specified protocol. The data in the data fields is sent to the server with the

request. When a form submission is received by the server, it activates a CGI (Common

Gateway Interface) application, a program, or a script that interacts with a web server; it then

passes the resulting information to a web form. The program’s output goes either to another

program, such as a database, or into a unique HTML document or both.

2.3 Web Database Application

In future, users will essentially have one tool available to them: a Web browser. Whether

users are in-house using high-speed connections or on the road with modems, all information

would be stored on a massive backend database. Everything - every document, email, and

video clip - would be stored within the database. The system of having individual file servers

that store different portions of a company's files would die. Everything would be in a

centralized database.

There are two basic advantages to this centralised system. The first is cost savings. When

dozens of NT servers are replaced by one homogenous database, not only do those individual

servers disappear but so does the staff needed to maintain them. This system would also

simplify the desktop. Users would require hardly any help desk support.

The second advantage is that with files stored in a database, everything can be the subject of

queries.

The basic parts or layers of a database web application are:

� The client: the user’s web browser, a java applet, a java application, or even a

platform depended client program.

Page 14: DISTRIBUTED APPLICATION REPORT

14

� The application logic: encoded in the algorithms used in the CGI script, special

modules of the web server, or even an application depended server.

� The database connectivity: the database API, or general connectivity protocol such as

ODBC or JDBC.

� The database server: RDBMS, ODBMS, etc.

The implementation of such applications can be done using the multi-tiered model, because

one or more layers can be coalesced together. The usual implementation is a three-tiered

system:

� First tier: web client (eg. The user’s browser)

� Second tier: web server, CGI scripts and connection APIs for the database (e.g.

Apache with mod_php, supporting MySQL database, and PHP scripts)

� Third tier: the database server (e.g. MySQL server)

2.4 How Web Pages Works?

A search in a database begins with submitting a form in the web page, which in turn invokes a

CGI script. The browser might pass the data to the web server in a query string. When the

web server receives the request, it sends the information through the CGI program to the

database. Typically, the program is stored in a unique directory that contains all the CGI

scripts serviced by the web server. The database retrieves the records that match the criteria. It

then returns the retrieved data to the web server via the CGI in the form of a new HTML

page. The server then sends the page back to the client browser as a new HTML page.

2.5 Steps in Website Development

a) Define a strategy

Define why you want the website for. Evaluate the business objectives and target audiences -

who are they, what do you want to do with them and what they want from you. You will then

be in a position to brief what the contents of the website to be.

b) Prepare sitemap and storyboards

Illustrate how the website will work which gives an idea of how the content will flow.

Provide a series of storyboards which clearly show how different parts of the site will look

and how your web visitor will interact with you online.

Page 15: DISTRIBUTED APPLICATION REPORT

15

c) Design a website

Design the various output, input and its formats. Design the web forms also.

d) Build great content

Design the content of the website. It should be meaningful and sensible.

e) Test the site

Test the site for discrepancies and correct it if there is any. 3(Dinucci D. et. Al., 1999)

2.6 Features of a Successful Web site

a) Easy to read. If background colours or images are used, the text on top of the

background should be in a colour that can easily be seen. Use a colour scheme that

complements and is pleasing to the eye. White space between images and sections of text

make a page easier to view.

b) Easy to navigate. A visitor should be able to find the information they are looking

for without hassle and frustration. The site's navigation buttons should be grouped together. If

image links are used, text links should also be provided for those people who have images

turned off on their browser or are using an older browser that doesn't support images.

c) Comfortably viewed. A Web site should be easily viewable in all screen sizes

without a visitor having to scroll horizontally (left to right).

d) Quick to download. Graphics and sounds add download time to a Web page. Use

them sparingly. Don't make your visitors wait too long for your site to download or they will

click away and probably won't return. It is a good idea to find out what the approximate

download times are for people who are using 28K and 56K telephone modems. Not everyone

has DSL or cable Internet.

e) Avoid dead links. Make sure that links on all your pages are working, whether they

are internal links to pages within your site, or links to external Web sites.

3 Dinucci D., Giudice M., Stiles M., 1999, Elements of Web Design, 2nd edn, Peachpit Press, Berkeley,

CA

Page 16: DISTRIBUTED APPLICATION REPORT

16

f) Keep the content fresh. People are more apt to return to your Web site if they find

new and interesting material. Post articles on your site, offer a newly updated "Internet

Special" or provide fresh, helpful links. All these things cause visitors to bookmark your site

as a reference tool.

g) Clear and to the point. Visitors should have a clear understanding of what your Web

site is about when they visit. Studies have shown that people do not like to read computer

screens, so keep your Web site copy interesting to read and to the point.

h) Keep your target audience in mind. Think about the people who would be

interested in visiting your Web site. If you are designing a web site about razor blades and

shaving cream for men, the site should have a masculine feel to it. Decorating the page with

pink hearts and roses would not be a good idea!

i) Provide a form for visitors to contact you. Visitors are more likely to fill out a form

to contact you than clicking on an e-mail link. Always make things easy for your visitors…

especially contacting you.

j) Browser compatible. Check your Web site in the most popular browsers to make

sure everything is displayed properly. The top two browsers used are Internet Explorer and

Netscape Navigator, but there are others such as the AOL browser, Mosaic, Opera and Web

TV to name a few4 (http://www.istart.co.nz/web-design-development.htm). Various versions

of the same browser also display differently. It is a good idea to have a program on your

computer that checks browser and version compatibility.

5 (Nygaard V., 2000)

2.7 Mistakes in a Website

The most common errors are: -

� Unclear goals, no targets, no measures of success

� Content related issues

� Poor Structure and Navigation.

� Not optimised to produce effective Internet search engines listings.

� Done in isolation of other marketing activities

4 http://www.istart.co.nz/web-design-development.htm 5 Viki Nygaard, 2000, http://www.mountevansdesigns.com/articles_topten.html

Page 17: DISTRIBUTED APPLICATION REPORT

17

� Website project seen as solely a "technical" responsibility

� Poor choice of developer / tool

� Not updated regularly - seen as a one off exercise.

� Not written conforming to standards - Not tested in different software.

� No monitoring/ assessment of website visitor statistics

6 (http://www.webmastersink.com/webman/design/checklist.html)

2.8 Database Systems and RDBMS

A database management system consists of a collection of interrelated data and a set of

programs to access those data. The collection of data, usually referred to as the database,

contains information about one particular enterprise. The primary goal of a DBMS is to

provide an environment that is both convenient and efficient to use in retrieving and storing

database information. The database which uses tables for storage of data is the relational

DBMS7 (Silberschatz A., Korth H. F., Sudarshan S., 1997).

The Relational Model

This model has established itself as the primary data model for commercial data processing

applications. The relational model uses a collection of tables to represent both data and the

relationships among those data. Each table has multiple columns, and each column has a

unique name. A row in a table represents a relationship among a set of values.

Normalization

Among the undesirable properties that a bad database design have are

� Repetition of information

� Inability to represent certain information

A set of functional dependencies can be used in designing a relational database in which most

of the above said undesirable properties do not occur. It may become necessary to decompose

a relation into several smaller relations. Using functional dependencies, several normal forms

6 http://www.webmastersink.com/webman/design/checklist.html 7 Silberschatz A., Korth H. F., Sudarshan S., 1997, Database System Concepts, Mc-Graw Hill

International Editions

Page 18: DISTRIBUTED APPLICATION REPORT

18

are designed that represent good database designs. A set of design criteria and six rules,

normalization helps database designers prove that their logical design is correct and optimal.

Using normalization, undesirable features are removed from the design. Each successive rule

implies that the prior ones are met. Normalization implies splitting tables into two or more

tables with fewer columns. Most designs try to reach 3NF and a few 4NF, but not many reach

5NF. The six normalization rules are:

1. 1NF: Each row or column must have a single value with no repeating values.

2. 2NF: Every non-key column must depend on the primary key

3. 3NF: No non-key column can depend on another non-key column

4. BCNF: No attribute of a composite key can be dependant on an attribute of the other

composite key.

5. 4NF: An entity cannot have a 1:N relationship between primary key columns and

non-key columns.

6. 5NF: Break all tables into the smallest possible peaces to eliminate all redundancy

within a table.

Page 19: DISTRIBUTED APPLICATION REPORT

19

CHAPTER 3: TOOLS AND TECHNIQUES USED

3.1 Web Programming Tools

When it comes to Web development, we have a lot of options. Many of these methods involve

pre-processing— embedding code into HTML pages with special tags that signal to a pre-

processor that they contain code, and that it should do something with it. This code is then run

on the server, and it returns some content, which then assumes part of the shape of the

resulting HTML page sent back to the browser. Both the open source language PHP and

languages within Microsoft's ASP.NET framework fall into this category; Java Server Pages

(JSP) and Perl/Mason operate this way as well.

ASP.Net vs ASP

ASP.NET is a completely new ASP. It was written entirely from the ground up in C#.

ASP.NET makes use of compilable programming languages, such as Visual Basic.Net, C#,

even COBOL, to write Web Applications 8(http:// dotnetjunkies.com / WebLog/ seichert/

archive/2003/10/14/2598.aspx ). The applications are compiled on the server, and pages are

served in HTML for the specific browser that has issued the request.

ASP.Net vs PHP

Strengths and Weaknesses of ASP.Net

ASP.NET's strength lies clearly in its clean design and implementation. It is an object-

oriented programmer's dream, with language flexibility, and with sophisticated object-

oriented features supported. It is truly interoperable with your programmers' existing skills.

Another strength of ASP.NET is the development environment. Developers can use

WebMatrix, a community-supported tool, Visual Studio .NET, or various Borland tools such

as Delphi and C++ Builder. Plenty of other third-party IDE solutions for ASP.NET are certain

to surface as well.

But what you gain in robustness, you pay for in efficiency. ASP.NET is expensive with

respect to memory usage and execution time, which is due in large part to a longer code path.

For Web-based applications, these limitations can be a serious problem, because on the Web,

the application is likely to scale to thousands and thousands of users per second. Memory

usage can also become an issue on the Web server

8 http:// dotnetjunkies.com / WebLog/ seichert/ archive/2003/10/14/2598.aspx

Page 20: DISTRIBUTED APPLICATION REPORT

20

Strengths and Weaknesses of PHP

PHP 5 has still shortcomings including its lack of exceptions, event-based error-handling

instances that interrupt the normal flow of a program, jumping your code to a special error-

handling section. Java also provides exceptions for error handling, while C++ provides

exception handling via the try, catch, and throw syntax. Another weakness is that PHP's

function names are case insensitive.

PHP wasn't designed to be an object-oriented language. Some of those features were added

later, although care was made to keep backward compatibility with PHP 3, so you're left with

a bit of both models. The price is right, so you don't have to worry about licensing issues. It's

open source, too, so an entire community will keep a close eye on development, identifying

bugs and making sure they get fixed. And if there's a feature you don't like, you can dabble

with the code. What's more, PHP works native with Apache: It can be compiled as a module

or directly into the Apache binary.

Going with a web server with Apache's track record means security remains a top priority.

And, finally, PHP has a smaller code path, meaning there's less server-side code executed to

parse and execute your PHP page, which results in more efficient memory and usage and

faster execution 9(Moulding P., 2002).

3.2 .Net Architecture Microsoft describes the .NET framework variously as a “new computing platform designed to

simplify application development in the highly distributed environment of the Internet” and as

“XML web services platform that will enable developers to create programs that transcend

device boundaries and fully harness the connectivity of the Internet” 10( Jones R. A., 2002).

The following are the main features that are the underpinnings of the .NET framework:

� The Common Language Runtime(CLR): All code written in the .NET languages is

executed via the CLR. The CLR is responsible for enforcing various rules that are

designed to make .NET applications robust. These includes constraints on datatypes,

memory usage and application security.

� Managed Execution: The entire process of turning the source code into a running

application in the .NET framework is referred to as managed execution.

9 Moulding P., 2002, PHP – Black Book, 1st edn, dreamtech, New Delhi 10 Jones R. A, 2002, Mastering ASP.Net with VB.Net in VB.Net Complete, SYBEX, Alameda, CA

Page 21: DISTRIBUTED APPLICATION REPORT

21

� The Common Type System(CTS): CLR defines the CTS. At its most basic level, CTS

can be thought of as defining all the datatypes that managed code is allowed to use. It

also defines rules for creating, persisting, using, and binding to types.

� Cross-language Interoperability: Code written in one .NET language can be easily

used from another .NET language. This interoperability is pervasive.

� The .NET framework class library: A class library is a set of predefined classes that

can be used to access common functionality.

� Namespaces: Classes within the .NET framework class library are arranged in

namespaces, groups of objects that perform similar functions.

� Assemblies: .NET group code into units called assemblies. An assembly can consist

of a single file or can consist of components distributed across multiple files. The

CLR uses assemblies as a fundamental unit of management in many respects.

� Application domains: Application domain provides a second level of code grouping

in .NET. An application domain is composed of a group of assemblies loaded

together. The CLR enforces isolation between application domains, such that code

running in one application domain cannot directly manipulate objects in another

application domain.

� Security: The .NET framework implements both code access security and rule based

security.

� Deploying and Configuring .NET applications: The .NET framework is designed to

make deploying applications simple and less likely than current models to cause

conflicts with existing applications.

� Web Services: They are a means for interacting with objects over the Internet.

� Windows Forms: is the visual programming model for .NET.

� ASP.NET: is Microsoft’s server based framework for running .NET code on web

servers.

3.3 Why ASP.Net?

An important part of .NET is its use in creating Web applications through a technology

known as ASP.NET. Far more than an incremental enhancement to Active Server Pages

(ASP), the new technology is a unified Web development platform that greatly simplifies the

implementation of sophisticated Web applications. ASP.NET provides a programming model

and infrastructure that facilitates developing new classes of Web applications. Part of this

infrastructure is the .NET runtime and framework. Server-side code is written in .NET

compiled languages. Two main programming models are supported by ASP.NET.

Page 22: DISTRIBUTED APPLICATION REPORT

22

• Web Forms helps you build form-based Web pages. A WYSIWYG development

environment enables you to drag controls onto Web pages. Special "server-side"

controls present the programmer with an event model similar to what is provided by

controls in ordinary Windows programming.

• Web services make it possible for a Web site to expose functionality via an API that

can be called remotely by other applications. Data is exchanged using standard Web

protocols and formats such as HTTP and XML, which will cross firewalls.

Both Web Forms and Web services can take advantage of the facilities provided by .NET,

such as the compiled code and .NET runtime. In addition, ASP.NET itself provides a number

of infrastructure services, including state management, security, configuration, caching, and

tracing 11(www.aspauthors.com).

3.4 Why ORACLE?

In Oracle's view, smaller businesses would save money by using simple Internet connectivity

to access the same sort of power on remote, "professionally managed" systems. The other

major advantage is that sharing good information with outside resources would be much

easier since everything is stored remotely. Oracle foresees a time when all but a company's

"core competency" is outsourced to firms that have specific skills in various disciplines.

Using the Internet, a small firm could easily outsource all of its human resources, purchasing,

and other departments 12(http://www.oracle.com/technology/pub/articles/hull_asp.html).

3.5 ASP.Net and VB.Net in Detail

ASP.NET a next generation of ASP (Active Server Pages) introduced by Microsoft. Similar

to previous server-side scripting technologies, ASP.NET allows you to build powerful,

reliable, and scalable distributed applications. ASP.NET is based on the Microsoft .NET

framework and uses the .NET features and tools to develop Web applications and Web

services.

Even though ASP.NET sounds like ASP and syntaxes are compatible with ASP but ASP.NET

is much more than that. It provides many features and tools, which let you develop more

reliable and scalable, Web applications and Web services in less time and resources. Since

ASP.NET is a compiled, .NET-based environment; you can use any .NET supported

11 www.aspauthors.com 12 http://www.oracle.com/technology/pub/articles/hull_asp.html

Page 23: DISTRIBUTED APPLICATION REPORT

23

languages, including VB.NET, C#, JScript.NET, and VBScript.NET to develop ASP.NET

applications.

ASP.NET provides a programming model and infrastructure that facilitates developing new

classes of Web applications. Part of this infrastructure is the .NET runtime and framework.

Server-side code is written in .NET compiled languages. Two main programming models are

supported by ASP.NET.

• Web Forms helps you build form-based Web pages. A WYSIWYG development

environment enables you to drag controls onto Web pages. Special "server-side"

controls present the programmer with an event model similar to what is provided by

controls in ordinary Windows programming.

• Web services make it possible for a Web site to expose functionality via an API that

can be called remotely by other applications. Data is exchanged using standard Web

protocols and formats such as HTTP and XML, which will cross firewalls.

Both Web Forms and Web services can take advantage of the facilities provided by .NET,

such as the compiled code and .NET runtime. In addition, ASP.NET itself provides a number

of infrastructure services, including state management, security, configuration, caching, and

tracing.

3.6 Structured Query Language

A query language is a language in which a user requests information from the database. It can

be either procedural or non-procedural. In a procedural language, the user instructs the system

to perform a sequence of operations on the database to compute the desired result. In a non-

procedural language, the user describes the information desired without giving a specific

procedure for obtaining that information.

Of the several query languages, SQL has clearly established itself as the standard relational

database language. SQL has the following parts:

Data definition language provides commands for defining relation schemas, deleting

relations, creating indices, and modifying relation schemas.

Interactive data manipulation language includes a query language based on both the

relational algebra and the tuple relational calculus. It includes also commands to insert tuples

into, delete tuples from, and to modify tuples in the database.

Page 24: DISTRIBUTED APPLICATION REPORT

24

Embedded data manipulation language is designed for use within general purpose

programming languages.

View definition includes commands for defining views.

Authorization includes commands for specifying access rights to relations and views.

Integrity includes commands for specifying integrity constraints that the data stored in the

database must satisfy.

Transaction Control includes commands for specifying the beginning and ending of

transactions.

3.7 Javascript Javascript is an interpreted programming language whose interpreter is embedded inside the

web browser software. The script contained in web documents can be read by the browser’s

Javascript engine whenever the document is loaded into the browser window. In this way , the

web documents can be made to respond to the user’s actions and to perform dynamic visual

effects. The language contains many impressive features but for security reasons it cannot

read or write files, with the exception of cookie files that store a small amount of data 13(McGrath M., 2003). Combining Javascript with the Document Object Model (DOM)

allows the creation of powerful dynamic HTML effects.

3.8 Web Services Technology

Web services are the most promising feature of the .NET platform. A web service is a class

that resides on a web server, and its methods can be called over the Internet. The methods of

this class don’t return an HTML page. Instead, they return one or more values, packaged as

XML documents. Any application that can handle XML can call these methods and use their

results. Every application can access web services; conversely, any web server can expose

functionality in the form of web services. What makes it all possible is that everything is

based on a universal standard, the XML standard.

The web service class inherits from System.Web.Services The names of the functions is

prefixed with the following keyword to turn them into web methods:

<WebMethod()>

13 McGrath M., 2003, Javascript in easy steps, Computerstep, UK

Page 25: DISTRIBUTED APPLICATION REPORT

25

Any client application that has access to the Internet can call this method14 (Petrousos E.,

Bilgin A., 2002). Web services perform functions, which can be anything from simple

requests to complicated business processes...Once a Web service is deployed, other

applications (and other Web services) can discover and invoke the deployed service15 (Venu

V., 2001). Viewed from an n-tier application architecture perspective, the web service is a

veneer for programmatic access to a service which is then implemented by other kinds of

middleware. Access consists of service-agnostic request handling (a listener) and a facade that

exposes the operations supported by the business logic. The logic itself is implemented by a

traditional middleware platform.

14 Petroutsos E., Bilgin A., 2002, Mastering Visual Basic.Net Database Programming,

SYBEX, Alameda, CA 15 Venu V., 2001, O'Reilly Open Source Convention: July 26-30, Portland, OR, www.w3.org

Page 26: DISTRIBUTED APPLICATION REPORT

26

CHAPTER 4: ANALYSIS OF THE PROBLEM 4.1 Analysis – The Milestone of a Project

Systems analysis involves the investigation of a system to gain a thorough understanding on

the user requirements, how the present system is working and what are the problems

encountered in the working of the present system. This project uses a structured approach to

systems analysis and design which is characterized by the use of top-down decomposition and

modeling techniques within discrete phases defined by the systems development lifecycle.

4.2 Goals and Audience of the System

This website is designed with the aim of efficient and effective coordination of plant hire

information so that it reduces the cost incurred in manipulating the data using the current

manual system. The website is planned to implement solely for the use of xxxx Contractors

Ltd. As such the audience of the website are the various project managers who submit hire

requests and the authorized persons who make the orders. And of course, the website

administrator also visits the site for administrative purposes.

4.3 Requirements Analysis and Methodologies Used

Analysis of the existing system led to the requirement of a new system in which the data can

be manipulated easily. All the functions of the existing system are now being operated

manually. So it is decided to computerize the system by developing a web database

application. The existing system is functioning as follows: The project manager recognizes

the need for new equipment. He submits the request to his boss. Boss will issue the request

identification to the project manager. With that identification, he can make an order to the

hiring company. Hiring company hires the equipment on the date requested by the manager.

The equipment can be hired as long as the end of the project (as per the requirement of the

project). After the need, the equipment is off-hired to the hiring company.

For finding the requirements of the customer, I first browsed certain similar websites as

explained earlier. But as the project is prepared for xxxx, I understood that it is better and

wise to use some marketing research technologies to understand the needs and wants of

customers. The goal of marketing is nothing but satisfying the needs and wants of customers.

Good research generates dependable data, being derived by practises that are conducted

professionally and that can be used reliably for managerial decision making 16(Cooper D.R.,

16 Cooper D. R., Schindler P. S., 2003, Business Research Methods, 8th edn, Mc-Graw Hill, Irwin

Page 27: DISTRIBUTED APPLICATION REPORT

27

Schindler P. S., 2003). Research methods are concerned with how the required information

will be collected, and effective planning presupposes an understanding of the alternatives, and

how and when each can be effectively used 17(Hague P., Jackson P., 1995). Research methods

can be qualitative or quantitative. Qualitative methodologies gain qualitative understanding of

the underlying reasons and motivations of the issue in hand. The two qualitative research

methodologies that I used for finding the customer needs and wants are: Interviews and Focus

Groups.

First I conducted a secondary research on the records and registers of the Plant Hire

department in order to understand the nature of data processing done using the existing

manual system. I conducted interviews and focus groups with the management of xxxx group,

the plant hire department, the project managers and the employees, during the early stage of

the project development itself and throughout the whole project, in which we discussed about

the requirements. In addition, I also used my discretion or judgement in implementing the

system, which I gained through the experience in working with the group as a System

Engineer.

The research process undertaken for requirements analysis yielded the following results: The

project managers wanted a simple system for making a request for hiring equipment, from the

project site itself. The system should allow authorized persons to confirm the request and

issue an order id. Consensus is brought on in these discussions, on what should be the data to

be used as input and how should be the output. Discussions are also held to gain a grasp on

how the users are expecting what the look and feel of the website should be.

4.4 Formulation and Evaluation of Alternative Solutions

Before going into the design and development of the website, it is wise to evaluate the

feasibility and viability of designing and developing such a website. A feasibility study

involves determining if the information system makes sense for the organization from an

economic and operational standpoint. The project is evaluated for technical, operational and

economic feasibility.

Technical Feasibility

Evaluating the technical feasibility is the most important part of a feasibility study. This is

because, at this point of time, not too many detailed design of the system are provided thus

17 Hague P., Jackson P., 1995, Do Your Own Market Research, 2nd edn, Kogan Page

Page 28: DISTRIBUTED APPLICATION REPORT

28

making it difficult to assess issues like performance, costs on account of the kind of

technology to be deployed and so on. The main issues which have to be considered while

doing a technical feasibility is:

� Understand the different technologies that can be used to design and develop the

website.

� Find out whether the technology is widely accepted.

� Find out whether the technology can handle all the required operations in an effective

and efficient way.

Operational Feasibility

This section tests whether the website is feasible in terms of its operations. It should find out

whether the end users can effectively use the website for satisfying their requirements. These

requirements are the outcome of the requirements analysis stage, which is the first stage of

any project.

Economic Feasibility

Economic feasibility attempts to weigh the costs of developing and implementing a new

system, against the benefits that would accrue from having the new system in place. This

feasibility study gives the economic justification for the new system. A simple economic

analysis gives the actual comparison of costs and benefits. In addition, this proves to be a

useful point of reference to compare actual costs as the project progresses.

4.5 Content and Data Analysis

Decisions on the content of the website and the input and output data needed for the site are

made on this stage. The output of this stage of the project is used as the input to the design

stage – for page and forms design and database design. For example, the project manager

should fill up a form for requesting to hire equipment. This submitted request details is passed

on to the authorized persons for confirmation and issue of the unique order id.

4.6 Determining Interactivity

Interactivity determines how the web pages interact with the end user. This should be the

basis for forms designing. It is through the form fields that the user inputs the data which

interacts with the server in order to submit and confirm the hire request.

Page 29: DISTRIBUTED APPLICATION REPORT

29

4.7 Data Flow Diagram

A DFD (Data Flow Diagram) is a diagrammatic representation of the passage of data through

a system, and depicts any changes made to that data and what data is stored18 (Robinson b.,

Prior M., 1995). A DFD consists of the following components or elements: process, data

flow, data store and terminator. A process is used to transform data into information. For this

transformation, data must be moved from one process to another. This is depicted by the data

flow. The data store is the media used for storage - it can be a file, a pile of documents, or a

database. Data originating from or finishing outside the boundary of the defined system is

shown by a terminator.

The data flow diagram for PHIS is given in the appendix.

18 Robinson B., Prior M., 1995, Systems Analysis Techniques, International Thomson Computer Press

Page 30: DISTRIBUTED APPLICATION REPORT

30

CHAPTER 5: DESIGN OF THE SOLUTION

During the system design, models of the web pages and the database to be used are designed.

For this we have to make decision on what should be the contents of each page. Plans are

made on the data inputs on to the system, how the data will flow through the system and the

required outputs and program specifications.

5.1 Design of Output and Input

Decisions are taken on what should be the output given to the end user and how the output

should be presented. The media required for presenting the output is also designed. The media

used fro outputting in the PHIS is the CRT screen. The identified outputs of the system are as

follows:

� Information on request details to be authorized.

� Search results for queries on equipment on hire, according to certain criteria as shown

in explanation I. Also provides details of off-hired equipments.

Similar to output design, various data that should be used as inputs to the site are decided. The

main input to the Plant Hire Information System is the request details that are to be passed to

the authorized persons for confirmation and issue of an unique order id.

5.2 Database Design

Data are grouped into different tables which will be used in a relational database management

system 19(Silberschatz A., Korth H. F., Sudarshan S., 1997 ). After identifying the attributes

of the tables, the primary key and foreign key of each table is identified. The keys are used to

declare the relationship among the tables and an entity-relationship diagram is prepared. (See

appendix for list of tables and entity-relationship diagram).

Database designing is the process of developing the conceptual model of data. It is the

definition of entire information content of the organization and it specifies the relationship

between the data. The model is used to group data into a number of tables. For designing a

table, decisions must be made on the fields of the table, type of the field, its length, default

value etc. For this firstly, the entities and relationships must be identified. Secondly, their

attributes must be specified. The method of organizing or structure date into the tables is

19 Silberschatz A., Korth H. F., Sudarshan S., 1997, Database System Concepts, Mc-Graw Hill

International Editions

Page 31: DISTRIBUTED APPLICATION REPORT

31

known as normalization. The tables designed for this website are all in the normalized form.

The list of tables and the entity-relationship diagram are given in the appendix.

An entity is something about which the organization wishes to collect and store data. It is

capable of being uniquely identified. An attribute is a data element that is associated with an

entity. Entities are associated with each other via relationships20 (Robinson B., Prior M.,

1995).

This diagram can be considered as a simplified view of an entity-relationship diagram. Some

organizations follow this type of entity-relationship diagram as it is not complicated as the

other one and is easy to understand. Entities are given in the top of each box and the attributes

follow the entity. Entities are related via the primary key - foreign key relationship. Primary

and foreign keys are underlined in each box.

5.3 Page and Forms Design

Page design includes designing of the individual pages to be hosted in the site by structuring

its contents and designing the forms to be used for interacting with the end users. How to

navigate through the pages (hyperlink design) is also designed in this section.

Description of Hyperlinks

Buttons &

Hyperlinks Reference Form Action

Login HOME Display login form. Enter username and password. Check number of

characters in password .

Company Name HOME Link to the company website

SUBMIT LOGIN

Check username and password from LOGIN table. If correct, display

OPTIONS form. Else display ‘incorrect username or password’ with links

to ‘login’, ‘register now’ again.

20 Robinson B., Prior M., 1995, Systems Analysis Techniques, International Thomson Computer Press

Page 32: DISTRIBUTED APPLICATION REPORT

32

CHANGE

PASSWORD LOGIN

Display the form for changing the password. Ask for new password 2

times and check for similarity.

HIRE REQUEST OPTIONS Display the form in frame4 to enter the request details

AUTHORIZE

REQUEST OPTIONS

Display the request details from the temporary table for authorization in

frame 4

ON HIRE OPTIONS Display on_hire form for entering order date and the amount paid.

OFF_HIRE OPTIONS Display off_hire form for entering off hire date

GO (Select hire

detail) OPTIONS

Provide different possibilities as hyperlinks to refine the search criteria in

frame 4 (see explanation 1)

GO (Search for

hire company

details)

OPTIONS Display details of selected hire company in frame 4

SUBMIT HIRE REQUEST Insert into HIRE_REQ_TEMP table and display message ‘your request is

waiting for authorization’. Check validity of quantity.

AUTHORIZE

SELECTED

REQUESTS

AUTHORIZE

REQUEST

Insert into table HIRE_COMPANY. Generate a unique order id, after

selecting all the requests to be authorized. For authorizing, he should

select from the list of hire companies provided for each requests.

SUBMIT ON HIRE Insert order_id, order date and amount paid into ONHIRE_DATE_AMT

table and providing corresponding message.

SUBMIT OFF HIRE Insert order_id and off hire date into table OFF_HIRE_DATE and display

message ‘Off hire is successful.

Page 33: DISTRIBUTED APPLICATION REPORT

33

Descriptions of Buttons and Hyperlinks for WEB SITE ADMINISTRATOR

(use javascript for validating form fields)

Buttons &

Hyperlinks Reference Form Action

SUBMIT FORM 1 Generate department id and insert department id and name into the table

SUBMIT FORM 2 Generate manager id and insert manager id and name into table

SUBMIT FORM 3 Generate project id and insert the details in the table

SUBMIT FORM 4 Generate equipment id and insert details into the table

SUBMIT FORM 5 Generate hire company id and insert details into the table

SUBMIT FORM 6 Insert the details into the hire company equipment table.

SUBMIT FORM 7

Enter username and password and insert into LOGIN table; so that the

users can be issued the username and password by the website

administrator which can be used to login into the system the first time.

Explanation I:

We can provide a search facility for hire details based on different options. These options can

be selected from the combobox. The different options are:

� By department

� By project

� By request date

� By hire date

� By off hire date

� By hire company

� By order id (see explanation 2)

On selection of the above options, certain sub options are displayed in frame 4 which can be

used for refining the search criteria. For eg:-, if we select ‘by department’ all the department

Page 34: DISTRIBUTED APPLICATION REPORT

34

names will be listed in combobox. Upon selecting one department, frame 4 will displays the

details of all equipments hired by this department (only on hire) in a sequence. The details

listed are:

Explanation II

With this search result, we can provide a facility to update the hire amount. The form will be

as follows:

Frame 3 Frame 4

On clicking SUBMIT, check the value of checkbox. If true, the following form is displayed in

frame 4.

Order id is retrieved from the result of the above search and is disabled. Clicking SUBMIT

button update the ONHIRE_DATE_AMT table and displays the total amount paid for the

corresponding order.

Department Name Request Date: Equipment Name: On Hire Date: Brand: Expected Hire Date: Hire Company: Order id: Authorized Person: Project Name: Quantity: Department Name: Amount Paid:

Links same as RESULTS OF SEARCH In OPTIONS Page Want to update amount? (checkbox) SUBMIT

Order id: Amount paid:

SUBMIT

Page 35: DISTRIBUTED APPLICATION REPORT

35

CHAPTER 6: DEVELOPMENT OF PLANT HIRE INFORMATION SYSTEM

6.1 Website Implementation Plan

The website is divided into three different modules which are described as follows:

� Equipment Request Manipulation

Submission and authorization of request for the equipment and issue of unique order_id.

� Hire Details Manipulation

On-hire and off-hire details of the equipments are manipulated in this module.

� A ‘Search’ module

Users can view results (equipment hire details) of a search engine which will be based on

the following criteria:

a) by department

b) by project

c) by date

d) by hire company

e) by order_id

f) by off-hire date

Only registered users can visit the inner pages of the site. For this purpose, a facility for

registration and login is provided.

(See appendix for Data Flow Diagram)

6.2 Assumptions Made

� It is the web administrator who has the authority for adding details of new

departments, projects, equipments and the different hire company.

� If any equipment on hire needs to be exchanged due to malfunctioning, first the

equipment has to be off-hired and then a new request must be made for the same

equipment.

� It is assumed that the hire company can deliver the full number of equipments

requested.

6.3 The Pages

Pages for the End User

� HOME

The home page is implemented in four frames. The Top frame just shows the company

and system name. The left frame gives a general information on the whole system, which

Page 36: DISTRIBUTED APPLICATION REPORT

36

is the frame whose contents will change for other forms. The right frame provides links to

various hire companies.

� LOGIN

Users can access the whole system by logging into the system. Users are requested to

provide their username and password for verification.

� OPTIONS

Provide various links to navigate to the inner pages. Frame 2 of home page is again

divided into two frames.

� HIRE REQUEST

This form asks for the details of equipments to be ordered for hire.

� AUTHORIZE REQUEST

This form provides all the request details in a sequence which can be further selected by

the authorized person for confirmation.

� ON HIRE

The form allows to update the amount paid for a hired equipment.

� OFF HIRE

When an equipment is returned back to the hire company, the off hire date is entered into

the database via this form.

Pages for Web site Administrator

� Inserting new departments

� Inserting new managers

� Inserting new projects

� Inserting new equipments

� Inserting new hire company details

� Inserting details of a new equipment

� Registering new users

Page 37: DISTRIBUTED APPLICATION REPORT

37

CHAPTER 7: IMPLEMENTING AND TESTING THE WEBSITE

7.1 Implementing Home Page The home page gives general information on the website and provides a hyperlink to the user

to login to the site. It has links to the websites of certain plant hire companies. The home page

is implemented using frames whose design is as shown in the appendix.

7.2 Implementing the Forms

The website interacts with the users through forms. The main controls used in the forms are

labels, textboxes, combo boxes and buttons. There are four main forms:

Hire Request This form helps the project managers to submit the request for hiring

equipment.

Authorize Request Authorized persons can view all the requests for hiring equipment. He can

select the particular hire company from where the equipment is to be hired and there after

confirm the request. A unique order id will be generated for each confirmed request.

On Hire The amount paid for each order can be updated through this form.

Off Hire If any equipment is returned back, the corresponding details are recorded in the

database through this form.

7.3 Validation of the Form Fields

A lot of validations are provided in the interactive fields to avoid errors or mistakes while the

user giving their details and requirements. Data types are also validated. All validations are

done using Javascript.

7.4 Storage and Manipulation of Data

Oracle 9-i is used as the database. Data is manipulated with the help of related tables whose

description is given in the E-R diagram. Primary key and foreign key constraints are

developed and references among tables are given. All master tables are related to the child

tables via references.

7.5 Connecting with the Database

Database connection is implemented using the web services technology. The webservice

‘Hireconnect’ is created for the database connection. Oracle client namespace is used since

asp.net and vb.net are the development tools. Connection is made by instanciating an object

Page 38: DISTRIBUTED APPLICATION REPORT

38

of the OracleConnection class. The connection string is passed as parameter of that class. In

the connection string the datasource, username and password is used as parameters. One

object of ‘OracleCommand’ is then creates and different queries are passed as parameters of

this class. To read from the database the OracleDataReader class is used.

7.6 Error handling when working with the database

Exceptions are called for each and every database operation. Primary key constraints avoids

duplication of values of identifying fields in master tables.

7.7 Security Features

Only a registered user can browse through the forms. Administrator is the person who adds

new users. Any addition of new managers, department and so on is the duty of the web site

administrator. Also no person can browse the site unless he is logged in to the site with a

proper username and password.

7.8 Description of the Files Used The whole project is stored in two folders: PlantHireInfoSystem and HireConnect. The folder

PlantHireInfoSystem includes all the .aspx files and .aspx.vb files which incorporates the web

forms and the code behind each web forms. The file PlantHireInfoSystem.vbproj.webinfo is

used to provide the path of the whole project. The HireConnect folder has all the files for

implementing the web services technology for database connectivity and access. The

Planthire.asmx specifies the code behind filename and the name of the web services class.

The web service class and all its methods are defined in the code behind file

‘Planthire.asmx.vb’.

7.9 Installation Requirements The following are the tools required for installing the project:

Platform - Windows/Unix/Linux

Server - IIS with .Net framework

Database - ORACLE 9-i

Browser - Any supporting ASP.Net

Page 39: DISTRIBUTED APPLICATION REPORT

39

7.10 Testing the Website

Before presenting to the real world, a web application should be tested for its quality and

accuracy, for which certain test criteria are established. The criteria are set based on the

system specifications and user requirements. These tests make sure that the web application is

able to satisfy the requirements and execute in a manner executed.

Compatibility Testing

Compatibility testing measures how well pages display on different clients such as browsers,

different browser version, different operating systems, and different machines. The main

issues are the different implementations of HTML by the various browser manufacturers and

the different machine platform display and rendering characteristics.

Integration Testing

Integration tests are performed when new code is added to an existing code base. It measures

whether the new code works -- integrates -- with the existing code; these tests look for data

input and output, correct handling of variables, etc.

Security Auditing

Security auditing refers to the testing of the site and web server configuration with an eye

towards eliminating any security or access loopholes.

Usability Testing

Usability testing measures the site's user interface for ease and intuitiveness of navigation.

User Acceptance Testing

User acceptance testing refers to the process, between web site owners and contractors, of

setting up criteria for the formal acceptance of the web site code. Somebody must define the

tests that the web site code must meet the user requirements in order for the site work to be

considered complete -- and somebody must execute those acceptance tests.

Validation Testing

Validation testing verifies that the HTML code in a file meets the DTD (Document Type

Definition) for any particular version of HTML.

Page 40: DISTRIBUTED APPLICATION REPORT

40

How Plant Hire Information System is tested?

PHIS is accessed using the browsers Internet Explorer and Netscape Navigator, in different

versions to know whether it is browser compatible. It is developed in different modules – hire

request, authorize request, on hire, off hire and site administration. When each module was

developed it was integrated with the already developed modules and tested whether it works

fine as a whole. Each web page is tested for the look and feel and whether it is acceptable to

the users. It is also tested whether it is easy to navigate through the pages even for a person

who is using Internet for the first time. When forms are filled out, each field value is checked

by using client side validations. It is tested whether the correct and appropriate validation

messages are displayed to the user. PHIS ask for the username and password before users are

allowed to access the inner pages as part of maintaining the privacy and security of the whole

data processing function.

Page 41: DISTRIBUTED APPLICATION REPORT

41

CHAPTER 8: FUTURE ENHANCEMENTS AND CONCLUSION

8.1 Future Enhancements

Certain features are not implemented as I found it is not economically and technically feasible

on the perspective of a student project. But later on, this work can be developed into a fully

commercial website, provided the following enhancements are made:

PHIS can be modified as a website which can be used by any companies hiring equipments as

the xxxx group. For this purpose the database should be modified significantly to incorporate

all such companies wishing to use the website. In fact, then the database should be dynamic.

The website can be further enhanced to include advertisements of construction companies and

hire companies. An electronic cash transaction system can be developed for payment of cash

to the hire company for satisfying the hire request.

In developing PHIS, it is assumed that the hire company can satisfy each request in full

number needed by the project. But in future, it can be modified by searching whether the

company can satisfy the request in full. If not, the system will automatically search in the

database for another company who can satisfy the remaining request and inform the

authorized person. In such cases, he can make the remaining order from that company.

8.2 Conclusion

Plant Hire Information System developed for xxxx Contractors Ltd. is supposed to reduce the

operating costs of hiring equipments for different projects. Hope that this website can be

developed and implemented properly and as intended. Due to the experience gained till now

by working on the project, I understood how to analyse a problem, find out a feasible solution

from the alternatives, and properly analyse the existing system. I also learned to design the

database and the different web forms. After programming the site, I am now thorough with

VB.Net and ORACLE. More important is, I gained practical experience in designing and

developing a business website.

Technically concluding, the site is developed by using the most popular web programming

languages and tools which helps in providing greater degree of flexibility and interactivity to

the end users.

Page 42: DISTRIBUTED APPLICATION REPORT

42

REFERENCES

1. Cooper D. R., Schindler P. S., 2003, Business Research Methods, 8th edn, Mc-Graw

Hill, Irwin

2. Gralla P., 2001, How The Internet Works, 6th edn, Que, Indianapolis

3. Hague P., Jackson P., 1995, Do Your Own Market Research, 2nd edn, Kogan Page

4. Jones R. A, 2002, Mastering ASP.Net with VB.Net in VB.Net Complete, SYBEX,

Alameda, CA

5. McGrath M., 2003, Javascript in easy steps, Computerstep, UK

6. Moulding P., 2002, PHP – Black Book, 1st edn, dreamtech, New Delhi

7. Murphy B., 2000, Building a Website on the Internet, The Cromwell Press, Wiltshire

8. Petroutsos E., Bilgin A., 2002, Mastering Visual Basic.Net Database Programming,

SYBEX, Alameda, CA

9. Robinson B., Prior M., 1995, Systems Analysis Techniques, International Thomson

Computer Press

10. Silberschatz A., Korth H. F., Sudarshan S., 1997, Database System Concepts, Mc-

Graw Hill International Editions

11. Vasudevan V., 2001, O'Reilly Open Source Convention: July 26-30, Portland, OR, www.w3.org

12. Viki Nygaard, 2000, http://www.mountevansdesigns.com/articles_topten.html

13. http://www.aspauthors.com

14. http://www.xxxxplc.co.uk

15. http://dotnetjunkies.com/WebLog/seichert/archive/2003/10/14/2598.aspx

16. http://www.oracle.com/technology/pub/articles/hull_asp.html

17. http://www.istart.co.nz/web-design-development.htm

18. http://www.webmastersink.com/webman/design/checklist.html

BIBLIOGRAPHY

1. http://www.paston.co.uk/web-design-cm.html

2. http://www.siec.k12.in.us/~west/online/steps1.htm

3. http://www.philosphe.com

Page 43: DISTRIBUTED APPLICATION REPORT

43

APPENDICES

Dataflow diagram Level 0

Dataflow diagram Level 1

Page 44: DISTRIBUTED APPLICATION REPORT

44

Entity-Relationship Diagram

Hire Order Order id Request date Project id Equipment id Hire Company id Authorized person Expected Hire date Quantity

Department Department id Department name

Project Manager id Project id Project name Department id Site location Start date End date

Project Manager Manager id Manager name

Hire Company Hire Company id Name Address Phone Email

Hire Comp_Equip Equipment id Hire Company id Charging details

Off Hire Order id Off Hire Date

Equipment Equipment id name/category Brand Purpose

Hire_Req_Temp Request date Project id Equipment id Expected hire date Quantity

Onhire_Date_Amt Order id Order date Amount paid

Page 45: DISTRIBUTED APPLICATION REPORT

45

Web Pages and Forms and Explanations (All the underlined word(s) are hyperlinks)

PAGES FOR AUTHORISED PERSONS AND PROJECT MANAGERS 1. HOME page

Frame1

xxxx CONTRACTORS Ltd. PLANT HIRE INFORMATION SYSTEM

Picture of Some hire Equipments This website allows the project mangers of xxxx Contractors Ltd. to submit request for hiring an equipment and the authorized persons to authorize the request and issue an ordered. The project managers and authorized persons should login to the site using the username and password provided by the website administrator for the first time. Thereafter they can change the password if needed. Links to hire Company web Sites

Picture of some construction works

LOGIN

Frame2 Frame3

Page 46: DISTRIBUTED APPLICATION REPORT

46

2. LOGIN form Table Required: LOGIN 3. OPTIONS form

Username: Password:

SUBMIT CHANGE PASSWORD

Hire Request Welcome to username. Authorize Request You can select from the different options provided On-Hire in the left frame. Off-Hire Tutorial Search for hire details (Combo Box)

Search for hire Company (Combo Box)

Administration Page

GO

GO

Page 47: DISTRIBUTED APPLICATION REPORT

47

4. HIRE REQUEST form Tables Required: HIRE_REQ_TEMP, PROJECT, EQUIPMENT 5. AUTHORIZE REQUEST form Tables Required: HIRE_REQ_TEMP, PROJECT, EQUIPMENT, HIRE_COMPANY, HIRE_COMP_EQUIP, HIRE_ORDER

Request Date: Project Name:

Required Equipment: (Combo Box)

Required Brand: (Combo Box)

Expected Hire Date: Required Quantity:

Today’s Date

(Combo Box)

(Calendar)

SUBMIT

Welcome to authorised person Request Details Request Date: …………. Equipment Name:……………. List of Hire Companies Project Name: …………. Brand Name: ………………… Hire Company1 Manager Name: ……….. Expected Hire Date: …………. Hire Company2 . Required Quantity: ………….. . . …………………………………………………………………………………………. …………………………………………………………………………………………..

AUTHORISE SELECTED REQUESTS

Page 48: DISTRIBUTED APPLICATION REPORT

48

6. ON-HIRE form Table Required: ONHIRE_DATE_AMT 7. OFF-HIRE form

Tables Required: OFF_HIRE_DATE

Order id: Hire Date: Amount Paid:

(Calendar)

SUBMIT

Order id: Off-Hire Date:

(Calendar)

SUBMIT

Page 49: DISTRIBUTED APPLICATION REPORT

49

PAGES FOR WEB SITE ADMINISTRATOR 1. For inserting new departments (FORM 1) Tables Required: DEPARTMENT. 2. 2. For inserting new managers (FORM 2) Table Required: MANAGER 3. For inserting new projects (FORM 3) Table Required: PROJECT

New Department

SUBMIT

New Manager

SUBMIT

Name Department Manager Site Location Start Date End Date

(Combobox)

(Combobox)

SUBMIT

Page 50: DISTRIBUTED APPLICATION REPORT

50

4. For inserting new equipments (FORM 4) Table Required: EQUIPMENT

5. For inserting new hire company details (FORM 4) Table Required: HIRE_COMPANY 6. For inserting the details of a new equipment possessed by a hire company

(FROM 6) Table Required: HIRE_COMP_EQUIP

Name Brand Purpose

(TextArea)

SUBMIT

Name Address Phone Email

(TextArea)

SUBMIT

Company Name Equipment Name Brand Charge

(ComboBox)

(ComboBox)

(ComboBox)

SUBMIT

Page 51: DISTRIBUTED APPLICATION REPORT

51

7. For registering new users (FORM 7) Table Required: LOGIN

User Name Password Re-type Password

SUBMIT

Page 52: DISTRIBUTED APPLICATION REPORT

52

Screenshots: Home page: This page has been deleted for confidentiality purposes Login Page:

Options page:

Page 53: DISTRIBUTED APPLICATION REPORT

53

Hire request:

Authorize Request:

Page 54: DISTRIBUTED APPLICATION REPORT

54

On hire:

Off hire:

Page 55: DISTRIBUTED APPLICATION REPORT

55

Search for Hire details:

Search result of Civil department:

Page 56: DISTRIBUTED APPLICATION REPORT

56

Search result of Project: xxxx hospital Printout deleted for confidentiality reasons Search result of Orders:

Page 57: DISTRIBUTED APPLICATION REPORT

57

Administration pages:

New Department Page:

Page 58: DISTRIBUTED APPLICATION REPORT

58

New Equipment page:

New Equipment possession by company:

Page 59: DISTRIBUTED APPLICATION REPORT

59

New Hire Company:

New Manager Entry:

Page 60: DISTRIBUTED APPLICATION REPORT

60

New User Entry:

Access denied to project manager to admin pages:

Page 61: DISTRIBUTED APPLICATION REPORT

61