IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25...
Transcript of IMPLEMENTING E-PROCUREMENT PLATFROM FOR SOFTWARE ... grade/Kamal Singh... · 3.2 System Design 25...
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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