implementing e-procurement platfrom for software ... grade/kamal singh... · 3.2 system design 25...

119
IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE CONSULTANCY SERVICES USING MVC DESIGN PATTERN AND AJAX THESIS SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF TECHNOLOGY IN INFORMATION TECHNOLOGY (SOFTWARE ENGINEERING) Under the Supervision of Prof. G. N. PANDEY IIIT-Allahabad Submitted By Kamal Singh M. Tech. IT (SE) MS200520 IIIT-Allahabad INDIAN INSTITUTE OF INFORMATION TECHNOLOGY, ALLAHABAD

Upload: others

Post on 12-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE CONSULTANCY

SERVICES USING MVC DESIGN PATTERN AND AJAX

THESIS

SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS

FOR THE DEGREE OF

MASTER OF TECHNOLOGY IN INFORMATION

TECHNOLOGY

(SOFTWARE ENGINEERING)

Under the Supervision of

Prof. G. N. PANDEY

IIIT-Allahabad

Submitted By

Kamal Singh M. Tech. IT (SE)

MS200520 IIIT-Allahabad

INDIAN INSTITUTE OF INFORMATION TECHNOLOGY,

ALLAHABAD

Page 2: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

IINNDDIIAANN IINNSSTTIITTUUTTEE OOFF IINNFFOORRMMAATTIIOONN TTEECCHHNNOOLLOOGGYY

AALLLLAAHHAABBAADD (A Centre of Excellence in IT Established by MHRD, Govt. of India)

Date: ______________

WE DO HEREBY RECOMMEND THAT THE THESIS WORK PREPARED

UNDER MY SUPERVISION BY Kamal Singh ENTITLED Implementing e-

procurement platform for software consultancy services using MVC design

pattern and Ajax BE ACCEPTED IN PARTIAL FULFILMENT OF THE

REQUIREMENTS FOR THE DEGREE OF MASTER OF TECHNOLOGY IN

INFORMATION TECHNOLOGY (SOFTWARE ENGINEERING) FOR

EXAMINATION.

COUNTERSIGNED

Prof. U. S. Tiwary

DEAN (ACADEMIC)

Prof. G. N. PANDEY

(THESIS ADVISOR)

Page 3: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

IINNDDIIAANN IINNSSTTIITTUUTTEE OOFF IINNFFOORRMMAATTIIOONN TTEECCHHNNOOLLOOGGYY

AALLLLAAHHAABBAADD (A Centre of Excellence in IT Established by MHRD, Govt. of India)

CERTIFICATE OF APPROVAL

The foregoing thesis is hereby approved as a creditable study in the area of

information technology carried out and presented in a manner satisfactory

to warrant its acceptance as a pre-requisite to the degree for which it has

been submitted. It is understood that by this approval the undersigned do

not necessarily endorse or approve any statement made, opinion expressed

or conclusion drawn therein but approve the thesis only for the purpose for

which it is submitted.

COMMITTEE ON

FINAL EXAMINATION

FOR EVALUATION

OF THE THESIS

Page 4: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

CANDIDATE DECLARATION This is to certify that this thesis work entitled “Implementing E-procurement

platform for software consultancy services using MVC design pattern and

Ajax’’ which is submitted by me in partial fulfillment of the requirement for

the completion of M.Tech in Information Technology specialization in

Software Engineering to Indian Institute Of Information Technology,

Allahabad comprises only my original work and due acknowledgement has

been made in the text to all other materials used.

Name : Kamal Singh

M.Tech.IT in: Software Engineering

Enrolment no: MS200520

Page 5: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

1 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

DECLARATION

This is to certify that this thesis work entitled “Implementing e-

procurement platform for software consultancy services using MVC

design pattern and Ajax’’ which is submitted by me in partial fulfillment

of the requirement for the completion of M.Tech in Information

Technology specialization in Software Engineering to Indian Institute Of

Information Technology, Allahabad comprises only my original work and

due acknowledgement has been made in the text to all other materials

used.

Name : Kamal Singh

Mtech IT in : Software engineering

Enrolment no. : MS200520

Indian Institute of Information Technology, Allahabad. 2007

Page 6: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

2 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

ACKNOWLEDGEMENT

This dissertation has been the culmination of months of efforts. Many people

have provided support in various forms during its development and during the

research which led to it.

The platform which provided me with all the necessary resources because of which I

am able to do my work is my institute, “Indian Institute of Information Technology,

Allahabad” and it is the first and foremost I would like to express my thanks to.

My special thanks goes to Honorable Director of IIIT-A Dr. M. D. Tiwari and Dean

Prof. U. S. Tiwary for making the environment of this college so friendly and giving

us constant support. It’s been a great experience to work continuously in lab which is

open for 24 hours with high speed LAN.

I would like to express my forthright gratitude to my thesis supervisor Prof. G. N.

Pandey. His overly enthusiasm and integral view on research and his mission for

providing only high quality work and nothing lesser, has made a deep impression on

me. I owe him lots of gratitude for having me shown this way of research. I would

like to thank him for keeping an eye on the progress of my work and always available

when I needed his advises.

I also want to show my gratefulness to all my friends for their boosting and

encouragement without which I may not able to complete my work. I am really lucky

to be blessed with such nice friends.

Special thanks to my parents for their support without which I may not reach this

stage in my life. I thank to God for giving me such a wonderful family. The

expression of my gratitude for them is far beyond words.

Kamal Singh

Indian Institute of Information Technology, Allahabad. 2007

Page 7: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

3 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

ABSTRACT

The project provides insight into building an effective and efficient online

procurement platform for software consultancy services. The term e-procurement is

basically used to address procurement activities supported by the use of internet

communication facilities. Project developed under this thesis work provide a

procurement platform for software consultancy services that can be used by two types

of users, procurers and coders. Here term “software consultancy services” stands for

those types of services that a consultant organization provides to the procurer

organization. Procurer organizations may use this online platform in finding out best

consultant organization, which can develop a software project/product for them in

affordable cost, and coder organizations may use this platform for providing needed

services by the procurer organizations. The platform provides repository for

consultants, procurers and projects to the user.

The system is developed by taking in view the traditional process of

getting and providing software consultancy services by software organizations. The

thesis project is not only about to implement an e-procurement platform but to

implement in a way that it would be more reusable, flexible, interactive and user

responsive. Model view controller design pattern and Ajax technology is used to serve

these purposes.

Kamal Singh

Indian Institute of Information Technology, Allahabad. 2007

Page 8: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

4 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

TABLE OF CONTENTS

DECLARATION i ACKNOWLEDGEMENT ii ABSTRACT iii TABLE OF CONTENT iv LIST OF FIGURES vi LIST OF TABLES viii ABBREVIATIONS ix 1 INTRODUCTION 1 1.1 Overview 1 1.2 Problem Statement 2 1.3 Motivation 3 1.4 Scope of present investigation 4 2 LITERATURE REVIEW 7 2.1 E-procurement 8 2.2 Benefits of adopting e-procurement 8 2.3 Types of e-procurement 9 2.4 Stages of tendering process 9 2.5 Software consultancy services 10 2.5.1 Traditional procurement process for s/w consultancy services 10 2.6 Ajax 11 2.6.1 Purposes of using Ajax 11 2.6.2 Benefits of applying Ajax technology 12

3 PLAN OF WORK 13 3.1 Requirement specification for the system 13 3.1.1 The problem 13 3.1.2 Project proposal 13 3.1.3 Additional requirement 15 3.1.3.1 Product perspective 15 3.1.3.2 User characteristics 16 3.1.3.3 User view of product use 17 3.1.3.3.1 administrator 17 3.1.3.3.2 User interface for procurer and consultant 17 3.1.3.4 Overview of data requirement 18 3.1.3.5 Performance requirements 18 3.1.3.6 Design constraints 18 3.1.4 Requirement analysis 19 3.1.4.1 Use case for actor Administrator 19 3.1.4.2 Use case for actor Procurer 21 3.1.4.3 Use case for actor Consultant 23

3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2 Why MVC design pattern 26 3.2.2 Design Implementation (MCV) 27 3.2.2.1 Processing Request 28 3.2.2.2 Servlet Container 29 3.2.3 Strategy pattern 29 3.2.4 Block diagram of the system 30 3.2.5 Class diagram 31

Indian Institute of Information Technology, Allahabad. 2007

Page 9: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

5 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

3.2.6 Interaction diagram 40 3.2.6.1 Sequence diagrams 43 3.2.7 Database design 46

3.3 implementation 48 3.3.1 Packages 48 3.3.2 Servlet Working 48 3.3.3 Tomcat servlet container 49 3.3.4 Implanting the procurement system 49 3.3.5 Applying Ajax in developing the system 55

4 RESULTS AND DISCUSSION 60 4.1 Ajax application 60 4.2 Two Interface for the system 61 4.3 Communication facilities 63 4.4 Procurer’s related activities 64 4.5 Consultant’s related activities 69 4.6 Administrator Work 73

5 CONCLUSION AND FUTURE WORK 76 5.1 Conclusion 76 5.2 Future Work 78

APPENDIX 79 Appendix A: remaining sequence diagram for the system 79 Appendix B remaining screenshots for the system 94

BIBLIOGRAPHY 104

Indian Institute of Information Technology, Allahabad. 2007

Page 10: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

6 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

LIST OF FIGURES

Fig 2.1 Online procurement platform 7

Fig 3.1 Use case diagram for actor administrator 20

Fig 3.2 Use case diagram for actor procurer 22

Fig 3.3 Use case diagram for actor consultant 24

Fig 3.4 Model view controller architecture 26

Fig 3.5 Design implementation of of MVC architecture 27

Fig 3.6 Strategy pattern 29

Fig 3.7 Applying strategy pattern 30

Fig 3.8 Basic block diagram of the system 31

Fig 3.9 class diagram for administrator 34

Fig 3.101 Class diagram for procurer 35

Fig 3.11 Class diagram fro consultant 36

Fig 3.12 Sequence diagram for posting project proposal 41

Fig 3.13 Sequence diagram for placing bid on project 42

Fig 3.14 Sequence diagram for sending message 43

Fig 3.15 Sequence diagram for validation username using Ajax 44

Fig 3.16 Sequence diagram for fetching states into registration page 45

Fig 3.17 Sequence diagram for validation project title using Ajax 45

Fig 3.18 Data base design 47

Fig 3.19 Servlet working 49

Fig 3.20 Tomcat directory structure for e-procurement system 50

Fig 3.21 Response sent by search project servlet. 55

Fig 3.22 GUI for registration page after fetching Ajax response 59

Fig 4.1 GUI for user registration page 60

Fig 4.2 registration page after fetching Ajax response 61

Fig 4.3 list of messages get by users 62

Fig 4.4 modern GUI for user account page 62

Fig 4.5 windows for reading message 63

Indian Institute of Information Technology, Allahabad. 2007

Page 11: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

7 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Fig 4.6 windows showing the list of sent messages 63

Fig 4.7 windows for sending message reply 64

Fig 4.8 list of posted project s by procurer 65

Fig 4.9 list of bids get by procurer on his one of posted project 66

Fig 4.10 windows for posting project 66

Fig 4.11 Window showing search consultant result 67

Fig 4.12 list of notifications get by procurer 68

Fig 4.13 list of projects procurer assigned to different coders 68

Fig 4.14 consultant profiles including personal, technical and rating detail 69

Fig 4.15 list of bids placed by the consultant on different projects 70

Fig 4.16 list of project search result 70

Fig 4.17 Window for reading project detail 71

Fig 4.18 Window for placing bid 72

Fig 4.19 Window for editing and creating consultant profile. 72

Fig 4.20 Windows listing pending projects for verification 73

Fig 4.21 Windows showing pending project detail 73

Fig 4.22 Windows listing pending bids for verification 74

Fig 4.23 Windows showing pending bid detail 74

Appendix A: Remaining Sequence diagram for the system

Figure 1 Sequence diagram for login 79

Figure 2 Sequence diagram for Changing View 79

Figure 3 Sequence diagram for Inbox 80

Figure 4 Sequence diagram for Reading Message 80

Figure 5 Sequence diagram for Reading sent message 81

Figure 6 Sequence diagram for registration 81

Figure 7 Sequence diagram for Editing/ creating profile 82

Figure 8 Sequence diagram for searching coders/consultants 82

Figure 9 Sequence diagram for Reading notifications (procurer) 83

Figure 10 Sequence diagram for Assigning project to consultant 83

Indian Institute of Information Technology, Allahabad. 2007

Page 12: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

8 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 11 Sequence diagram for viewing recent posted project 84

Figure 12 Sequence diagram for viewing bid details (procurer) 84

Figure 13 Sequence diagram for viewing the list of posted project 85

Figure 14 Sequence diagram for reading project detail 85

Figure 15 Sequence diagram for viewing procurer notifications 86

Figure 16 Sequence diagram for viewing list of bid placed (consultant/coder) 86

Figure 17 Sequence diagram for seeing recent placed bids 87

Figure 18 Sequence diagram for viewing list of assigned projects 87

Figure 19 Sequence diagram for viewing list of projects assigned to coders 88

Figure 20 Sequence diagram for verifying project posted by procurers 88

Figure 21 Sequence diagram for viewing pending project details (administrator) 89

Figure 22 Sequence diagram for viewing recent pending bids (administrator) 89

Figure 23 Sequence diagram for verifying pending bids placed by 90

Figure 24 Sequence diagram for rejecting pending bids placed by 90

Figure 25 Sequence diagram for searching projects 91

Figure 26 Sequence diagram for viewing notifications (consultants) 91

Appendix B: Remaining screenshots for the system

Figure 1 Home page for the system 92

Figure 2 Login page for users (procurer/consultant) 92

Figure 3 Login page (after entering wrong username/password) 93

Figure 4 Login page (after session expiration) 93

Figure 5 Login page (after logout) 94

Figure 6 Login page for administrator 94

Figure 7 View pending page (after verifying project proposal) 95

Figure 8 Pending project page (after rejecting project proposal), admin 95

Figure 9 Pending project page (after deleting a project proposal) 96

Figure 10 View pending bid detail (after verifying a bid proposal) 96

Figure 11 Pending bids page (after rejecting bid proposal) 97

Indian Institute of Information Technology, Allahabad. 2007

Page 13: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

9 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 12 Pending bid page (after deleting a bid proposal) 97

Figure 13 Procurer activity page (after accepting a bid proposal) 98

Figure 14 Coder activity page (after trying to assign a already assigned project) 98

Figure 15 Coder activity page (after accepting a project proposal) 99

Figure 16 View project detail page (for trying to place bid more than one, on a 99

Figure 17 View project detail page (for trying to place bid on your own posted 100

Figure 18 View project detail page (after placing bid on a project) 101

Figure 19 Procurer activity page (After posting a project) 102

Figure 20 Procurer activity page (After trying to assign a already assigned 103

Indian Institute of Information Technology, Allahabad. 2007

Page 14: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

10 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

LIST OF TABLES

Table.1 descriptions of the classes (administrator)

37

Table.2 Descriptions of the classes (procurer and consultant) 39

Indian Institute of Information Technology, Allahabad. 2007

Page 15: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

11 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

ABBREVIATIONS

AJAX Asynchronous java script and xml

DB Data Base

DOM Document object model

ERP Enterprise resource planning

GUI Graphics user interface

HTML Hyper text markup languages

HTTP Hypertext transfer protocol

IE Internet explorer

IO Input output

J2EE Java 2 enterprise edition

JSP Java server paged

MRO Maintenance, Repair and Operating

MVC Model view controller

RFP Request for proposal

UML Unified modeling language

URL Uniform resource locator

XML Extensible markup language

Indian Institute of Information Technology, Allahabad. 2007

Page 16: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

1 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

CHAPTER 1

INTRODUCTION

This Chapter describes the overview of the thesis project. The chapter will

give an insight to the reader about the problem statement and motivation of doing this

work and continues with the scope of present investigation.

1.1 Overview

The term e-procurement is basically used to address procurement activities

supported by the use of computers and the internet communication facilities. E-

procurement is more than just a system for making purchase online. E-procurement

system should also connect organizations and their business processes with suppliers

while managing all interaction between them. This includes management of

correspondence, bids, procurer related activities, and supplier related activities and

other supporting activities. [1]

The procurement platform developed under this thesis work provides all above

functionalities to the users. The procurement platform developed is for software

consultancy services. The term “software consultancy services” stands for the services

that a consultant organization provides to the procurer organization. This procurement

platform can be used by two types of user procurer and the consultant/coder. The

platform is developed by taking the fact in consideration that a user can work for

some one as well he can assign some one other for doing his work. It means every

user may perform both types of activities (procurer related and consultant related)

using single user account. Every user have to make his profile for performing

procurement activities if the user wants to perform only procurer related activities

then he has to create procurer profile and if he wants to perform consultant/coder

activities as well then he has to make his consultant profile too.

A procurer organization can use this platform in finding out the best

consultant organization which can develop a software project for them in affordable

cost. After finding consultant, he can make agreement and can give contract to the

Indian Institute of Information Technology, Allahabad. 2007

Page 17: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

2 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

selected consultant for the project development. Consultant organization may use the

same platform for getting projects from procurers and can provide needed projects to

procurers in exchange of money. This platform provides these main functionalities to

the users.

1. Repository for consultants and procurers.

2. Repository for projects

3. Communication facilities.

4. Automatic notification facility

5. A platform for managing all procurer and consultant related activities.

6. A platform for performing all procurer and consultant related activities.

7. Rating facilities.

1.2 Problem Statement

Today there is no good on line procurement platform for software consultancy

services. So the project developed under this thesis work is for providing e-

procurement platform for procuring software consultancy services. And the aim of

this thesis project was not only to implement e-procurement application but to

implement in a way that this application will be more reusable, maintainable and user

interactive. Today the most demanding requirement for web application is that its

presentation (GUI) should be easier to change. As lots of organizations are adopting

the culture of changing GUI of their web based applications once or more than once

in a year. MVC design pattern helps in making web applications modify-able with

future requirement by splitting the whole application into three components model,

view and controller. Each of these component handles discrete set of tasks, view is the

interface the user sees and interact with, model represents business rules and

enterprise data ,its where the most of the processing takes place and finally the

controller that interprets request from the user and calls portion of the model and view

as necessary to fulfill the request [26]. Now as the model and view is separated to

Indian Institute of Information Technology, Allahabad. 2007

Page 18: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

3 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

each other so now we can change the view (GUI) of the web application without

making impact on business logic of the application and vice versa

Today general web applications are less interactive and user responsive

therefore we need some technology that can make web applications with improved

user interactivity and responsiveness. Ajax is a technology that makes web application

with improved performance and interactivity. It’s a technology through which we can

retrieve new data on the page we are working with and the page will get update

immediately without reloading. [2]

1.3 Motivation

There were several motivations behind doing this work. The system developed

will provide lots of facilities to both users through out the procurement process. The

basic motto behind developing this procurement platform is to make procurement

process easy and fast for users and save lots of resources like time, money and human

involvement etc. I have chosen this topic for the Dissertation work due to the

following reasons:

• In my thesis work I wanted to develop a web-based system so that I could learn

web technologies by completing this project as my thesis work.

• E-procurement helps with decision-making process, like it helps in choosing best

consultant among the big list of consultants by keeping all information neatly

organized and time stamped.

• There are many problems in traditional system; like it needs a lot of physical

movement and communications and therefore needs a lot of resources. For

example if we see traditional tendering process then we will find that the process

starts with issuing the tender in form of hard copy, then some authority peoples

shortlists the suppliers and sends invitation to place bids again in the form of

hardcopy and the process runs so on. The traditional process requires a lot of

involvement of people and movement of documents that ultimately consumes lots

of resources. And by the help of this web based procurement platform users can

save these resources.

Indian Institute of Information Technology, Allahabad. 2007

Page 19: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

4 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

• There are many problems associated with general web applications that are

needed to be solved for making applications more flexible, maintainable and user

interactive. those problems are

- To show the same information in different format and in different view.

- Making changes in user interface.

- Keeping central functionality of the system independent to the interface.

- Getting some new data on the same page we are working with without

reloading that page. [3, 4, 5]

• Developing a web application with less coupling, more flexibility, design clarity,

more maintainability and scalability.

1.4 Scope of present investigation

The scope of e-procurement system is to provide an online platform through

which users can perform and manage all procurement related activities for procuring

software consultancy services from the best consultant. The project is web based, so it

works like a tool that automates all procurement process and reduces the procurement

cycle. This e-procurement application is developed by applying model view controller

architecture and a latest technology Ajax. Applying model view controller

architecture make this platform flexible, maintainable and reusable while Ajax makes

it with improved performance and user interactivity. Developing web application is

becoming more and more complex and design patterns are needed in software

engineering to reduce the complexity of software and enhance system maintainability

[3]. Software architecture structures a software system by splitting it into component

and connectors. Software architecture and technology for implementing interactive

system have been the focus of much recent research. In case of web based systems

earlier developer’s finds that there are some problem that needed to be solved for

making application more flexible, maintainable and reusable. Those problems are:

• To show the same information in different format and in different view.

• Changes in a view should be reflected in the remaining ones.

• Changes in the user interface should be easy to make.

Indian Institute of Information Technology, Allahabad. 2007

Page 20: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

5 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

• The central functionality of the system should be independent of the

interface.[3, 4, 5]

The MVC architecture solves the above mentioned problems by separating the system

functionality from the system interface. It also integrates a mechanism for making the

changes to the remaining systems views. Using Model View Architecture in

developing a web application provides these advantages.

• Loose coupling

• High cohesion

• Bigger flexibility in presentation logic

• Clarity in design

• Improves maintainability

• Improves scalability [6, 7]

This project has been developed with fast responsiveness and higher user

interactivity, and the technology used for making this application laced with these

benefits is Ajax. The term Ajax stands for "Asynchronous JavaScript and XML". The

motto behind using this technology is to make procurement system with good

interactivity and responsiveness by exchanging data with the server in such a way that

the entire page needs not to be reloaded every time the user requests for change. So it

increases interactivity, speed, and usability of the system. [2, 8, 9]

The goal of this project is to establish an online procurement environment for

software consultancy services through which procurers can get consultancy services

from the best consultant in affordable cost. Consultants can provide consultancy to

procurers in exchange of money. The system will provide these functionalities

• Repository for consultant and procurer

• Repository for projects opened for bidding.

• Communication facilities - messaging facility, managing inbox, sent items etc.

• A platform for managing all procurer and consultant/coder related activities.

• A platform for performing all procurer and consultant/coder related activities.

• Automatic notification facility.

• Environment for creating request for proposal.

Indian Institute of Information Technology, Allahabad. 2007

Page 21: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

6 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

• Environment for placing bids.

• Environment for rating the coder. Etc.

Indian Institute of Information Technology, Allahabad. 2007

Page 22: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

7 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

CHAPTER 2

LITERATURE REVIEW

This chapter starts with the basics of e-procurement; like benefits of adopting

procurement, types of procurement process and stages of standard tendering process.

Then it gives the brief idea about the consultancy services and the traditional process

of procuring these services. At the last it discusses about the Ajax technology and the

purpose and importance of using this technology.

E-procurement is basically a process of purchasing and selling products and

services by using computers and internet communication facilities. It is a business to

business process. An e-procurement platform enables users in finding out procurers

and suppliers of goods and services. E-procurement is not just a purchasing process

but it also includes electronic negotiation and conclusion of contact between the

procurer and supplier [1]. This platform works like a mediator between procurer and

consultant. It will help to procurer in making contact with a lot of consultants and

choosing best one among them. The diagram shown in figure 2.1 presents the

procurement platform as a mediator. Diagram shows that the procurer can contact to

several suppliers through the procurement platform.

Figure 2.1 online procurement platform

Indian Institute of Information Technology, Allahabad. 2007

Page 23: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

8 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

2.1 E-procurement (definitions)

“E-Procurement is a tool to enable procurement activities, including sourcing,

ordering, commissioning, receipting and making payments for the whole spectrum of

an authority’s activities. The prime objective is to e-enable the management of the

supply chain that can be achieved by stands alone, shared or integrated software

tools.” [10], by- Gary Richardson

“E-Procurement is more than just a system for making purchases online. A

properly implemented system can connect companies and their business processes

directly with suppliers while managing all interactions between them.” [1]

2.2. Benefits of adopting e-procurement

E-Procurement helps in the decision-making process for selecting best suppliers as it

keeps relevant information neatly organized and time-stamped like making all

transactions traceable [1]. Traditional procurement process needs lots of paper work

and communication thus consumes lots of resources. E-procurement platform helps in

saving these resources by automating all manual process which are executing in

traditional procurement process. George L Harrie points out some benefits of

adopting e-procurement system: [11]

• Closer relationship with trading partners.

• Removes redundant manual data entry.

• Fast information processing.

• Reduce speed of transaction processed.

• Eliminate input errors.

• Greater accuracy of information.

• Removes data discrepancies

• Bring down inventory levels.

• Increase for cost accuracy.

• Less carrying cost.

• Control on assets.

Indian Institute of Information Technology, Allahabad. 2007

Page 24: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

9 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

• Improved product quality.

• Access more suppliers.

• Access more buyers.

• Save resources.

• Reduce cycle time

2.3. Types of e-procurement

Acording to Bore Luitzen de, Harink and Heizbore, there are six types of e-

procurement [12]

• E-tendering: E-tendering is the process of sending request for information and

price to supplier and receiving the response from the supplier on internet [13].

• Online Auction: This is the process in which vendor sells the product or

services to the person who offers the highest amount [13].

• E-sourcing: It is the process in which procurer Identifies the new suppliers for

a specific product and services using internet.

• Web-based ERP (Electronic Resource Planning): It is a process to create and

approve purchasing requisitions, placing orders and receiving products and

services by the help of Internet technology.

• E-MRO: It’s same as web-based ERP. Supplies are non-product related.

• E-informing: It is the process to gather and distribute purchasing information

both from and to all parties via Internet.

2.4. Stages of tendering process

According to Rong Du and Ernet Standard tendering process basically contains four stages for selecting contractor.[14]

Satge1. In first stage of tendering process principal take decision about the term and

conditions and shortlists the contractors.

Stage2. In second stage principal sends the detailed document related to terms and

conditions to all short listed contractors and invites them for placing bids. Invited

contractors submit their bid details.

Indian Institute of Information Technology, Allahabad. 2007

Page 25: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

10 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Stage3. Principal makes assessments of all submitted bids detail. This assessment

based on lots of things like supplier experience, bid placed and market reputation of

supplier etc.

Stage4. After bid assessment in this last stage principal selects one of the suppliers

and invites him for making necessary agreement.

2.5 Software Consultancy Services Software consultancy is basically a service that a software consultant organization

provides to the client. Consultant organizations use their knowledge to solve the

problem presented by the client for the implementation of specific software, generally

in exchange of money.

2.5.1. Traditional process for procuring software

consultancy services.

1. Procurer creates request for proposal document which also contains the

complete information about the requirement specification for the project.

2. Procurer invites consultant organizations for placing bids.

3. Invited consultant organizations submit bid.

4. Procurer opens bid.

5. Procurer makes bid assessment.

6. Procurer chooses the best consultant.

7. Procurer communicates with consultant and makes agreement.

8. Procurer awards contract to the selected consultant.

9. Consultant arranges a meeting with procurer for preparing requirement

specification document.

10. Consultant develops software project and provides it to the procurer.[11] ,[14]

Indian Institute of Information Technology, Allahabad. 2007

Page 26: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

11 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

2.6 Ajax

Ajax is invented by Jesse James Garrett and came in existence in mid 2005.

The term Ajax stands for "Asynchronous JavaScript and XML”. is a web

development technology for developing more interactive and responsive web

applications. The main part of Ajax is XMLHttpRequest which is a class developer

uses in JavaScript, and was implemented into internet explorer since the IE 4.0

version. Google first used this XML request in 2005. Ajax applications exchange data

from the server such that the entire web page needs not to reload every time the user

needs a change. This type of data exchange sets up the web page’s speed, interactivity

and usability. General web applications use request\response model in which client

gets an entire HTML page from the server. The client gets result by clicking

link/button, wait for server response then again clicks another link/button waits for

server response and so on. But in Ajax applications client uses a request/response

model that never makes him wait for server response. [2, 8, 9]

2.6.1 Purposes for using Ajax

• For getting current data without reloading a full page. These data’s may be a

match score, stock exchange quotes, weather specific data etc.

• For auto completing form fields such as email address as user types.

• For fetching some new data on the background of HTML page according to the

client’s demand.

• For validating HTML form data such as userID, serial number etc. This type of

validation validates the form data before the submission of form. This needs some

server side resource such as servlet, database etc.

• For submitting a part of HTML form. HTML page may submit a part of form data

without submitting whole form.

• For mixing data get by other websites or server side proxy in to your own

application.

• For crating a single page application that looks like a desktop application.

• For making user interface with more effects and controls. Controls like menu,

trees, calendars, text editors etc. [2, 8, 9]

Indian Institute of Information Technology, Allahabad. 2007

Page 27: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

12 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

2.6.2 Benefits of applying Ajax technology

Using Ajax in web application provides these benefits [2, 8]

• Web pages appear to load quickly, as HTML pages generate locally within the

browser.

• Ajax makes web application richer and more users friendly.

• Most important reason for using Ajax is that it makes web pages more users

interactive. Clicking the links cause the entire page to reload that seems like a

heavy operation. While by using Ajax pages web pages can be updated

dynamically, which allows a faster response to the user’s request.

• It does processing at client computer while takes data from server side.

• Ajax technology enables the user to get some more data on the same page without

reloading whole page again.

Indian Institute of Information Technology, Allahabad. 2007

Page 28: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

13 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

CHAPTER 3

PLAN OF WORK

This chapter is divided in to three sections; requirement specification for the system, system design and Implantation. Software requirement section describes the requirements this project has to meet. Design section describes the detailed design for the system and Implementation section describes how the system has been implemented.

3.1 Requirement Specification for the System 3.1.1 The problem

There are many problems associated with traditional procurement process for procuring software consultancy services including:

• Limited amount of consultants, • Wastage of resources, • Difficulty in making and managing correspondences, • Difficulty in managing all records, • Needs lots of paper work, • Needs arrangement of meetings. • Difficulty in choosing coder/consultants.

So the objective of this project was to translate e-procurement requirement for software consultancy services in to a web based application that can solve all above mentioned problems.

3.1.2 Project proposal The main functionality expected from this project was established from the

following project proposal.

The main task of this system is to manage directory for procurers, consultants and

projects; and also to facilitate procurement processes. This system will be web based;

Indian Institute of Information Technology, Allahabad. 2007

Page 29: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

14 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

users can access this system any time from any where with the help of internet. The

system developed supplements traditional face-to-face procurement of consultancy

services. The system will provide web based procurement platform for software

consultancy services that will facilitate users by providing communication and

feedback facilities. The basic functionality provided by this e-procurement platform

is:

• User account and profile management: creating and editing user information,

creating and editing procurer as well as consultant profiles. Authentication will be

provided for each user.

• Providing communication between users: System will provide communication

facilities to the users. Collaborative component like mailing is used as

communication tools for making the procurement process more interactive. The

system will support the procurer-consultant, administrator-procurer and

administrator-consultant interaction.

• Verification of posted projects and bids: Administrator will have the authority to

verify (bids placed by consultants) and project (posted by procurers). These bids

and projects will be first save in database in pending mode and after the

verification by administrator it will be store in database in permanent mode. After

verification of bids and project proposals an automatic notification will go to

procurers and consultants to inform them about the acceptance/declination of bid

or project proposal posted by them.

• Performing and managing procurer related activities: This platform will provide

an environment for performing all procurer related activities and keeping records

of all these activities.

• Performing and managing coder related activities: This platform will also provide

an environment for performing all coder related activities and keeping records of

all these activities.

• Browsing process: It will provide browsing facilities to users. Procurers can

search different coders on the basis of different criteria and can send invitation to

them for placing bid, similarly coder can search different project available for

bidding and can place bids.

• Rating the coders: This facility doesn’t exist in traditional procurement process.

After getting work done from the consultant, procurer can rate the consultant on

Indian Institute of Information Technology, Allahabad. 2007

Page 30: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

15 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

the basis of different rating category. In future these rating will help other users in

choosing best consultant among the list of large no of consultants.

• Automatic notification facility: The system will also provide automatic

notification facility. The system will send two types of notifications to user;

notification to consultant organization for informing about the acceptance of bid

proposal posted by him, notification to the procurer for informing about the

project acceptance by the coder.

3.1.3 Additional Requirements

This topic will discuss various functional and non functional requirements for the system.

3.1.3.1 Product Perspective

The e-procurement application should have a browser based as it is an online

application. The GUI of the application should be easy to use and should provide

simple point and click navigation. The system must be interesting for users and should

be designed with a consistent, intuitive interface known to anyone who has used web

browsers and the HTML forms. The user should be able to explore the whole

procurement system with few mouse clicks and it should be scalable for millions of

records.

• The product needs a Web Browser (IE 4/ Netscape 4.5).

• The product is a stand alone web application and is not a sub-part of any other

product.

• The product is being developed in Java and hence is platform independent

• There is a standard interface for the product.

• Product needs server computer capable of running Server.

System Interfaces:

• Database

• Web Server

Indian Institute of Information Technology, Allahabad. 2007

Page 31: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

16 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Software Interfaces:

• Apache TOMCAT 5.5 Web Server

• MySql server

• Requires driver Com.MySql.jdbc.driver

• Web Browser I.E. 6.0

3.1.3.2 User characteristics

Users need not to have technical knowledge like programming language and database

etc. They just need the Knowledge of any of the browser and must be familiar with

how to use the internet.

There are three classes of users identified:

• Administrator: Administrator will be the super user of the system. His work will be; to verify the project proposal posted by the procurer, to verify bid placed by the consultant. He will also be able to communicate with the procurer and consultants. Secure login and logout facility will be provided to him.

• Procurers: Procurer is a user who can create user account on this procurement

platform by signing up as a new user. Procurer user will have a login name and a

password to access his account. He can make his procurer as well as consultant

profile, can edit his profile and user information, can post project proposals, can

get bids on the posted project from invited coders. When bids are available he can

choose one consultant among them on the basis of his interested criteria. After

getting work done from the consultant he can give ratings to the consultant. There

will be different category for ratings like; On the basis of on time delivery, on the

basis of quality of software project coder has developed, behavior of coder etc.

Along with all these functionality users will be able to communicate with other

users’ trough messaging facility and he will also be able to manage all

correspondences. Procurer can also manage records for procurer activities

performed by him self.

• Consultant: Consultant user can also create user account on this platform to access

his account. Coder user can edit and create their coder profiles, can place bid on

Indian Institute of Information Technology, Allahabad. 2007

Page 32: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

17 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

projects posted by procurers, When the bid will be accepted they will be notified,

after completion of work they can get ratings from the procurer with whom they

have worked. Coders can get automatic notification on posting bids, on

acceptance of bids and can get messages from procurers. Along with theses

facility they will be able to manage all coder related avidities performed by them

selves.

3.1.3.3 User view of the product use

The product will have two interfaces: one for the administrative work (admin),

and one for the other users (Procurer and Coder)

3.1.3.3.1 Administrator

Admin user has to first do the login through login page and security is provided

by the logout facility. After getting log on administrator will reach on his account

page from where he can perform his all work. On the same page he will get the list of

messages get from the procurer/consultants.

3.1.3.3.2 User Interface for Procurer and Consultant

The first page will be a login page. After login page the next page will be user

account page and this page will provide working area for user and on the same page

user will get all messages sent by other users. This is the page from where he can

perform and manage all procurement related activities for procuring software

consultancy services

Through user account page they can enter in to procurer activity section as

well as coder activity section. For being able to perform procurer and consultant

activities he has to first create his procurer and consultant profiles. If the user is only

of procurer type then he has no need to create consultant profile and vise verse. After

entering in to procurer activity section users can see how many project he has posted

and the number of bids he has get on each project. This section will provide

environment for performing all procurer related activities. Similarly after entering in

to consultant activity section user can see the list of all projects on which he has

Indian Institute of Information Technology, Allahabad. 2007

Page 33: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

18 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

placed bids. This section will also provide environment for performing all consultant

related activities.

3.1.3.4 Overview of Data Requirements Inputs:

• Mouse clicks: placing the mouse on a button or a link and clicking the left

mouse button.

• Keyboard: input through keyboard.

Outputs: Out put will be in the form of HTML.

3.1.3.5 Performance Requirements

This procurement system should be able to run both locally as well as over the net. It must run on all machines that meet the minimum software and hardware requirements. Web server of the system should be capable of handling both a DBMS and web application software running concurrently. The procurement application will be high dependable on the database.

3.1.3.6 Design Constraints

Other requirements for the system are:

• Portability

• Scalability

• Reliability

• Availability

• Security

• Maintainability

Indian Institute of Information Technology, Allahabad. 2007

Page 34: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

19 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

3.1.4 Requirement Analysis

After completion of the requirements gathering phase, the system analysis phase may be taken in charges. In this phase we create a set of use case diagrams for the system.

In first stage of Object Oriented analysis the requirements for the system are converted into a set of use case diagrams. UML provides facilities for drawing the use case diagrams.

According to Jacobson, a use case diagram describes the users of the system and the activities they perform. Actor represents the role of the user of the system. They supplies inputs to the system, and receive outputs from it. Use cases describe the behavior of the system textually. [15]

Three external actors have been identified:

• Administrator

• Procurer

• Consultant/coder.

3.1.4.1. Use cases for actor Administrator Figure 3.1 shows the use case diagram for the actor administrator. Administrator will work as super user of the system. Use cases find out in the analysis part for the administrator actor is

• Account management: Administrator will be able to manage his account • Project verification: Administrator will be the super user of the system, he will be

having authority to verify or reject project proposal.

• Bid verification: Administrator will be the super user of the system, he will be

having authority to verify or reject bids.

• Making communication to the users: administrator can communicate to the users

for being confirm before verifying or rejecting bids or project proposals. After

verifying or rejecting project proposal he can send message to user for informing

about the verification result.

Indian Institute of Information Technology, Allahabad. 2007

Page 35: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

20 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

• Login: Secure login functionality will be provided to the administrator so that the

users who are not authorized can’t access the secure information.

• Logout: Secure sessions facility will be provided to the user. As the admin will

logout all session attribute will be removed.

Figure 3.1 Use Case Diagram for actor Administrator

The lists of all the use cases for the actor administrator are:

• Login

• Logout

• Account Management

Change Password

• Project Verification

View pending project list

Viewing one project proposal among the list

Indian Institute of Information Technology, Allahabad. 2007

Page 36: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

21 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Verifying project proposal

Rejecting project proposal

• Bid verification

View pending bid list

Viewing one bid among the list

Verifying bid

Rejecting bid

• Collaboration management

Viewing Inbox

Reading one message in the list

Sending reply to the user

Deleting message from the Inbox

View sent messages

Reading sent messages

Deleting messages from the sent Items

These are the use cases described for the actor Administrator; other two actors for the system are procurer and consultant. Use cases diagram for actor procurer and consultant is given in figure and figure respectively.

3.1.4.2. Use cases for actor Procurer Use cases find out in the analysis part for the actor procurer are:

• Collaboration management

Viewing Inbox

Reading one message in the list

Sending reply to the user

Deleting message from the Inbox

View sent messages

Reading sent messages

Deleting messages from the sent Items

• User’s account management

Editing user information e.g. password.

Indian Institute of Information Technology, Allahabad. 2007

Page 37: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

22 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

• Posting project proposal: Procurer will be able to post project proposal. For

posting project he has to fill the posting project form, in this form procurer

will provide all information regarding software requirement specification and

will also provide his expected proposal like budget range, expected delivery

time , biding period etc.

• Browsing coders: Procurer can browse consultants on the basis of different

category like he can browse consultants on the basis of country, state, city,

working technology, and their name etc. for browsing he has to first choose

category among one of above then he will enter search key.

• Rate the coder: After getting work done from the consultant procurers will be

able to rate coder on the basis of different rating category. These categories

will be: quality of delivered product, on time delivery and communication

behavior.

Figure 3.2 Use Case Diagram for actor Procurer

Indian Institute of Information Technology, Allahabad. 2007

Page 38: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

23 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

• Managing procurer activities:

Viewing list of posted projects

Viewing detail of one project proposal among the list.

Viewing the list of bid received on each project.

Opening one bid

Assigning project

Declining project

Viewing coder detail

Viewing pending project detail

Viewing procurer notifications

Sending reply to notification

Deleting notification

Accepting the proposal send by coder.

Viewing the list of assigned project

Viewing the detail of assigned projects

Creating procurer profile

Editing procurer profile

3.1.4.3. Use cases for actor Consultant

Use cases find out in the analysis part for the actor consultant are:

• Collaboration management

Viewing Inbox

Reading one message in the list

Sending reply to the user

Deleting message from the Inbox

View sent messages

Reading sent messages

Deleting messages from the sent Items

• User’s account management

Editing user information’s eg password.

Indian Institute of Information Technology, Allahabad. 2007

Page 39: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

24 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

• Placing bid: consultant can place bid on the project for which he has invited.

For placing bid he has to fill a place bid form that will contain fields; bid

amount, delivery time and comments.

• Browsing projects: procurer can browse projects on the basis of different

category e.g. technology, project name etc. for browsing he has to first choose

category among one of above then he has to enter search key.

Figure 3.3 Use Case Diagram for actor Consultant

• Managing coder activities:

Viewing list of bid placed

Viewing detail of one bid the list.

Viewing the detail of project on which bid has placed.

Viewing coder profile

Indian Institute of Information Technology, Allahabad. 2007

Page 40: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

25 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Editing coder profile

Viewing list of notification

Sending reply to notifications

Viewing the list of assigned project

Viewing the detail of assign projects

Viewing the list recent sent bids

Viewing the detail of sent bids

• Login:

• Log out:

3.2 System design 3.2.1 Design pattern

Design pattern is a common repeatable solution to a commonly occurring

problem in software design. Deisgn pattern is not a end design. It is a template for

solving a common type problem. Design patterns typically show relationships and

interactions between objects. It provides a way for reusing the existing object oriented

code. Algorithms are not a design patterns because they don’t solve design problems

but solves mathemetical problem. [5, 16]

3.2.1.1 Model View Controller Design Pattern

Today World Wide Web is growing very rapidly and more and more

governmental and nongovernmental institution, private organizations, universities and

research institutes are presenting their contents on the internet. It is very difficult for

them to separate user interface logic and business logic of their web application, and

model view controller pattern solves this problem by shorting an application into three

distinct components, the model, the view and the controller. Model contains the

computational parts of the program, View presents the user interface, and the

controller interacts between the user and the view. [3, 4, 5, 9]

Indian Institute of Information Technology, Allahabad. 2007

Page 41: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

26 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Model: Model contains the core functionality of the application, such as database

access and transaction management etc. It doesn’t have the knowledge about the view

and controller. It responds to request for information about its state and responds to

instruction to change the state.

View: View is for presentation. It presents the state represented by the model. It

doesn’t contain the processing logics. It retrieves the data for presentation from the

object created by the controller. The view should be notified when the state changes

in the model. It doesn’t care about application logic or about the processing of inputs.

Controller: The controller interprets the inputs from the user and informs the model

and the view to change appropriately. It forwards the request object to the view. View

retrieves the information from the object and presents the state represented by model.

It doesn’t care how the input is received or what the model does with those updates.

[3, 4, 5,]

Client

Controller

View

Model DB

Server

Figure 3.4 Model View Controller architecture

3.2.1.2 Why MVC Design Pattern

According to George L Harrie & haris Model view controller pattern shorts an

application into three distinct components the model, the view and the controller,

hence provides following benefits.

Indian Institute of Information Technology, Allahabad. 2007

Page 42: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

27 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

• Because MVC separates the view from the model so there will be no direct

dependency between model and view. As the model and view are independent to

each other so the view may present multiple interfaces for the application.

• Generally User interface requirements changes more frequently than core

functional requirements. Because the model is independent to the view, making

changes in the view of application does not affect the model code.

• Views simultaneously reflect the current state represented by the model.

• It can be easier to test the core business logics of the application.

• Promote reuse of the existing code.

• Developers can focus on a single aspect of the application at a time.

• Multiple developers can develop the interface and business logic

simultaneously. [11]

3.2.2

Design Implementation (MVC)

Design implementation of the MVC architecture through java is given below in fig-3.5

Figure 3.5 design implementation of MVC architecture

The design architecture shown in fig.3.5 gives a feature-rich and flexible model for

building web applications. It consist of web container, java server pages API, servlet

Indian Institute of Information Technology, Allahabad. 2007

Page 43: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

28 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

APIs. These APIs helps in building and managing web applications. Container

provides the run time environment for supporting web applications. Java servlet

technology and JSP provides the backbone for developing web applications. The

architecture is divided into three tiers that are located at different machines. Client tier

sends the HTTP request to the servlet container [17]. Servlet container calls the

service method of corresponding servlet and returns the response to the browser

(client). Web tier handles the communication with web clients, invokes business

logics and sends response back to the client corresponding to the request of the client.

Web server situated at the web tier processes HTTP request. The Web tier generally

performs following functions:

The Web tier generally performs following functions:

Web tier implements business logic for the system. This tier manages interaction between client and business rules.

Web tier generate contents as a response for the web client.

Web container presented at this tier interprets the HTTP request send by browser and calls the service method of corresponding servlet.

Servlets reside at this tier determines which web page will show the result got from the request object.

The EIS tier includes database, ERP system etc. Web tier access to enterprise

database with the help of JDBC. [17]

3.2.2.1 Processing request

Whole process completes in 8 steps as shown in figure 3.5. First of all browser sends

the request data to the container. The container finds the correct servlet on the basis of

URL, and passes the request to the servlet. Then servlet calls the model (java class) to

help, model returns an answer which the servlet adds to the request object. Then the

servlet forwards the request object to the JSP. The JSP retrieves the answer from the

request object forwarded by the servlet and creates a page for the container. Then

finally container returns the page to user. [18]

Indian Institute of Information Technology, Allahabad. 2007

Page 44: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

29 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

3.2.2.2 Servlet container

The web tier is responsible for the presentation and application logic. The web

container contains Servlets and JSP pages that generate the appropriate HTML that

can be displayed by the browser based clients.

The container has four parts:

Container contract

Container services APIs

Declarative services

Other container services [17]

3.2.3 Strategy Pattern Some times objects behavior depends on its states and it must change its behavior at

run time depending upon the state. Strategy patterns solve this problem. It consists of

three things context, strategy and concrete strategy. Context and strategy works

together to implement a desired concrete strategy. Client creates and passes a concrete

strategy object to the context and context forwards request from client to its

strategy.[22]

Figure 3.6 strategy pattern[22]

Indian Institute of Information Technology, Allahabad. 2007

Page 45: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

30 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Strategy: It’s a common interface to the concrete classes. Context uses concrete

strategy through this interface.

Context: Client can use the concrete strategy through this class.

Concrete strategy: These are the different classes consists of different concrete

methods.

Strategy pattern in the procurement system

Here the client is provided with a common registration interface. So if the user is of

Administrator type then client creates an object of AdminRegistration assigns it to the

instance of Registration object. Similarly if the user is procurer/consultant then client

assigns UserRegistration object to the instance of Registration object.

Figure 3.7 applying strategy patterns

3.2.4 Block Diagram of the system

As in the requirement analysis parts the actors find out for the system are:

Administrator

Procurer

Consultant/coder.

Indian Institute of Information Technology, Allahabad. 2007

Page 46: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

31 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

The Basic Block Diagram of the system is shown in figure 3.8. This basic

block diagram describes the basic functionality of the procurement system. The

diagram shows the relationship between active and passive entities of the procurement

system to explain the logical view of the system. Active entities of the system are

Administrator; Procurer and consultant. Administrator will verify the project

proposals and the bids. Here users of the system are divided into two types Procurer

and Consultant. Association relationship is described between the administrator and

the user entities. Procurer and consultant are related with the entity user with the

generalization relationship also called an "is a" relationship. Entity project proposal

and bids are related with each other, on every project there may be one or more than

one bids. Procurer can post project proposal and can manage and perform procurer

activities. Consultant can place bids on projects for which they have been invited and

can manage and perform all consultant related activities.

Figure 3.8 Basic Block Diagram of the system

3.2.5Class Diagram Diagram described in last topic explains the logical view of the system while

this topic explains the system in depth. Class diagrams show the set of classes and

relationship between them. A class is basically a template for creating objects. It is a

collection of objects with common behavior, common structure, common semantics

and common relationships. Every class contains three things name, attributes and

operations. The use case diagram explained in topic 3.1 describes the requirement of

the system that basically focuses on the system requirements while class diagrams

Indian Institute of Information Technology, Allahabad. 2007

Page 47: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

32 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

convert these requirements into an end design that makes base for the system

implementations.

Class diagram with respect to the Use case diagram of the administrator is given in

the Figure 3.9

The description of the classes is given below:

Class Name Description

AdminLogin This class implement the business logic for providing the secure login to the administrator

Admin_MessageServelt This servlet will be called before opening the account detail page and will display list of messages get by users.

AdminViewMessage This servlet will handle requests for opening the selected message by user.

Admin_Write This class generates the GUI for administrator from where he can send messages to users.

Admin_WriteMessage This servlet handles the request for sending messages. password

Admin_SentMessage This servlet class handle the request for displaying the Sent Box(list of sent messages).

AdminRegistration This Servlet takes all data filled in registration form and stores it in database. It also validate that user with same username exist or not. If there is no user with same user name then this servlet calss stores form entries in Db otherwise sends error message “this username is already exist” to the user.

CheckAvailability This servelt handles XMLHTTPrequest sent by registration.jsp page and returns result to callback() of registration.jsp. Result contains that the username is valid or not. Username will be valid if only there will not be any user with same username in db.

CheckCountry This servlet handles XMLHTTPrequest send by registration.jsp page. And returns the list of states according to the country selected in registration form.

Indian Institute of Information Technology, Allahabad. 2007

Page 48: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

33 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

PostPendingprojects This servlet handles the request for verifying project proposals and stores project proposals from pending mode to permanent mode in database.

PostpendingBid This servlet handles the request for verifying bid posted by coder and stores bids from pending mode to permanent mode in database.

Pendingprojects This class handles the request for display the list of pending projects. This servlet retrieves the list of pending projects from the db, adds these lists into request object and sends it to viewpendingproject.jsp.

Pendingbids This class handles the request for display the list of pending bids. This servlet retrieves the list of pending bids from the db , adds these list into request object and sends it to viewpendingbid.jsp

ViewPendingProject

Detail

This class handles the request for opening the detail of selected project proposal by administrator.

ViewPendingBid

Detail

This class handles the request for opening the detail of selected bid by administrator.

RejectVerification This class handles the request for rejecting project verification and provides GUI for sending message for informing to the user about the cause of rejecting project.

RejectBidVerification This class handles the request for rejecting bid verification and provides GUI for sending message for informing to the user about the cause of rejecting bid proposal.

DeleteBid This class handles the request for deleting bid information from the pending_bidtable.

Deleteproject This class handles the request for deleting project information from the pending_projecttable.

Table.1 descriptions of the classes (administrator)

Indian Institute of Information Technology, Allahabad. 2007

Page 49: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

34 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 3.9class diagram for administrator

Indian Institute of Information Technology, Allahabad. 2007

Page 50: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

35 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Class diagram with respect to the Use case diagram for the actor Procurer and consultant is shown in figure 3.10 and figure 3.11 respectively.

Figure 3.10 class diagram for procurer

Indian Institute of Information Technology, Allahabad. 2007

Page 51: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

36 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 3.11class diagram for consultant

Indian Institute of Information Technology, Allahabad. 2007

Page 52: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

37 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

The descriptions of the classes are given below:

Class Name Description

Login This class implements the business logic for providing the secure login to the user.

MessageServelt This servlet will be called before opening the account detail page and will display list of messages get by users.

ViewMessage This servlet will handle requests for opening the selected message by user.

Write This class generates the GUI for user from where he can send messages to other users.

WriteMessage This servlet handles the request for sending messages.

SentMessages This servlet class handles the request for displaying the Sent Box (list of sent messages).

ProcurerAuth This class first check weather user has created his procurer profile or not. This class provide GUI for posting project to only those users who have created their procurer profile otherwise sends error message” first create your procurer profile”.

Postproject This class takes form parameters from the postproject.jsp and stores in pending mode into projecttable of procurement database.

PlaceBidAuth This class first check weather user has created his coder profile or not. This class provides GUI to coder for placing bid on selected project and also verifies that the user is authorized person for placing bid or not.

PlaceBid This class takes form parameters from the placebid.jsp and stores in pending mode into bidtable of procurement database.

ProfileHandler This servlet provide GUI for editing and creating procurer profile. If user has already created his procurer profile then shows procurer profile.

EditCreateProfile This servlet handles the request for creating/editing procurer profile. It takes the form parameters and stores

Indian Institute of Information Technology, Allahabad. 2007

Page 53: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

38 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

in database.

ViewProfile This servlet handles the request for displaying coder profile.

CoderAuth This class provides GUI for editing coder profile.

Registration

This servlet takes form parameters from registration’s and stores in database and also checks other constraints.

CheckAvailability

This servelt handles XMLHTTPrequest sent by registration.jsp page and returns result to callback() of registration.jsp. Result contains that the username is valid or not. Username will be valid if only there will not be any user with same username in db.

CheckCountry

This servlet handles XMLHTTPrequest send by registration.jsp page. And returns the list of states according to the country selected in registration form.

CheckProjectAvailability This servelt handles XMLHTTPrequest sent by postproject.jsp page and returns result to callback() function of registration.jsp. Result contains that the projectName is valid or not. Project name will be valid if only there will not be any project with same project name in db.

ViewPostProject This servlet handles the request sent by procurer for viewing all posted projects

ViewProjectDetail This servelt handles request for viewing detail of selected project. it takes projectId as request parameter.

SearchCoder This servlets takes category value and search keyword as a request parameter and displays the list of coders matched with search criteria.

ViewCoder This servlet handles the request for displaying detailed coder profile to procurer. This servlet takes coderId as a request parameter and displayes the coder profile.

SearchProject

This servlets takes category value and search keyword as a request parameter and displays the list of projects matched with search criteria.

Indian Institute of Information Technology, Allahabad. 2007

Page 54: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

39 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

CoderBid This servlet handles the request sent by coder for seeing the list of placed bids on different projects.

ViewBid This servlet handles the request sent by procurer for seeing the list of bids he has gotten on selected project.

Assignproject This servlets handles the request sent by procurer for assigning project to selected coder.

DeclineBid This servlet handles the request sent by procurer for declining the bid posted by any coder. This servlet takes coderId and projectid as a request parameter and delete that bid from the database.

AcceptProposal This servlet handles the request sent by coder for accepting the proposal sent by procurer. It also sends automatic notification to procurer about the acceptance or rejection of the proposal.

AssignedProject_Coder This servlet handles the request sent by procurer for seeing the list of project assigned to him. This takes coderid as a request parameter.

RecentBids This servlet handles the request sent by coder for seeing the list of recent bids he has placed. Recent bids are those bids which are waiting to be verified by the administrator.

RecentProjects This servlet handles request sent by procurer for seeing the list of project proposal he has posted .recent project are those project proposal that are waiting to be verified by the administrator.

ViewCoderNotification This servlet handles the request sent by coder for seeing the notification. This takes coderid as a request parameter.

ViewProcurerNotification This servlet handles the request sent by procurer for seeing the notification. This takes procurerid as a request parameter.

ViewCoderNotification

Detail

This servlet takes codernotificationid as a request parameter and displays detail of notification.

ViewProcurerNotification

Detail

This servlet takes procurernotificationid as a request parameter and displays detail of notification.

Indian Institute of Information Technology, Allahabad. 2007

Page 55: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

40 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

RecentProjectDetail This servlet handles the request sent by user for seeing the detail of recent project.

UploadProjectFile This servlet handles the request for uploading file. This file may be of any type.

RatingAuth This servlet validates weather the procurer is authorized person for giving rating to the coder or not. And also provide GUI for rating the coder.

Rating This servlet takes coderid as a request parameter and handles the request for giving rating to the coder.

ChangeView This servlet takes gui value as a request parameter and changes the view of whole application platform from classic to modern or vise versa.

Table 2 Descriptions of the classes (procurer and consultant)

3.2.6 Interaction Diagram

After finalizing use cases and classes, designing of dynamic behavior of the

system can be start. Interaction diagrams models the behavior of the use cases. These

diagram describes the way objects interacts with each other to accomplish the task.

We use these diagrams when we want to model the behavior of a lot of objects in a

use case. These diagrams contain two things, objects and the messages they passed to

each other. Interaction diagrams are of two types; one is sequence and other one is

collaboration diagram.

3.2.6.1Sequence Diagram Sequence diagram shows the behavior of the objects in a use case by

describing the objects and the messages they pass to each other. This diagram is a two

dimensional diagram; on one axis it shows the life of the objects and on the other axis

it shows the sequence of invocation of objects [16,19,20]. Some of the sequence

diagrams with respect to actor’s administrator, procurer and consultant are explained

in this chapter. All the other sequence diagrams are described in the Appendix A.

Indian Institute of Information Technology, Allahabad. 2007

Page 56: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

41 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Sequence diagram for use case ‘Post project Proposal’ performed by the actor

procurer is given in the figure 3.12

Description of the sequence diagram:

(i) Actor enters the login name and password in login page.

(ii) Container will calls doPost method of login servlet. In doPost method of login

servlet username/password of the user will be verified, on success servlet calls

Message class, message class returns an answer which the login servlet adds to

the request object, login servlet forwards the request to the acountdetail.jsp.

Jsp will get the answer from request object then Container returns this jsp page

to client (user).

(iii) When user clicks on procurer activity link. A HTTP request goes to container,

then container calls the doPost(request,response) method of ViewPostProject

servlet. ViewPostproject handles the request and container returns

procureractivity.jsp page to the user. On this jsp page there will be a link for

posting project on clicking this link container calls doPost(request,response) of

ProcurerAuth servlet. This servlet will verify that user has been created his

procurer profile or not. If verified then servlet forwards the request object to

postproject.jsp. This jsp page will provide form for posting project proposal.

Figure 3.12 Sequence diagram for posting project proposal

Indian Institute of Information Technology, Allahabad. 2007

Page 57: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

42 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

(iv) When user submit form after filling all entries then a HttpRequest will goes to

container and container calls the doPost method of PostProject servlet. This

servlet takes the help of PostProjectBean class in processing request. After

processing request servlet sends the result to procureractivity.jsp page.

Sequence diagram for use case “Place Bid” performed by the actor coder/consultant is

given in the figure 3.13

Description of the sequence diagram:

(i) When the user click on “coder” link of account detail page a Httprequest goes

to container then container calls the doPost(request,response) method of

CoderBid servlet. This servlet takes the help of Bid class and forwords the

request to coderactivity.jsp page.

(ii) From this consultant/coder searchs projects. When he makes request for

search project then container calls doPost(request,response) method of

SearchProject servlet. This servlet forwards the request to searcprojects.jsp

page. When he clicks any project among the project list the detail of project

opens in viewprojectdetail.jsp page. There will be a link for placing bid at

page show by this Jsp.

Figure 3.13 Sequence diagram for placing bid on project

Indian Institute of Information Technology, Allahabad. 2007

Page 58: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

43 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

(iii) When the user clicks on this link a HttpRequest goes to the container then

container calls the doPost(request,response) method of PlaceBidAuth

servlet and after authentication this servlet forwards request to placebid.jsp

page.

(iv) In this page consultant fills whole form. After filling when he submits it, a

HttpRequest goes to the container then container calls

doPost(request,response) method of PlaceBid servlet. This saves the bid in

database and forwards a “success” message with request object to

viewprojectdetail.jsp page.

Sequence diagram for use case “sending reply”, performed by actor’s procurer and

coder is given in the Figure 3.14

Description of sequence diagram:

(i) Actor enters the login name and password in login page.

(ii) On submitting username/password, web container calls doPost method of

login servlet. Login servlet forwards the request to MessageServlet then

MessageServlet takes the help of Message java class which returns result

to Acount detail.jsp page. This result contains the list of messages get by

the user.

Figure 3.14 Sequence diagram for sending message

Indian Institute of Information Technology, Allahabad. 2007

Page 59: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

44 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

(iii) User selects one of the messages from acountdetail page. On selecting

message a HttpRequest goes to container then container calls the

doPost(req,res) method of ViewMessage servlet, then servlet takes the

help of Message class and forwards the request object to

viewmessagedetail.jsp page.

(iv) On this jsp page when user makes click on “write message” link, the

container calls the doPost() method of Write servlet. This servlet forwards

the request to writemessage.jsp page.

(v) After writing message and subject when user clicks on write message link,

container calls the doPost() method of writemessage servlet which takes

the help of Message class in storing message in database. After storing

database it returns a success message to acountdetail.jsp page with the help

of request object.

Sequence diagram for validating username in registration page using Ajax is shown in

Figure 3.15

Figure 3.15 Sequence diagram for validating username using Ajax

Indian Institute of Information Technology, Allahabad. 2007

Page 60: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

45 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Sequence diagram showing application of Ajax on registration page for fetching state

names according to the country selected by user Figure 3.16

Figure 3.16 Sequence diagram for fetching states in to registration page using Ajax

Sequence diagram showing application of Ajax on post project page for validating

project title Figure 3.17

Figure 3.17 Sequence diagram for validating project title using Ajax

Indian Institute of Information Technology, Allahabad. 2007

Page 61: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

46 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Sequence diagram for all the other use cases of the system are described in the

Appendix. A

3.2.7 Database Design The database, stored in the server-side, has been created to Store the

information required for the proposed application. Description of the database tables

is given below.

• usertable : Table used to store the information of the users of the system i.e.

procurer and coder.

• admintable : Table used to store the information of the administrators.

• projecttable: Table used to store the information of the project proposals posted by

procurers.

• bidtable: Table used to store the information regarding bids placed by coders on

projects.

• procurertable: Table used to store information related to coder profile.

• codertable: Table used to store information related to coder profile.

• Messagetable: This table stores the information regarding message sent by one

user to another.

• ratingtable: this table stores the information regarding rating given by procurer to

coder.

• codernotificationtable: This table stores the information regarding automatic

notifications sent to coder.

• Procurernotification: This table stores the information regarding automatic

notifications sent to procurer.

• State: This table stores state’s name of all countries.

• Countries: This table stores the name of all countries.

Indian Institute of Information Technology, Allahabad. 2007

Page 62: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

47 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 3.18 database schema

Indian Institute of Information Technology, Allahabad. 2007

Page 63: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

48 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

3.3 Implementation

This section describes how the system designed in previous section of the

chapter has been implemented.

In the client server architecture the user sends a request to the server and the

server sends response correspondingly. Servlet and jsp are used for developing this

procurement application. Web server loads the servlets classes dynamically and runs

it. This web server is called servlet container and it supports HTTP as a protocol for

request and response model. Web container takes HTTP request from the browser and

calls the appropriate servlet for handling the request. [20]

3.3.1Packages

Before going to how actually this application is implemented using servlet

and JSPs we should see the packages we have to import. [17]

o Java.io: contains I/O exceptions class. Http servlet class uses this package to

signal the input and output exceptions.

o Java.sql: The package contains API. These API provides accessing and

processing the data.

o Java.sql.connection: For connection pooling

o Javax.servlet: This package contains generic servlet class. The http servlet

classes use this package for using servlet exception class.

o Javax.servlet.http: This package includes HTTP servlet classes.

3.3.2 Servlet Working Servlet container loads the servlet only when the browser requests it first time.

The servlet takes the request from the container and after processing the request

returns response back to the container. After first request, container need not to reload

servlet again as this servlet stays in memory for other requests. Each time the browser

sends a request for servlet, the web container matches the time stamped of the servlet

with the servlet class file. If it finds that the file’s timestamp is more recent then the

Indian Institute of Information Technology, Allahabad. 2007

Page 64: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

49 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

previously loaded servlet then it loads the servlet again. This way there is no need to

restart the servlet container every time, the servlet updates. [17]

Figure3.19 Servlet working [17]

3.3.3 Tomcat Servlet Container

Today lots of servlet containers are available. Tomcat servlet container is the most

popular one. It is designed by Sun Microsystems. In October 1999 source code of

Tomcat was handled to the ASF [17]. Itself it is a web server that means it can be

used for addressing the HTTP requests for servlet. It provides an environment for java

code to run with cooperation of web server.

3.3.4 Implementing procurement system

For developing e-procurement system we have to write a number of servlets for

processing different requests coming from the browser. These servlets call different

java classes (model class) that returns results to the servlet. Servlet adds these results

to the request object and forward these objects to the JSP, which retrieves result form

Indian Institute of Information Technology, Allahabad. 2007

Page 65: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

50 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

it [17]. After installing and configuring the tomcat container there are six step for

implementing e-procurement system.

Step1:

First thing we do for building e-procurement application is to create an e-procurement

application directory under the webapps directory of tomcat. To create a directory

structure for e-procurement application we follow these steps.

Figure 3.20 Tomcat directory structure for e-procurement system

1. First we create a directory e-procurement under webapps directory of tomcat.

The directory name is crucial because URL includes it.

2. In second step we create WEB-INF directory under e-procurement directory

and create a directory named classes under WEB-INF. The directory classes

under WEB-INF are for java classes.

Step2:

In second step we first write source codes for all servlet, jsp and model classes.

Then we save servlet and model classes in WEB-INF/classes/com directory of this

application and jsp file in e-procurement directory.

Indian Institute of Information Technology, Allahabad. 2007

Page 66: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

51 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Code given below is for SerchProject servlet. This servlet handles the request for

searching projects according to the keyword given by user (coder).

package com.procurement.search;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.sql.*;

import java.text.*;

import com.procurement.util.*;

public class SearchProject extends HttpServlet

{

public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException

{

HttpSession session=request.getSession();

String Gui= (String)session.getAttribute("gui");

int gui =Integer.parseInt(Gui);

System.out.println("gui:"+gui);

String param=request.getParameter("param");

System.out.println("Param "+param);

String searchQuery=request.getParameter("query");

System.out.println("query "+searchQuery);

String space=" ";

searchQuery=searchQuery.replaceAll(space,",");

String[] keywords=searchQuery.split(",");

System.out.println("No of keywords "+keywords.length);

StringBuffer query=new StringBuffer();

query.append("SELECT projectname, description, technology, projectid from projecttable where");

ArrayList result=null;

if(param!=null && param.equals("technology"))

{

query.append(" (technology LIKE '");

if(keywords.length>1)

{

for(int i=0;i<keywords.length;i++)

{

Indian Institute of Information Technology, Allahabad. 2007

Page 67: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

52 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

if(i!=keywords.length-1)

{

query.append("%");

query.append(keywords[i]);

query.append("%' or ");

query.append(" technology LIKE '");

}else

{

query.append("%");

query.append(keywords[i]);

query.append("%'");

}

}

query.append(") and status='1'");

}else

{

}

}else

{

query.append(" (projectname LIKE '");

if(keywords.length>1)

{

for(int i=0;i<keywords.length;i++)

{

if(i!=keywords.length-1)

{

}else

{

query.append("%");

query.append(keywords[i]);

query.append("%'");

}

}

query.append(") and status='1'");

}else

{

Indian Institute of Information Technology, Allahabad. 2007

Page 68: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

53 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

}

}

System.out.println(query.toString());

result=Result.getSearchResult(query.toString());

if(gui==2)

{

}

else

{

} } }

This servlet class will take the help of Result.java class and returns the search

result to searchresult.jsp through request object. searchresult.jsp will retrieve the

list of result and displays to the user. Result.java class is given below

package com.procurement.util;

import java.io.*;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.sql.*;

public class Result

{

static ResultSet rst=null;

public static ResultSet getResult(String query)

{ ……….

return rst;

}

public static int getUpdate(String query)

{ ……….

return x;

}

public static ArrayList getSearchResult(String query)

{ ……..

………

Indian Institute of Information Technology, Allahabad. 2007

Page 69: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

54 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

return result;

}

public static ArrayList getSearchCoder(String query)

{

return result;

} }}

Step3:

In third step we compile source codes; to compile source code first we have to

include the path to the servlet-api.jar files in CLASSPATH environment variable.

The servlet-api.jar file locates in the Tomact\common\lib\servelt-api.jar under

CATLINA_HOME.

Step4:

In fourth step we create deployment descriptor for procurement application. For

deployment descriptor we require to create a web.xml file under the WEB-INF

directory of the e-procurement application.

<web-app>

<servlet>

<servlet-name>SearchProject</servlet-name>

<servlet-class>com.procurement.search.SearchProject</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>SearchProject</servlet-name>

<url-pattern>/SearchProject/*</url-pattern>

</servlet-mapping>

<servlet>

</web-app>

Indian Institute of Information Technology, Allahabad. 2007

Page 70: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

55 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 3.21 response sent by Search Project servlet

Step5:

For running this e-procurement web application first we have to start tomcat server before sending request from the browser.

Step6:

Now in this final step we can call servlets from browser. The servlet we wrote in step 2 is named SearchProject. The URL format for the SearchProject servlet will be:

http://localhost:8080/e-procurement/SearchProject

3.3.5 Applying Ajax in developing the system

Seven steps for applying Ajax technology in procurement application is given below.

Thses steps show the process of username validation at the registration page of the

procurement system. This checks the availability of user with the same username

without reloading the page.

Step1: On entering text into username text field in registration page, a JavaScript

function checkaAvailability () is called as the result of the action.

<input type="text" name="username" id="username" onblur="checkAvailability()">

Indian Institute of Information Technology, Allahabad. 2007

Page 71: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

56 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

<DIVclass="text"id="availability"</DIV>

this form element will call the checkaAvailability () function every time the user fills

the form field.

Step2: The chekAvailabilty () function creates an XMLHttpRequest object and calls

object’s open function. There are three arguments the open function requires: the

HTTP method; the URL of the servlet; and a Boolean value that will indicate that the

call will be made asynchronously or not. If any interaction is set as true then a

callback() function should be declared. For this interaction the callback() function will

be set with the assertion request.onreadystatchange = callback.

function checkAvailability()

{ var userName = document.getElementById("username").value;

var url = "http://localhost:8080/e-procurement/CheckAvalability?userName="+userName ;

if (typeof XMLHttpRequest != "undefined")

{

req = new XMLHttpRequest();

} else if (window.ActiveXObject)

{

req = new ActiveXObject("Microsoft.XMLHTTP");

}

req.open("POST", url, true);

req.onreadystatechange = callback;

req.send(null);

}

Step 3: When req.send (null) is reached, the call will be made. If the request is a GET

type then this content may be left blank. When this function will be called on

XMLHttpRequest object, the servlet will be called according to the URL. In the URL,

userName (kamal_singh) is included as a URL parameter.

Indian Institute of Information Technology, Allahabad. 2007

Page 72: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

57 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Step 4: In the fourth step request will be processed by the CheckAvailability Servlet.

The servlet mapped to the URL "http://localhost:8080/e-procurement/

CheckAvalability? userName="+userName” checks whether the userName is in the

user database.

The servlet process this XML Request and extracts the userName parameter from the

request and validates whether the user with the same user name is existed in database.

public class CheckAvalability extends HttpServlet

{

public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException

{

System.out.println("Inside CheckAvalability!!");

String userName=request.getParameter("userName");

System.out.println("User Name!!"+userName);

PrintWriter out=response.getWriter();

StringBuffer query=new StringBuffer();

query.append("select userid from usertable where userid='"+userName);

query.append("'");

Connection con=null;

Statement stmt=null;

ResultSet rs=null;

try

{

Class.forName("com.mysql.jdbc.Driver");

System.out.println("driver registered...");

con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/procurement?user=ro ot&password=root");

stmt=con.createStatement();

rs=stmt.executeQuery(query.toString());

if(rs.next())

{

String tempName=rs.getString("userid");

System.out.println("Temp User Name!!"+tempName);

if(tempName.equals(userName))

Indian Institute of Information Technology, Allahabad. 2007

Page 73: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

58 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

{

out.write("User Name already exists**");

}

}

}catch(SQLException e)

{

System.out.println("exception"+e);

}catch(ClassNotFoundException e)

{

System.out.println("exception"+e);

}

}

}

Step 5: In fifth step, after validating userName parameter CheckAvailability Servlet

returns the result. The userName kamal_singh is present in the userName column of

usertable so the CheckAvailability Servlet will write result “the user with this

username is already existed” to the response object.

Step 6: When the result will be found from the CheckAvailability servlet, the

XMLHttpRequest object will call callback function and processes the result get from

CheckAvailability servlet. Every time when the ready State will change,

XMLHttpRequest object will call the callback() function.

function callback()

{ if (req.readyState == 4)

{ if (req.status == 200)

{ var returnValue = req.responseText;

document.getElementById("availaibility").style.display="inline";

document.getElementById("availaibility").innerHTML = returnValue;

} } }

Indian Institute of Information Technology, Allahabad. 2007

Page 74: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

59 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Java script technology modifies the document object model of the registration page

with tha help of available APIs.

Message returned by server

Figure 3.22 GUI for registration page after fetching Ajax response

Step 7: In this final step HTML document object model updates. Reference to

HTML page element can be gain by javascript technology using doc.getElementById

("avialability"), where "avialability" is the Id attribute of the username text field of

this registration page.

Indian Institute of Information Technology, Allahabad. 2007

Page 75: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

60 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

CHAPTER 4 RESULTS AND DISCUSSION

This chapter describes the results of this thesis project. As the thesis project chosen is

product base so the result of this thesis project is a software product.

4.1 Ajax application

Screenshot for registration page

For using this procurement platform user has to first register with this procurement

system. For registering user has to fill the registration from. Ajax is used in building

this web page with more interactivity and responsiveness. Ajax is used at username

text field and country combo box. On key up event on username text field and country

combo box java script function calls and sends an XMLHttpRequest to the web

container. This XMLHttpRequest contains three parameter; type of request GET or

POST, URL of the servlet with input parameter and a Boolean value. According to the

URL, corresponding servlet process the input parameter and sends result to the

browser and browser fetches that result on the same page without reloading that page.

Figure 4.1 GUI for user registration page

On the same page Ajax is also used at country combo box. According to the country

selected by user, the servlet sends the list of states to browser for fetching in the state

Indian Institute of Information Technology, Allahabad. 2007

Page 76: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

61 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

combo box. In the shown screen shot user has selected India as a country so he gets

the list of states of India in the “state” combo box just after selecting the India in

country field.

Figure 4.2 registration page after fetching Ajax response

4.2. Two user interface for the system

Screenshot for user account detail page

After login user will get his account detail page. On his account detail page he will get

all correspondence messages sent by other users and administrator of the system. He

can read any message by clicking at that message. From this page user can also

change the user interface of the web application, as the whole application is available

in two type of user interface. From the change view combo box he can switch from

one type of UI to other type. The two UI are named as modern and classic. This is one

of the most important benefits provided by MVC design pattern. The both GUI are

shown in fig. 4.3 and fig. 4.4. This page will provide all other links for performing

and managing procurer activities.

Indian Institute of Information Technology, Allahabad. 2007

Page 77: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

62 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 4.3 list of messages get by users

The same account detail page in modern GUI is shown in fig 4.4

Figure 4.4 modern GUI for user account page

Indian Institute of Information Technology, Allahabad. 2007

Page 78: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

63 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

4.3 Communication facilities

Screenshot for read message

After clicking any message user can read the message. From this page he can also

send reply to sender of message.

Figure 4.5 windows for reading message

Screenshot for sent message box

In this window the user will see all messages sent by him in the order of date.

Figure 4.6 windows showing the list of sent messages

Indian Institute of Information Technology, Allahabad. 2007

Page 79: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

64 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Screenshot for composing message

Providing communication facility was on of the major requirement for the project.

This write message page enables user to send messages to other users.

Figure 4.7 windows for sending message reply

4.4 Procurer’s related activities

Screenshot for procurer area page

On this page user will get the list off all projects he has posted. From this page he can

also manage all posted project. He can view the project detail he has posted, number

of bids on each project and the status of the project. Project status may be opened or

closed. Open status signifies that the project’s bid period is not expired and consultant

may place bid on these projects and closed status signifies that the project is not

opened for bidding. On clicking view bids column of any project user can view the

list of all bid on that particular project.

Indian Institute of Information Technology, Allahabad. 2007

Page 80: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

65 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 4.8 list of posted project s by procurer

Screenshot for view bid page

This page shows the list of bids to procurer according to the project he has selected

from the project list of procurer activity page. List will show the name of coders and

bids placed by all coders. By clicking coder name procurer can see the detail of coder

which includes all personal and technical detail of coder such as coder’s working

experience, working technology, rating given by other procurers to that coder etc. By

seeing all personal/ technical detail of a coder and bid proposal posted by coder,

procurer may take decision about assigning project to the best coder. Every row in bid

list ends with two links assign and decline. If the bid period is expired then only the

assign link will be clickable. On assigning project to any coder an automatic

notification will go to that coder. Procurer may decline any bid at any time and can

send message about the reason for declination to that coder.

Indian Institute of Information Technology, Allahabad. 2007

Page 81: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

66 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 4.9 list of bids get by procurer on his one of posted project

Screenshot for posting project

Figure 4.10 windows for posting project

Indian Institute of Information Technology, Allahabad. 2007

Page 82: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

67 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

The screenshot for posting project is given above in fig.4.10 Ajax is used at project

title text field for validating the project title as there can’t be projects with same title.

Procurer may upload the detailed file related with project. As the procurer submits

this form the information goes to database in pending mode. Once the administrator

verifies, the project will be open for coders for placing bid.

Screenshot for search consultant result

This window shows the list of searched consultant. On clicking coder name procurer

can see the detail of the coder/consultant. After seeing the consultant profile he can

invite them for placing bid on the project.

Figure 4.11 window showing search consultant result

Screenshot for procurer notification

This page will show the list of all notifications get by a procurer. This notification will

be of two types, one will be for proposal acceptance by coder and second for

successful verification of project by the administrator. Procurer can read one

notification among the list by making click at that notification.

Indian Institute of Information Technology, Allahabad. 2007

Page 83: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

68 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 4.12 list of notifications get by procurer

Screenshot for assigned project

This page shows the list of projects the procurer has assigned to different consultants.

He can also see the detail of assigned project and the bid proposal posted by him.

Figure 4.13 list of projects procurer assigned to different coders

Indian Institute of Information Technology, Allahabad. 2007

Page 84: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

69 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Screenshot for consultant detail page

This page contains the detail about all personal and technical detail of a consultant.

This page also includes the average rating of the consultant given by all procurers

who have worked with him.

Figure 4.14 consultant profiles including personal, technical and rating detail

4.5 Consultant’s related activities

Screenshot for consultant area page

This page provides the area for performing consultant related activity. On this page

consultant will get the list of all project on which he has placed bid. He can see the

detail of bid placed on any project among the list. Every row contains the information

about bid amount, deliver time and the status of the project.

Indian Institute of Information Technology, Allahabad. 2007

Page 85: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

70 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 4.15 list of bids placed by the consultant on different projects

Screenshot for project search page

Procurer can search projects by the technology and project title of a project. The

search result shown in screenshot given below is for java technology projects.

Figure 4.16 list of project search result

Indian Institute of Information Technology, Allahabad. 2007

Page 86: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

71 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Screenshot for project detail page

This page shows the detail of the project selected by consultant from the list of search

result. After reading project detail, consultant may place bid on the project or can send

message to the procurer if he needs some more information related to the project.

Figure 4.17 Window for reading project detail

Screenshot for placing bids

This page provides a form containing three field bid amount, delivery time and

description of consultant. By filling this form consultant may place bid on the project.

Indian Institute of Information Technology, Allahabad. 2007

Page 87: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

72 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 4.18 Window for placing bid

Screenshot for editing/creating consultant profile

From this page consultant may update his consultant profile.

Figure 4.19 Window for editing and creating consultant profile.

Indian Institute of Information Technology, Allahabad. 2007

Page 88: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

73 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

4.6 Administrator work

Screenshot for pending project (admin)

At this page admin gets the list of projects that are waiting for verification. He can

open project detail by clicking any project among the list.

Figure 4.20 Windows listing pending projects for verification

Screenshot for project verification (admin)

At this page admin gets the detail of the pending project and after checking all field entries he may verify the project.

Figure 4.21 Windows showing pending bid detail

Indian Institute of Information Technology, Allahabad. 2007

Page 89: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

74 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Screenshot for pending bid (admin)

At this page admin gets the list of bids that are waiting for verification. He can open

bid by clicking any bid proposal among the list.

Figure 4.22 Windows listing pending bids for verification

Screenshot for bid verification (admin)

At this page admin gets the detail of the pending bids and after checking all field

entries he may verify or reject the bid.

Figure 4.23 Windows showing pending bid detail

Indian Institute of Information Technology, Allahabad. 2007

Page 90: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

75 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Screen shots for all the other web pages of the system are described in the Appendix.

B

Indian Institute of Information Technology, Allahabad. 2007

Page 91: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

76 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

CHAPTER 5 CONCLUSION AND FUTURE WORK

5.1Conclusion

The objective of this project was to give a best solution for the problem

proposed. The requirement analysis of the functionality expected from the system turn

out in to a procurement system that will take benefit of new technologies and provides

a web based procurement platform for procuring software consultancy services. The

research was focused on the development of the procurement platform for software

consultancy services using design patterns and the technologies that can make this

platform with improved flexibility, scalability, interactivity and responsiveness. Some

of the features of the project developed in the thesis work are given below:

• For developing this thesis project the architecture used is model view controller architecture that solves some problems that exists in general web applications by separating business logic from the system interface.

• Ajax technology is used for making this e-procurement platform fast and user

interactive. Applying Ajax increases the interactivity, usability, and speed of the

procurement system. In developing this application Ajax is used for two purposes,

real time form data validation and load on demand purpose.

• The system implemented in the thesis work provides maximum scalability and

allow for multiple browsers with minimal software development.

• This project provides a framework through which procurement process can be

performed and managed. This project is web based and drawn upon a database as

its primary source. The main task of this system is to manage directory of

procurers, coders, posted projects and facilitating procurement process.

• System provides communication environment and automated notification facilities to the users of the system.

Summarization of functionalities provided by the system:

User account and profile management.

Provides Communication environment to the users

Correspondence management

Indian Institute of Information Technology, Allahabad. 2007

Page 92: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

77 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Automated notification facility

Verification of posted projects and bids.

Environment for performing and managing procurer activities.

Environment for performing and managing consultant activities.

Browsing processes.

Feed back processes.

System successfully implements all these functionalities, establish a e-procurement

environment, through which procurer and coder can participate in procurement

process at anytime, anywhere in order to achieve their procurement objectives.

5.2 Future Work

This procurement platform has been designed and implemented in taking

consideration the possibility of further work. From the starting of development of this

project flexibility, maintainability and portability have been considered as a

fundamental requirement that increases the possibility for the system to be extended

to provide some additional functionality. This thesis work presents an e-procurement

environment which provides web based facility for procuring software consultancy

services. Thus the objective of this thesis is to setup a good procurement environment

for procurers and consultants. Some issues are still open research issues which could

be integrated in the system.

• We should continue to explore how to make more appealing and effective

online procurement environment.

• Ajax can also be use for form auto completion and partial submit purpose. In

formal one some data’s like username, id and email address may be auto

completed as the user types. While in further one we can submit a part of form

data without a full page refresh.

• There is scope for additional functionality to rating process. That may help

procurer in better way in selecting best consultant. Last five year rating may

be added to the system, this will show the current capability of the consultant.

Indian Institute of Information Technology, Allahabad. 2007

Page 93: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

78 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

• Bid submission and project proposal form may be improve by providing some

more relevant field to these forms, that will help procurer and consultant to

explain their need in much better way.

Therefore there are possibilities for extending this procurement system. This e-procurement platform will provide backbone for the further work.

.

Indian Institute of Information Technology, Allahabad. 2007

Page 94: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

79 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

APPENDIX Appendix A Appendix A includes the remaining sequence diagram of the procurement system.

Figure 1.Sequence diagram for login

Figure 2.Sequence diagram for Changing View

Indian Institute of Information Technology, Allahabad. 2007

Page 95: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

80 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 3 Sequence diagram for Inbox

loginpage loginuser result

doPost()

username/pass

result.add(messagebean)

true/false

requestdispatcher

forward(request,response)

acountdetail.jsp

request object

if true

doPost()

ViewMessage viewmessagedetail.jsp

result.add(sentmessage)

true

clicks on any project (projectid)

request object

projectid

Figure 4 Sequence diagram for Reading Message

Indian Institute of Information Technology, Allahabad. 2007

Page 96: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

81 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 5 Sequence diagram for Reading sent message

Figure 6 Sequence diagram for registration

Indian Institute of Information Technology, Allahabad. 2007

Page 97: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

82 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 7 Sequence diagram for Editing/ creating profile

Figure 8 Sequence diagram for searching coders/consultants

Indian Institute of Information Technology, Allahabad. 2007

Page 98: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

83 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

procurer procureractivity page

click on procurer notification

ViewProcurerNotification

doPost()

resut

add(procurerNotification)

request

setAttribute("result",result);)

result

procurernotification.jsp

select notification (notificationId)

add(pro_not_Det)

ProcrerNotificationDetail

doPost

setAttribute("result",result);)

Procurernotificationdetail.jsp

result

Figure 9 Sequence diagram for Reading notifications (procurer)

procureracountdetail.jsp ViewPostProjec

tprocureractivit

y.jsp

clicks for procurer section

doPost()

result

result.add(viewpost)

request

setattribute("result",result)

result

select project

ViewBid

doPost()

result.add(viewbid)

setattribute("result",result)

viewbid.jsp

result

select bid proposal for assigning project to consultant (coderid,projectid)doPost()

Assign stmt

execureupdate(query)

success message

Figure 10 Sequence diagram for Assigning project to consultant

Indian Institute of Information Technology, Allahabad. 2007

Page 99: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

84 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

procurer procureractivity page

clicks on recent posted projectlink

RecentProject

doPost()

resut

add(recentProject)

request

setAttribute("result",result);)

result

recentpostedproject.jsp

Figure 11 Sequence diagram for viewing recent posted project

Figure 12 Sequence diagram for viewing bid details (procurer)

Indian Institute of Information Technology, Allahabad. 2007

Page 100: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

85 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 13 Sequence diagram for viewing the list of posted project

Figure 14 Sequence diagram for reading project detail

Indian Institute of Information Technology, Allahabad. 2007

Page 101: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

86 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 15 Sequence diagram for viewing procurer notifications

Figure 16 Sequence diagram for viewing list of bid placed (consultant/coder)

Indian Institute of Information Technology, Allahabad. 2007

Page 102: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

87 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

consultant coderactivitypage

clicks on recent posted projectlink

RecentBid

doPost()

resut

add(recentBid)

request

setAttribute("result",result);)

result

recentBid.jsp

Figure 17 Sequence diagram for seeing recent placed bids

Figure 18 Sequence diagram for viewing list of assigned projects

Indian Institute of Information Technology, Allahabad. 2007

Page 103: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

88 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 19 Sequence diagram for viewing list of projects assigned to coders

Figure 20 Sequence diagram for verifying project posted by procurers

(administrator)

Indian Institute of Information Technology, Allahabad. 2007

Page 104: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

89 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 21 Sequence diagram for viewing pending project details (administrator)

Figure 22 Sequence diagram for viewing recent pending bids (administrator)

Indian Institute of Information Technology, Allahabad. 2007

Page 105: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

90 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 23 Sequence diagram for verifying pending bids placed by consultants/coders

Figure 24 Sequence diagram for rejecting pending bids placed by consultants/coders

(administrator)

Indian Institute of Information Technology, Allahabad. 2007

Page 106: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

91 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 25 Sequence diagram for searching projects

consultant coderactivitypage

click on procurer notification

ViewcoderNotification

doPost()

resut

add(coderNotification)

request

setAttribute("result",result);)

result

codernotification.jsp

Figure 26 Sequence diagram for viewing notifications (consultants)

Indian Institute of Information Technology, Allahabad. 2007

Page 107: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

92 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Appendix B Appendix B includes the remaining screenshots of the procurement system.

Figure 1.Home page for the system

Figure 2.Login page for users (procurer/consultant)

Indian Institute of Information Technology, Allahabad. 2007

Page 108: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

93 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Login error wrong username/pass

Figure 3.Login page (after entering wrong username/password)

As the session expires; user have to log on again

Figure 4. Login page (after session expiration)

Indian Institute of Information Technology, Allahabad. 2007

Page 109: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

94 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Message for successful logout

Figure 5. Login page (after logout)

Login interface for admin

Figure 6. Login page for administrator

Indian Institute of Information Technology, Allahabad. 2007

Page 110: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

95 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Figure 7.View pending page (after verifying project proposal)

Message for successful project verification

Message for successful project rejection

Link for sending message

Figure 8.Pending project page (after rejecting project proposal), admin

Indian Institute of Information Technology, Allahabad. 2007

Page 111: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

96 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Message after deleting project

Figure 9.Pending project page (after deleting a project proposal)

Message on successful bid verification

Figure10.View pending bid detail (after verifying a bid proposal)

Indian Institute of Information Technology, Allahabad. 2007

Page 112: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

97 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Message gets by admin after rejecting bid

Figure11.Pending bids page (after rejecting bid proposal)

Message gets by admin after deleting bid

Figure 12.Pending bid page (after deleting a bid proposal)

Indian Institute of Information Technology, Allahabad. 2007

Page 113: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

98 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Message gets by procurer after assigning project to consultant

Figure 13.Procurer activity page (after accepting a bid proposal)

One Project can’t be assign to two peoples

Figure 14.Coder activity page (after trying to assign a already assigned project)

Indian Institute of Information Technology, Allahabad. 2007

Page 114: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

99 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Message gets by consultant after accepting proposal of

After 15.Coder activity page (after accepting a project proposal)

Consultant can’t place bid more than one on a particular project

Figure 16.View project detail page (for trying to place bid more than one, on a project)

Indian Institute of Information Technology, Allahabad. 2007

Page 115: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

100 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Message gets by user; if he tries to bid on his own project

Figure18.View project detail page (for trying to place bid on your own posted project)

Message gets by consultant after placing bid

Figure19.View project detail page (after placing bid on a project)

Indian Institute of Information Technology, Allahabad. 2007

Page 116: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

101 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

Message gets by procurer after posting project

Figure20.Procurer activity page (After posting a project)

One project can’t be assign to more than one consultant.

Figure21.Procurer activity page (After trying to assign a already assigned project)

Indian Institute of Information Technology, Allahabad. 2007

Page 117: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

102 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

BIBLIOGRAPHY

[1]. Burca, fynist and marshall “Strategic technology adoption : extending ERP

across the supply chain”, t he journal of Enterprise management system. Vol 18

no-4205

[2]. Linda Dally Paulson, “building rich web application with ajax”, published by

the IEEE compute society.

[3]. A.Hussey & D.Carrengton “MVC architecture a formal perspective”, IEEE

proc software engineering, vol144 no-4, august, 1997.

[4]. Yu Ping, Kostas & C.Lau “transforming legacy web applications to the MVC

Architecture”,0-7695-2218-1/04,IEEE.

[5]. Diana M. Selfa , Maya Carrillo, “ A database and web application based on

MVC architecture”, 0-7695-2505,9/06,IEEE.

[6]. Fawaz .A. Masoud “ASP.NET 7 JSP framework in model view controller

implementation.” 0-7803-9521-2/06

[7]. Keith smith “simplifying ajax style web development” Microsoft ,may2006.

[8]. Colin moock “essential action script 2.0.” O`Reilly.

[9]. Gary Richardson “E-Government Priority Outcomes:Hitting all the Targets”.

[10]. George L Harrie &haris consuling “The pitfalls of implementing EDI in

procurement”Electro international may,2004.

[11]. Bore Lirtzende , harink and heijbore “A model for assessing the impact of

electronic procurement forms.”, the 10th international annual IPSERA conference

2001

[12]. Rebeleca Angles “business to business eprocurement corporate intiative a

descriptive empirical study”, ICEC2006.

Indian Institute of Information Technology, Allahabad. 2007

Page 118: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

103 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

[13]. Rong Du & ernest foo, “defining security services for etendering,” IEEE.

[14]. Jacobson “Object Oriented software engineering”- a use case driven approach,

Addison Wesley Longman,Inc 1999.

[15]. Bruce Powel “Real Time UML- advances in the UML for Real time system ”,

3rd Edition Addition Wesley publication

[16]. Gogis, “A J2ee introduction”, www.gogis.nl/en/tutorials/docs/j2ee

[17]. Budi Kurniawan “Java for the web with servelt JSP and EJB”- a developer

guide to scalable J2EE solution, TechMedia

[18]. Visual case-UML &Eir database design tool “Asho visual care”.

[19]. Grady Booch & Rumbaugh James “Unified Modeling Language User Guide”,

2nd Edition, 2005

[20]. Bahsam Brayn , Siera and Bates “Head first servelt and JSP” OReilly

publication.

[21]. Gamma, Erich, Helm, Richard, Johnson, Ralph, “Design Patterns: Elements of

Reusable Object-Oriented Software”, Addison Wesley, England, 2000.

[22]. Bore Lirtzende , harink and heijbore “A model for assessing the impact of

electronic procurement forms.”, the 10th international annual IPSERA conference

2001

[23]. Vu Tran “A procurement centric model for engineering component based

software system”, 0-8186-7940-9/97, IEEE.

[24]. John Bischoff “technical procurement at internet speed” , 0-7803-6442-

2/2000,IEEE.

[25]. Brian kotic “MVC design pattern brings about better organization and code

reuse” Tech republic, Oct 2002.

Indian Institute of Information Technology, Allahabad. 2007

Page 119: IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25 3.2.1 Design patterns 25 3.2.1.1 Model view controller design pattern 25 3.2.1.2

104 Implementing e-procurement platform for s\w consultancy services using MVC design pattern and Ajax

[26]. Oscar Sanchez I vler “Atomatic web publishing”, A dissertation submitted to

the University of Dublin, Sep 2000.

[27]. Robert J.kauffman “information technology in B2B procurement”, 0-7695-

1435-9/02, IEEE.

[28]. Y.Narahaw “queuing network modeling & LT compression of e

procurement”, 0-7803-7222-7/02, IEEE.

[29]. IEEE recommended practice for software requirement specification, software

engineering standard committee of the IEEE comuter society, Approved

December 1993.

[30]. Michail J.Mahemoff “handling multiple domain objects with model view

controller”, IEEE.

[31]. Lichunlin “A java based method for developing web application

system”,IEEE.

[32]. J. Wojciechowsk , k. Dura & B.sakoloic “MVC Model struts framework and

file upload issues in web application based on j2EE platform”, TCSET 2004

[33]. Diana M. Selfa , Maya Carrillo, “ A database and web application based on

MVC architecture”, 0-7695-2505,9/06,IEEE.

[34]. D.Jamieson “agile procurement to support agile software development” 0-

7803-9094-6/05,IEEE.

[35]. Gary Richardson “E-Government Priority Outcomes:Hitting all the Targets”.

[36]. David Brawn & Jeff Siviles “Unified Modeling language tutorial (UML)”

Indian Institute of Information Technology, Allahabad. 2007