Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 61

1.

INTRODUCTION

1.1 Introduction of Organization

Organization Profile
The "eZeon Technologies" is an ISO Certified Information Technology company offering
Software Development and Training Services in India and Abroad. The Company established in
2009. It is offering the services in Web Solutions, Product Engineering and Custom Application
Development etc. across the world. We possess not only the latest technology gadgets but also the
knowledgeable and experience hands to offer customized and cost effective solutions to their clients.
"eZeon Technologies” also offers the best Corporate Training Services across the globe.
We have revolutionized the way one teaches IT related subjects. We specialize, believe and standby
in providing everlasting contribution to the IT industry.

Company Business Domain


 Health Care
 Legal Domain
 Tourism & Hospitality
 Agriculture
 Automobile
 Education
 e-Governance

Company Services
 Software Application Development
 Website Solution
 Mobile Apps(Android/I phone)
 Online Marketing
 Maintenance & support
 Outsourcing & Consultation
 Offshore Development
 Co-corporate Training

1 0103CA111026
Company Products
 EZEON-SERP (School Automation System)
 EZEON-WSM(Whole Sale Management)
 EZEON-PPC(Piracy Protection Component)
 EZEON-EBPA (Education Business Process Auto.)
 EZEON-DSR(Daily Status Report and Performance Evaluation System)
 EZEON-ITS(Issue Tracking System)
 EZEON-DOC(Document Central)
 EZEON-CAS (Clinical Automation System)
 EZEON-STS(Support Ticket System)
 EZEON-MMS(Matrimonial System)

Company Client List


 Archaeological Survey of India, Bhopal (ASI)
 Archaeological Survey of India, Temple Survey Project, NR (ASI TSP)
 Medical World Online – Health Care Network
 Clinical EMRs-Multi Doctor Clinical Automation
 VisualFx Planet – 3D Animation Editing App
 Krishi Vigyan Kendra, Bhopal, MP (KVK)
 Krishi Vigyan Kendra, Dantewada,CG (KVK)
 PK Rai Joint Replacement, Clinic
 Shubhash Transport
 Goldies Group
 ESDCL ALSA Conference
 Gupta Computer World
 Gupta Lifestyle
 Wonder Kids Foundation
 JASS
 Artifact Infra

2 0103CA111026
1.2 Description of Project
“Procurement” is the acquisition of goods , services and work from an outside company
or agency . We can say that the act of getting something is known as Procurement.
Procurement Portal is software that helps to automate the purchasing function of
organizations. Procurement Portal sometimes also known as supplier exchange. It is business-to-
business or business-to-government purchase & sale of supplies, work, contract, e-Tendering,
Auction.
Form this portal we will achieve benefits such as increased efficiency and cost savings (faster
and cheaper) in government procurement and improved transparency (to reduce corruption) in
procurement services.

Features of Procurement Portal

 All paper documents converted to electronic files can be immediately accessed and easily
viewed, searched, annotated, edited, and e-mailed (saving postal/courier charges).
 No more hardcopy degradation due to moisture, light, dust, age and handling.
 No more documents mysteriously disappearing (possibly by someone who should not have
had access in the first place) or getting out of order.
 Imagine the hours spent digging through file boxes, searching for hours (or days) to find a
confidential letter received from a client five years ago (only to find that it was "mis-filed")!
You could be just a few mouse clicks away from that very record.

1.3 Objective of Project


 Understand the importance of project procurement management and the increasing use of
outsourcing for information technology projects
 Describe the work involved in planning purchases and acquisitions for projects, the contents
of a procurement management plan and contract statement of work, and calculations
involved in a make-or-buy analysis
 Discuss what is involved in planning contracting, including the creation of various
procurement documents and evaluation criteria for sellers
 Understand the process of requesting seller responses and the difference between proposals
and bids
 Describe the seller selection process and recognize different approaches for evaluating
proposals or selecting suppliers

3 0103CA111026
 Discuss the importance of good contract administration
 Describe the contract closure process
 Discuss types of software available to assist in project procurement management

1.4 Domain of Project


This Project is basically used for managing the tenders filling and allocation. Multiple
companies bid for a tender and then according to some rules of organization one company wins and
get mail for approval other companies will get rejected.

1.5 System Context Diagram

4 0103CA111026
1.6 Modules
The modules of this system are as follows:
 User Management
 Tender Management
 Bidding Management
 Company Management
 Transaction Management
 Reporting Management

2. Background & Literature Survey


2.1 Basic Concept Used
Procurement Portal is based on java platform which is one of the most secured and reliable
platform for developing web application. In this project we have used Spring MVC as a front-end-
design and MySQL as back-end. It is based on the spring MVC architecture which fits for enterprise
web application.
Spring MVC is light-weight component and supports multiple view .It supports Multiple
View Technology .It uses different services under in one Container such as MVC,DAO,ORM
,Distributed Web Services, Batch , Email, Data Source etc. Spring MVC uses easy programming
model using Annotation. Spring MVC, a Java Model-View-Controllers (MVC) web framework,
which builds on the Spring Inversion of control(IoC) framework, extensive use of the Spring’s
features make the Spring MVC framework highly decouple the components dependency and
simplify the whole MVC configuration. The Spring Web model-view-controller (MVC) framework
is designed around a DispatcherServlet that dispatches requests to handlers, with configurable handler
mappings, view resolution, locale, time zone and theme resolution as well as support for uploading
files. The default handler is based on the @Controller and @RequestMapping annotations, offering a
wide range of flexible handling methods. With the introduction of Spring 3.0,
the @Controller mechanism also allows you to create RESTful Web sites and applications, through
the @PathVariable annotation and other features.
In Spring Web MVC you can use any object as a command or form-backing object; you do
not need to implement a framework-specific interface or base class. Spring’s data binding is highly
flexible: for example, it treats type mismatches as validation errors that can be evaluated by the
application, not as system errors. Thus you need not duplicate your business objects' properties as
simple, untyped strings in your form objects simply to handle invalid submissions, or to convert the
Strings properly. Instead, it is often preferable to bind directly to your business objects.

5 0103CA111026
Spring’s view resolution is extremely flexible. A Controller is typically responsible for
preparing a model Map with data and selecting a view name but it can also write directly to the
response stream and complete the request. View name resolution is highly configurable through file
extension or Accept header content type negotiation, through bean names, a properties file, or even
a custom ViewResolver implementation. The model (the M in MVC) is a Map interface, which
allows for the complete abstraction of the view technology. You can integrate directly with template
based rendering technologies such as JSP, Velocity and Freemarker, or directly generate XML,
JSON, Atom, and many other types of content. The model Map is simply transformed into an
appropriate format, such as JSP request attributes, a Velocity template model.

Hardware Requirement

Hardware Type Min. Requirement


 Processor 2.0 GHz
 RAM 1 GB JVM Heap Space
 Hard Disk Space 10 GB
 Monitor SVGA
 Keyboard Qwerty keyboard
 Mouse Optical

Software Requirement

Front – End : JAVASE 6, JAVAEE 5, AJAX


Back-End : MySQL 5.x
Web Server : Apache Tomcat 7.0
Framework & Middleware: Spring MVC ,Spring IoC Container, Spring DAO
support
Scripting : HTML, CSS, JavaScript, Ajax, jQuery
Development Tool : Net Beans 6.9, MySql GUI client-EMs

6 0103CA111026
3. Analysis

3.1 Details of Modules


The modules of this system are as follows:
 User Management
 Add user
 List & Search user
 Update user
 Active/ Block user

 Tender Management
 Add Tender
 List & Search Tender
 Update Tender
 Add Proposal
 Tender Tracking
 Payment

 Bidding Management
 Add Participant Detail
 List & Search Participant
 Update Participant
 Approve Bidding

 Company Management
 Add Company
 List & Search Company
 Update Company
 Delete Company

7 0103CA111026
 Transaction
 Add Payment
 List & Search Payment

 Reporting
 Listing & Searching
 Update

3.3 Technology
This chapter gives the information about the tools and basic resources that were used for the
successful implementation of this project. This chapter is oriented towards delivering the
fundamental knowledge of all the resources, tools that were utilized for developing the project. This
includes introduction of JAVA and its packages with My SQL description which we have used. The
description is very simple for everyone to easily get to the basics behind the implementation. There
will be a glossary of words that are not generally known to any new users.
This project is developed in JAVA as the Front-End and MYSQL as Back-End.
Front end
About Java:
For any project to be run in the environment required by the customer, there should be well
defined requirement analysis be done for the complete satisfaction of the customer. JAVA is Object
Oriented Programming Language. The creation of JAVA was deeply rooted in the process of
refinement and adaptation that has been occurring in the computer programming languages.
JAVA derives its syntax from C and object oriented features like abstraction, polymorphism,
inheritance, encapsulation from C++. The key that allow JAVA to solve both the security and the
portability problems just described is that the output of a JAVA compiler is not an executable code
rather it is byte code. Byte code is highly optimized set of instruction designed to be executed by
JAVA run time system, which is called JAVA Virtual Machine (JVM). JVM is an interpreter for byte
code.
Features of Java:
1. SIMPLE:-
Java was designed for the professional programmer to learn and use effectively. It is easier
because it has some features of C++ and C which is known to us. Beyond this it has also some extra
features which make it easier than other languages.

8 0103CA111026
2. OBJECT-ORIENTED:-
Java is object-oriented language. In Java everything is treated as object. Java manages to
strikes a balance between purist’s “Everything is an object” object paradigm. The object model in
Java is simple and easy to extend, while simple types, such as integers, are kept as high performance
non-object.
3. ROBUST:-
The program must execute reliably in variety of systems. Thus the ability to create robust
programs gives a high priority in the design of Java.
4. MULTITHREADED:-
Java supports multithreaded programming, which allows writing program that do many
things simultaneously.
5. PORTABILITY:-
For program to be dynamically downloaded to all various platforms Connected to the
internet, some means of generating portable executable code is needed. The same mechanism that
helps ensure security also helps create portability.
6. SECURITY:-
Java achieves this protection by confining a Java program to the Java execution environment
and allowing it access to other parts of the computer.
7. DYNAMIC: -
Java programs carry with them substantial amounts of run-time type information that is used
to vary and resolve accesses to objects at run time. This makes it possible to dynamically link code in
a safe and expedient manner.
8. PLATFORM INDEPENDENCE :-
The write-once-run anywhere ideal as not been achieved (tuning for platform usually
required) but closer than with other languages.
9. COMPILED/INTERPRETED CODE:-
(a) Code is compiling to byte codes that are interpreted by java virtual machine.
(b) This provides portability to any machine for which a virtual m/c has been written.
(c) The two step of compilation and interpretation allow for extensive code checking and
improved security.
10. Threading:-

Lightweight processes called thread, can easily be spun off to perform multiprocessing can
take advantage of multiprocessors where available great for multimedia display.

9 0103CA111026
Java’s Magic: Byte code
 Byte code is highly optimized set of instructions designed to be executed by JVM.

 JVM is an interpreter which converts byte code to native code.

We have used the following technologies in our project.

Spring Framework:
Spring MVC helps in building flexible and loosely coupled web applications. The Model-
view-controller design pattern helps in separating the business logic, presentation logic and
navigation logic. Models are responsible for encapsulating the application data. The Views render
response to the user with the help of the model object. Controllers are responsible for receiving the
request from the user and calling the back-end services.
Light-weight yet comprehensive framework for building Java SE and Java EE applications.
The figure below shows the flow of request in the Spring MVC Framework.

When a request is sent to the Spring MVC Framework the following sequence of events happen.
 The DispatcherServlet first receives the request.

 The DispatcherServlet consults the Handler Mapping and invokes the Controller associated
with the request.

 The Controller processes the request by calling the appropriate service methods and returns
a ModeAndView object to the DispatcherServlet. The ModeAndView object contains the
model data and the view name.

10 0103CA111026
 The DispatcherServlet sends the view name to a View Resolver to find the actual View to
invoke.

 Now the DispatcherServlet will pass the model object to the View to render the result.

 The View with the help of the model data will render the result back to the user.

Modules
The Spring Framework comprises several modules that provide a range of services:

The Core package is the most fundamental part of the framework and provides the IOC
and Dependency Injection features. The basic concept here is the BeanFactory, which provides a
sophisticated implementation of the factory pattern which removes the need for programmatic
singletons and allows you to decouple the configuration and specification of dependencies from
your actual program logic.
The Context package build on the solid base provided by the Core package: it provides a
way to access objects in a framework-style manner in a fashion somewhat reminiscent of a JNDI-
registry. The context package inherits its features from the beans package and adds support for
internationalization (I18N) (using for example resource bundles), event-propagation, resource-
loading, and the transparent creation of contexts by, for example, a servlet container.
The DAO package provides a JDBC-abstraction layer that removes the need to do tedious
JDBC coding and parsing of database-vendor specific error codes. Also, the JDBC package provides
a way to do programmatic as well as declarative transaction management, not only for classes
implementing special interfaces, but for all your POJOs (plain old Java objects).

11 0103CA111026
The ORM package provides integration layers for popular object-relational mapping APIs,
including JPA, JDO, Hibernate, and iBatis. Using the ORM package you can use all those O/R-
mappers in combination with all the other features Spring offers, such as the simple declarative
transaction management feature mentioned previously.
Spring's AOP package provides an AOP Alliance-compliant aspect-oriented programming
implementation allowing you to define, for example, method-interceptors and point cuts to cleanly
decouple code implementing functionality that should logically speaking be separated. Using source-
level metadata functionality you can also incorporate all kinds of behavioral information into your
code, in a manner similar to that of .NET attributes.
Spring's Web package provides basic web-oriented integration features, such as multipart
file-upload functionality, the initialization of the IOC container using servlet listeners and a web-
oriented application context. When using Spring together with Web Work or Struts, this is the
package to integrate with.
Spring's MVC package provides a Model-View-Controller (MVC) implementation for
web-applications. Spring's MVC framework is not just any old implementation; it provides
a clean separation between domain model code and web forms, and allows you to use all the other
features of the Spring Framework.

Inversion of Control/Dependency Injection


Dependency injection is kind of an Inversion of Control pattern. It is proposed as an
alternative for the Service Locator. Martin flower discusses the Dependency Injection pattern,
Inversion of Control pattern and the differences it has with the service locator in an article at his site
(See resources below).
Dependency Injection proposes separating the implementation of an object and the
construction of objects that depend on them. The job of coordinating the implementation and
construction is left to the Assembler code. The object that needs to be implemented does not need
to instantiate the dependent objects and can rely on the assembler to do the job. The assembler will
gather and instantiate, if necessary, the entire dependent objects and make them available to the
implemented object. Since the assembler does not depend on the code directly changes can be made
to the assembler without any changes to the code. The assembler gathers the required classes
through configuration files so a change in the assembler only needs changes to the configuration file.
In this case the Assembler code would be the spring framework.
Since the classes are independent and are integrated through the assembler, independent
testing of each class can be done without affecting other application codes.

There are three types of Dependency Injections.


 Type 1 IOC also called Interface Injection In Type 1 IOC the injection is done though an
interface. The interface will define the injection method and the implementation class has to
implement this interface and provide concrete implementation for the injection method.
 Type 2 IOC also called Setter Injection In Type 2 IOC the injection is done via a setter method.
Type 2 IOC uses setter methods to get the dependent classes it needs.
12 0103CA111026
 Type 3 IOC also called Constructor Injection. In Type 3 IOC implementing class defines a
constructor to get all its dependents. The dependent classes are defined in the constructor
arguments.

How does Spring Work?


The idea is that beans follow the Dependency Injection pattern. Beans have information on
the classes dependent on them. Beans define their own attributes within bean descriptors and also
define the beans they depend on in the same descriptors. The Bean does not need to locate and
instantiate these classes using service locators or JNDI calls. The Assembler (Spring Framework in
this case) takes care of finding these classes based on the information provided in the descriptor and
makes them available to the calling class.
The service locator pattern does almost the same job, so why do we need another pattern to
do it. The class that needs the dependent class’s needs to tell the Service Locator as to which classes
is required by it and moreover the responsibility of finding these classes and invoking them falls on
the calling class. This makes the classes tightly coupled with each other making them difficult to unit
test them separately. In the case of the Dependency Injection pattern the responsibility is shifted to
the Assembler to load these classes. The assembler can make changes to the dependent classes by
simply modifying the descriptor file.

Spring Features:
 The most complete lightweight container, providing centralized, automated configuration
and wiring of your application objects. The container is non-invasive, capable of assembling a
complex system from a set of loosely-coupled components (POJOs) in a consistent and
transparent fashion. The container brings agility and leverage, and improves application
testability and scalability by allowing software components to be first developed and tested in
isolation, then scaled up for deployment in any environment (J2SE or J2EE).
 A common abstraction layer for transaction management, allowing for pluggable
transaction managers, and making it easy to demarcate transactions without dealing with low-
level issues. Generic strategies for JTA and a single JDBC Data Source are included. In contrast
to plain JTA or EJB CMT, Spring's transaction support is not tied to J2EE environments.
 A JDBC abstraction layer that offers a meaningful exception hierarchy (no more pulling
vendor codes out of SQLException), simplifies error handling, and greatly reduces the amount
of code you'll need to write. You'll never need to write another finally block to use JDBC again.
The JDBC-oriented exceptions comply to Spring's generic DAO exception hierarchy.
 Integration with Top link, Hibernate, JDO, and iBATIS SQL Maps: in terms of resource
holders, DAO implementation support, and transaction strategies. First-class Hibernate support
with lots of IoC convenience features, addressing many typical Hibernate integration issues. All
of these comply to Spring's generic transaction and DAO exception hierarchies.
 AOP functionality fully integrated into Spring configuration management. You can AOP-
enable any object managed by Spring, adding aspects such as declarative transaction
management. With Spring, you can have declarative transaction management without EJB...
even without JTA, if you're using a single database in Tomcat or another web container without
13 0103CA111026
JTA support.
 A flexible MVC web application framework built on core spring functionality. This
framework is highly configurable via strategy interfaces, and accommodates multiple view
technologies like JSP, Velocity, Tiles, iText, and POI. Note that a spring middle tier can easily be
combined with a web tier based on any other web MVC framework, like Struts, Web Work, or
Tapestry.

Beans, BeanFactory and Application Context :


The basic package in the spring framework is the org.springframework.beans package.
Spring framework uses JavaBeans and this package provides most of the basic functionality to
manipulate Java beans and provides the basic infrastructure for the other spring framework classes.
This package also provides the basis for the "Dependency injection" pattern that Spring is based on.
There are two ways in which clients can use the functionality of the Spring Framework--the
Bean Factory and the Application Context. The BeanFactory is a generic factory, which stores the
information about all the Spring Beans and allows the user to instantiate beans and manage them.
The BeanFactory provides programmers with the facilities to implement the basic features of the
Spring Framework. The ApplicationContext builds on top of the BeanFactory and inherits all the
basic features of the Spring Framework. Apart from the basic features, ApplicationContext provides
additional features like Event management, internationalization support and resource management.
The BeanFactory is particularly useful in low memory situations like in an Applet where
having the whole API would be overkill. It provides the basic spring framework features and does
not bring all the excess baggage that ApplicationContext has. ApplicationContext helps the user to
use Spring in a framework oriented way while the BeanFactory offers a programmatic approach.

BeanFactory
A BeanFactory is like a factory class that contains a collection of beans. The BeanFactory
holds BeanDefinitions of multiple beans within itself and then instantiates the bean whenever asked
for by clients.
XMLBeanFactory is a BeanFactory implementation provided within the Spring Framework.
The XMLBeanFactory can read BeanDefinitions from a XML file directly. The XMLBeanFactory
validates the XML using a DTD file called beans.dtd and checks for inconsistencies in the XML.

Bean Class

The Bean, which is stored in the BeanFactory, is the actual class that would carry the logic
for the bean. Spring does not define any standards on how the bean needs to be structured. Any
J2EE complaint bean structure is acceptable to Spring. Unlike Struts and other frameworks the
beans do not need to implement any special Spring interfaces to make them work in the Spring
Framework.
Depending upon the kind of Inversion required the bean might have to follow the rules of
the corresponding Inversion Dependency pattern. Spring supports only Constructor based injection

14 0103CA111026
and setter based injection. So a bean that used constructor-based injection should have to define
constructors accordingly. Spring recommends setter-based injection over constructor-based
injection as multiple constructors can make the bean huge and unmanageable.
A bean has one or more IDs associated with it. The ID should be unique within the
BeanFactory it is contained in so that the BeanFactory can look up the bean using the ID. If a bean
has multiple IDs they are defined as aliases for the bean.
The spring framework takes care of how the beans can be created and sent back to clients.
Beans can be deployed as singletons or as non-singletons. If a bean is defined as a singleton then
only one instance of the bean is created by the BeanFactory and returned when a request for the
bean is made. All subsequent requests get the same instance which was created first. Non- singleton
beans or Prototype beans can have multiple instances created. So each time a request is made for a
bean to the BeanFactory a new instance is created and returned. The BeanFactory cannot do
Lifecycle management of a prototype bean, as a new instance is created for each client who requests
it (Lifecycle management of a bean is discussed in a subsequent section).

BeanDefinition
The BeanDefinition contains all the information required by the BeanFactory to instantiate
the bean. This includes any dependencies the bean may have on other beans and how the bean
needs to be configured in the container. When a request is made for a bean, the BeanFactory loads
the corresponding BeanDefinition and instantiates the bean. The BeanDefinition has information on
how the bean would be instantiated (Singleton or prototype) and callback methods defined in the
Lifecycle section.

Lifecycle of a Bean
After the bean is initialized the BeanFactory can use callback methods to change the
behavior of the bean in the BeanFactory. One of the callback methods is the init-method. The
Initializing Bean interface of the factory package gives the ability to do initialization work after
properties are set up for a bean in the BeanFactory. The after PropertiesSet () method in the
Initializing Bean interface allows the user to check if all the properties are set properly or if some
operation has to be done after the properties have been set.
All Bean classes that need to use this callback method need to implement the Initializing
Bean interface and implement the after PropertiesSet () method. If the initialization work is minimal
the user has the flexibility to designate a method within the bean, which will be invoked after bean
properties have been set. The designated method, which would do the initialization, can be then be
specified in the init-method attribute of the bean. Designating the init-method attribute can help to
avoid implementing the Initializing Bean interface.
In a similar fashion a Disposable Bean interface is provided to do cleanup operations after a
bean is destroyed. The bean has a destroy-method attribute that can used to designate a method
within the bean, which will do the cleanup work when the BeanFactory destroys the bean.

15 0103CA111026
Other Features:
 Spring can automatically resolve the dependent beans with the help of the BeanFactory. This
facility can reduce the need to specify properties or constructor arguments.
 Spring can check dependencies on a bean. It can check for values that should be set when a
bean is initialized. If the check is not done the BeanFactory will set the default value. This
behavior is not mandatory and can be turned on when required.
 Spring can also manage multiple resource files for you.

Introduction to Spring Framework JDBC

The value-add provided by the Spring Framework JDBC abstraction is perhaps best shown
by the sequence of actions outlined in the table below. The table shows what actions Spring will take
care of and which actions are the responsibility of you, the application developer.

Table 12.1. Spring JDBC - who does what?

Action Spring You

Define connection parameters. X

Open the connection. X

Specify the SQL statement. X

Declare parameters and provide parameter values X

Prepare and execute the statement. X

Set up the loop to iterate through the results (if any). X

Do the work for each iteration. X

Process any exception. X

Handle transactions. X

Close the connection, statement and resultset. X

The Spring Framework takes care of all the low-level details that can make JDBC such a tedious API
to develop with.

16 0103CA111026
Choosing an approach for JDBC database access

You can choose among several approaches to form the basis for your JDBC database access. In
addition to three flavors of the JdbcTemplate, a new SimpleJdbcInsert and SimplejdbcCall approach
optimizes database metadata, and the RDBMS Object style takes a more object-oriented approach
similar to that of JDO Query design. Once you start using one of these approaches, you can still mix
and match to include a feature from a different approach. All approaches require a JDBC 2.0-
compliant driver, and some advanced features require a JDBC 3.0 driver.
 JdbcTemplate is the classic Spring JDBC approach and the most popular. This "lowest
level" approach and all others use a JdbcTemplate under the covers, and all are updated with
Java 5 support such as generics and varargs.
 NamedParameterJdbcTemplate wraps a JdbcTemplate to provide named parameters
instead of the traditional JDBC "?" placeholders. This approach provides better
documentation and ease of use when you have multiple parameters for an SQL statement.
 SimpleJdbcTemplate combines the most frequently used operations of JdbcTemplate and
NamedParameterJdbcTemplate.
 SimpleJdbcInsert and SimpleJdbcCall optimize database metadata to limit the amount of
necessary configuration. This approach simplifies coding so that you only need to provide
the name of the table or procedure and provide a map of parameters matching the column
names. This only works if the database provides adequate metadata. If the database doesn't
provide this metadata, you will have to provide explicit configuration of the parameters.
 RDBMS Objects including MappingSqlQuery, SqlUpdate and
StoredProcedure requires you to create reusable and thread-safe objects during initialization
of your data access layer. This approach is modeled after JDO Query wherein you define
your query string, declare parameters, and compile the query. Once you do that, execute
methods can be called multiple times with various parameter values passed in.Using the
JDBC core classes to control basic JDBC processing and error handling

JdbcTemplate
The JdbcTemplate class is the central class in the JDBC core package. It handles the creation and
release of resources, which helps you avoid common errors such as forgetting to close the
connection. It performs the basic tasks of the core JDBC workflow such as statement creation and
execution, leaving application code to provide SQL and extract results. The JdbcTemplate class
executes SQL queries, update statements and stored procedure calls, performs iteration
over ResultSets and extraction of returned parameter values. It also catches JDBC exceptions and
translates them to the generic, more informative, exception hierarchy defined in
the org.springframework.dao package.
When you use the JdbcTemplate for your code, you only need to implement callback
interfaces, giving them a clearly defined contract. The PreparedStatementCreator callback interface
creates a prepared statement given a Connection provided by this class, providing SQL and any
necessary parameters. The same is true for theCallableStatementCreator interface, which creates
callable statements. The RowCallbackHandler interface extracts values from each row of a ResultSet.

17 0103CA111026
The JdbcTemplatecan be used within a DAO implementation through direct instantiation
with a DataSource reference, or be configured in a Spring IoC container and given to DAOs as a
bean reference.

Back-End :
About MySQL
MySQL is a relational database management system (RDBMS)[1] that runs as a server
providing multi-user access to a number of databases. MySQL is officially pronounced but is often
also pronounced /maɪˈsiːkwəl/ ("My Sequel"). It is named after developer Michael Widenius'
daughter, My. The SQL phrase stands for Structured Query Language.The MySQL development
project have made its source code available under the terms of the GNU General Public License, as
well as under a variety of proprietary agreements. MySQL was owned and sponsored by a single for-
profit firm, the Swedish company MySQL AB, now owned by Oracle Corporation.Members of the
MySQL community have created several forks (variations) such as Drizzle, OurDelta, Percona
Server, and MariaDB. All of these forks were in progress before the Oracle acquisition; Drizzle was
announced eight months before the Sun acquisition.
Many of the world's largest and fastest-growing organizations use MySQL to save time and
money powering their high-volume Web sites, critical business systems, and packaged software —
including industry leaders such as Yahoo!, Alcatel-Lucent, Google, Nokia, YouTube, Wikipedia, and
Booking.com.
The flagship MySQL offering is MySQL Enterprise, a comprehensive set of production-
tested software, proactive monitoring tools, and premium support services available in an affordable
annual subscription.
MySQL is a key part of LAMP (Linux, Apache, MySQL, PHP / Perl / Python), the fast-
growing open source enterprise software stack. More and more companies are using LAMP as an
alternative to expensive proprietary software stacks because of its lower cost and freedom from
platform lock-in.
Platforms and interfaces
MySQL is written in C and C++. Its SQL parser is written in yacc, and a home-brewed
lexical analyzer named sql_lex.cc.MySQL works on many different system platforms, including AIX,
BSDi, FreeBSD, HP-UX, i5/OS, Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD,
OpenSolaris, eComStation, OS/2 Warp, QNX, IRIX, Solaris, Symbian, SunOS, SCO Open Server,
SCO UnixWare, Sanos, Tru64 and Microsoft Windows. A port of MySQL to OpenVMS also exists.
Many programming languages with language-specific APIs include libraries for accessing MySQL
databases. These include MySQL Connector/Net for integration with Microsoft's Visual Studio
(languages such as C# and VB are most commonly used) and the ODBC driver for Java. In
addition, an ODBC interface called MyODBC allows additional programming languages that
support the ODBC interface to communicate with a MySQL database, such as ASP or ColdFusion.
The HTSQL - URL based query method also ships with a MySQL adapter, allowing direct
interaction between a MySQL database and any web client via structured URLs. The MySQL server
and official libraries are mostly implemented in ANSI C/ANSI C++.

18 0103CA111026
Management and graphical frontends
MySQL is primarily an RDBMS and therefore ships with no GUI tools to administer
MySQL databases or manage data contained within. Users may use the included command-line
tools,[16] or download MySQL frontends from various parties that have developed desktop
software and web applications to manage MySQL databases, build database structure, and work with
data records.

Features
As of April 2009, MySQL offers MySQL 5.1 in two different variants: the open source
MySQL Community Server and the commercial Enterprise Server.[20] They have a common code
base and include the following features:
A broad subset of ANSI SQL 99, as well as extensions
 Cross-platform support
 Stored procedures
 Triggers
 Cursors
 Updatable Views
 True Varchar support
 INFORMATION_SCHEMA
 Strict mode[further explanation needed]
 X/Open XA distributed transaction processing (DTP) support; two phase commit as part of
this, using Oracle's InnoDB engine
 Independent storage engines (MyISAM for read speed, InnoDB for transactions and
referential integrity, MySQL Archive for storing historical data in little space)
 Transactions with the InnoDB, BDB and Cluster storage engines; savepoints with InnoDB
 SSL support
 Query caching
 Sub-SELECTs (i.e. nested SELECTs)
 Replication support (i.e. Master-Master Replication & Master-Slave Replication) with one
master per slave, many slaves per master, no automatic support for multiple masters per
slave.
 Full-text indexing and searching using MyISAM engine
 Embedded database library
 Partial Unicode support (UTF-8 and UCS-2 encoded strings are limited to the BMP)
 Partial ACID compliance (full compliance only when using the non-default storage engines
InnoDB, BDB and Cluster)
19 0103CA111026
 Partitioned tables with pruning of partitions in optimiser
 Shared-nothing clustering through MySQL Cluster
 Hot backup (via mysqlhotcopy) under certain conditions[21]

The developers release monthly versions of the MySQL Server. The sources can be obtained
from MySQL's web site or from MySQL's Bazaar repository, both under the GPL license.

Tools:
EMS SQL Manager 2005 Lite for MySQL
EMS SQL Manager for MySQL is a high performance tool for MySQL database
administration and development. It works with any MySQL versions from 3.23 to the newest one
and supports all of the latest features including MySQL triggers, views, stored procedures and
functions, InnoDB foreign keys, Unicode data and so on. SQL Manager for MySQL allows you to
create/edit all MySQL database objects, design MySQL databases visually, run SQL scripts, import
and export MySQL database data, manages MySQL users and their privileges and has many other
useful features for efficient MySQL administration. SQL Manager for MySQL has a state-of-the-art
graphical user interface with well-described wizard system, so clear in use that even a newbie will not
be confused with it.
Key Features
 Full support of MySQL versions from 3.23 to 6.0
 Rapid database management and navigation
 Simple management of all MySQL objects
 Advanced data manipulation tools
 Powerful security management
 Excellent visual and text tools for query building
 Impressive data export and import capabilities
 Report designer with clear in use report construction wizard
 Powerful Visual Database Designer

Product Features
Full support of MySQL versions from 3.23 to 6.0

 Support of all MySQL objects (Tables, Views, UDFs, Stored Procedures and Functions,
Triggers and Events)
 Support of all MySQL features and extensions

20 0103CA111026
 Support of UTF8 data
 Rapid database management and navigation
 Multiple host/database connections
 Connection to MySQL Server through HTTP
 Connection to MySQL Server through SSH
 Registering selected databases to work with
 Projects to work with the selected database objects only
 Multiple user-defined tabs for any tree node to access it in one-click
 Working with multiple selected objects at a time
 Grouping/Ungrouping registered databases by host name

Simple management of all MySQL objects


 Ability to create/drop databases
 Managing tables and all their sub objects: fields, indices, foreign keys and triggers
 Managing views, stored functions and procedures, user-defined functions (UDF),
scheduled events
 Duplicating all database objects

Advanced data manipulation tools


 View, edit, search, group, sort, filter any data stored in registered database
 Powerful BLOB viewer/editor with several types of viewing BLOB data
 Master-detail view to work with two linked tables at the same time
 Table and card views to see data the way you like
 Support of queries returning Multiple Result sets
 Ability to copy and paste selected records
 Exporting data to SQL script as INSERT statement

Powerful security management


 Powerful user manager to administer users and privileges
 Grant manager displaying all database object grants in the form of a grid

Excellent visual and text tools for query building


 Visual query builder allowing you to build complicated queries without any knowledge of
21 0103CA111026
SQL syntax
 Multiple SQL editors with code completion, syntax highlight and code folding
 Large script execution (SQL script editor)
 SQL Formatter (Available from SQL Editor context menu)
 Favorite Queries (Save and use your frequently used queries easily)

Impressive data export and import capabilities


 Exporting data to most popular formats: MS Excel, MS Word, MS Access, HTML,
PDF, TXT, CSV, DBF, XML, ODF etc.
 Importing data from MS Excel, MS Access, DBF, XML, ODF, TXT and CSV
 Copying metadata and data from one database to another as a whole or partially
Report designer with clear in use report construction wizard
 Create Report Wizard allows you to create simple reports in a few clicks
 Managing reports the same way as if they were database objects: accessing reports
directly through DB Explorer tree

Other useful tools to make your work with MySQL server as easy as it can be
 Extracting metadata into text files or SQL script editor

Net Beans IDE 7.4


The Net Beans Platform is a reusable framework for simplifying the development of Java
Swing desktop applications. The Net Beans IDE bundle for Java SE contains what is needed to start
developing Net Beans plug-in and Net Beans Platform based applications; no additional SDK is
required.
Applications can install modules dynamically. Any application can include the Update Center
module to allow users of the application to download digitally-signed upgrades and new features
directly into the running application. Reinstalling an upgrade or a new release does not force users to
download the entire application again.
The platform offers reusable services common to desktop applications, allowing developers
to focus on the logic specific to their application. Among the features of the platform are:
 User interface management (e.g. menus and toolbars)
 User settings management
 Storage management (saving and loading any kind of data)
 Window management
 Wizard framework (supports step-by-step dialogs)

22 0103CA111026
 NetBeans Visual Library

The NetBeans IDE is an open-source integrated development environment. NetBeans IDE


supports development of all Java application types (Java SE including JavaFX, (Java ME,web,EJB
and mobile applications) out of the box. Among other features are anAnt-based project system,
Maven support,refactoring,and version control.
Modularity: All the functions of the IDE are provided by modules. Each module provides a
well-defined function, such as support for theJava language, editing, or support for theCV
versioning system, and SVN. NetBeans contains all the modules needed for Java development in a
single download, allowing the user to start working immediately. Modules also allow NetBeans to be
extended. New features, such as support for other programming languages, can be added by
installing additional modules. For instance, Sun Studio, Sun Java Studio Enterprise, and Sun Java
Studio Creator from Sun Microsystems are all based on the NetBeans IDE.

23 0103CA111026
3.3 Project Architecture

24 0103CA111026
4. DESIGN

4.1 Data Flow Diagram

4.1.1 Context Level DFD

25 0103CA111026
4.1.2. 0-Level DFD

26 0103CA111026
4.2 ER- Diagram

27 0103CA111026
28 0103CA111026
4.3 Data Model

29 0103CA111026
4.4 Data Dictionary

Table Name: User

Table Name: Tender

30 0103CA111026
Table Name: Release

Table Name: Report

Table Name: Upload

31 0103CA111026
Table Name: Company

Table Name: Bidding

32 0103CA111026
Table Name: Proposal

Table Name: Country

Table Name: State

Table Name: City

33 0103CA111026
Table Name: Company Approved

Table Name: Company Experience

Table Name: Payment

34 0103CA111026
4.5 Application Diagrams

4.5.1. UseCase Diagram:


User Management Module

Company Management Module

35 0103CA111026
Tender Management Module

36 0103CA111026
4.5.2 Class Diagram:

User Controller

37 0103CA111026
Company Controller

38 0103CA111026
Tender Controller

39 0103CA111026
Bidding Controller

40 0103CA111026
Report Controller

41 0103CA111026
4.5.3 Activity Diagram:

For User Management Module:

42 0103CA111026
For Company Management Module:

43 0103CA111026
For Tender Management Module:

44 0103CA111026
4.6 Front-end-Design (Forms)
Log In

45 0103CA111026
Create User

46 0103CA111026
List & Search User

47 0103CA111026
User Full View

48 0103CA111026
Add Tender

49 0103CA111026
4. Testing and Report

Testing is a process which is used to check whether the software is working properly or not.
For this purpose there are a lot of methods for testing.
Generally testing is categories as:
 Manual Testing
 Automated Testing
In manual testing user test the software but in automated testing the testing is done by any
program or software.
The automated testing is generally used in server computer software where workload is more
and software is testing by creating a lot of virtual user.

A lot of testing techniques are available some of them are as follows: -

Black Box Testing:-


In black box testing software is tested by those users who don’t want to know what is the
coding and the internal process of software but he test the software by using it randomly.
White Box Testing:-
In white box testing the software is tested by developer himself or a user who can check the
internal process and coding of the software.
Smoke Testing:-
It is a way by which only a developer tests his software himself. In this testing developer test
his software and if any error occurred he stops testing and debug the error. After debugging the
error he starts testing from initial level.
During testing the program to tested is executed with the set of test cases and have the
output of the program for the test cases is evaluated to determine if the program is performing as
expected. Due to its approach dynamic testing can only presence of errors in the program, the exact
nature of errors is not usually decided by testing. Testing forms is the first in determining errors in
the program.
Once a program are tested individually then the system as a whole needs to be tested.
During testing the system is used experimentally to ensure that the software does not fail i.e. it will
run according to its specification. The programs executed to check for any syntax and logical errors.
The errors are corrected and test is made to determine whether the program is doing what supposed
to do.

50 0103CA111026
Software Testing is an empirical investigation conducted to provide stakeholders with
information about the quality of the product or service under test, with respect to the context in
which it is intended to operate. Software Testing also provides an objective, independent view of the
software to allow the business to appreciate and understand the risks at implementation of the
software.
Test techniques include, but are not limited to, the process of executing a program or
application with the intent of finding software bugs. It can also be stated as the process of validating
and verifying that a software program/application/product meets the business and technical
requirements that guided its design and development, so that it works as expected and can be
implemented with the same characteristics.
Software Testing, depending on the testing method employed, can be implemented at any
time in the development process, however the most test effort is employed after the requirements
have been defined and coding process has been completed. It is the process to identify all defects
existing in a software product. Testing can show the presence of faults in a system; it cannot prove
there are no remaining faults. Testing a program consists of subjecting the program to a set of test
inputs and observing if the program behaves as expected, then the condition under which failure
occurs are noted
Test case design
 Involves designing the test cases (inputs and outputs) used to test the system.
 The goal of test case design is to create a set of tests that are effective in validation and defect
testing.
 Design approaches:
 Requirements-based testing;
 Partition testing;
 Structural testing.
Requirements based testing
 A general principle of requirements engineering is that requirements should be testable.
 Requirements-based testing is a validation testing technique where you consider each
requirement and derive a set of tests for that requirement
Partition testing
 Input data and output results often fall into different classes where all members of a class are
related.
 Each of these classes is an equivalence partition or domain where the program behaves in an
equivalent way for each class member.

51 0103CA111026
 Test cases should be chosen from each partition.
 Structural testing
 Sometime called white-box testing.
 Derivation of test cases according to program structure. Knowledge of the program is used to
identify additional test cases.
 Objective is to exercise all program statements (not all path combinations).

Testing Methods
Software testing methods are traditionally divided into black box testing and white box
testing. These two approaches are used to describe the point of view that a test engineer takes when
designing test cases.

Black box testing


Black box testing treats the software as a "black box," without any knowledge of internal
implementation. It refers to the testing which involve only observation of the o/p for certain i/p
values and there are no attempt to analyze the code. The internal structure of program is ignored. It
is known as the Black Box Testing.
 Knowledge of features that software exhibits is mandatory.
 Internal logic should not be focused on.
 The system is ‘black box’ whose behavior can only be determined by studying its inputs and
outputs.
 Most common black box testing methods are equivalence portioning boundary value analysis

White box testing


White box testing strategy deals with inter logic and structure of the code. White box testing
is also called Open box testing. The tester has to deal with the code of program and so he is needed
to have knowledge of coding and logic of the program. White box testing also needs the tester to
look into the code find out which unit of the code is not working properly
 Works on assumption that tester is aware of internal design of the system.
 Code walkthrough can form part of white box testing.
 Testers need to be technically competent.
 Ensures tracing of all independent paths at least once.

52 0103CA111026
VARIOUS TYPES OF TESTING
1. Unit testing:
Each component or part the system is tested individually. The programmer does this testing.
Testing is restrictive in nature, i.e. the programmer should try to test all invalid conditions and see if
the program breaks under any circumstances. Individual components are tested to ensure that they
operate correctly. each component is tested independently, without other system components.
2. System testing:
This is an integrated form of testing, which focuses on functionality and inters faces between
units or modules. System testing is more effective when it is done by an independent team in a
controlled environment. The subsystems are integrated to make up the entire system. It concerned
with validating that the system meets its functional and non-functional requirements.
3.Sub System Testing:
This phase involves collection of modules which have been integrated into sub-systems.
Sub-systems may be independently designed and implemented. The most common error is interface
mismatch error between two subsystems.
4. Module testing:
This is an optional form of which is done only for large systems, which has a large no. of
modules. A module is a collection of dependent components. A module encapsulates related
components to test together without other system modules.
5. Acceptance testing:
This is the system testing done by the users of the application. The only emphasis on this
testing is functionality testing as the users are not aware of the technical aspects of the system. This
system is also done in a controlled environment with logging of all error found in the system, the
user has to accept or reject the system.
6. Acceptance Testing:
This is the final stage in the testing process. The system is tested with data supplied by the
user rather than simulated test data.
7. Alpha testing:
It refers to the testing carried out by the test team with in the developing organization. It
continues until the system developer and the client agree that the delivered system is implementation
of the system requirements.

53 0103CA111026
8. Beta testing:
It involves delivering a system to a no. of clients who agree to use that system. They report
the problems to the system developers. After this feedback system is modified and either released
for beta testing or for general sale.
GUI Testing:
Graphical User Interface of a website is the most important part of testing because if we
develop a website so it should look proper in any browser. The look and feel of the site increases the
number of user of the site.

Testing consists of following steps:-


 Program Testing
 System Testing
 Performance Testing
 Configuration Testing

Reports:
Generating reports is a common, if not always glamorous, task for programmers. In the past,
report generation has largely been the domain of large commercial products such as Crystal Reports.
Today, the open source Jasper Reports report generating library gives Java developers a viable
alternative to commercial software.
Jasper Reports provides the necessary features to generate dynamic reports, including data
retrieval using JDBC (Java Database Connectivity), as well as support for parameters, expressions,
variables, and groups. Jasper Reports also includes advanced features, such as custom data sources,
scriptlets, and sub reports. All in all, Jasper Reports combines good features, maturity, community
participation, and, best of all, it's free.

5. Implementation and Result

This section provides a brief description of each major task required for the implementation
of the system. Add as many subsections as necessary to this section to describe all the major
tasks adequately. The tasks described in this section are not site-specific, but generic or overall
project tasks that are required to install hardware and software, prepare data, and verify the
system. Include the following information for the description of each major task, if
appropriate:

54 0103CA111026
 What the task will accomplish
 Resources required to accomplish the task
 Key person(s) responsible for the task
 Criteria for successful completion of the task
 Providing overall planning and coordination for the implementation
 Providing appropriate training for personnel
 Ensuring that all manuals applicable to the implementation effort are available when
needed
 Providing all needed technical assistance
 Scheduling any special computer processing required for the implementation
 Performing site surveys before implementation
 Ensuring that all prerequisites have been fulfilled before the implementation date
 Providing personnel for the implementation team
 Acquiring special hardware or software
 Performing data conversion before loading data into the system
 Preparing site facilities for implementation

Installation & Implementation

Installation of Tomcat on Windows

see more Tomcat Installation on linux


Tomcat is java based web server, support jsp ,servlet, and java application, but does not work as
application server. Tomcat need java environment to execute jsp and servlet or java class files. This
needs to be JVM installed on server or machine, before running Tomcat.
Java, JDK, JRE, JVM is available freely from sun, and other third party

55 0103CA111026
This site provides useful information regarding installation of Tomcat server. The steps by step of the
installation are shown properly. Every step will followed by a capture of screen that enable user to
better understand what they are doing currently and what they will be doing after. This will attract new
user of Tomcat that are using Window platform to further reading on this site before continuing into
installation. In the subtitle 'Deployment of jsp or servlet in tomcat', user will be provided with example
of creating first servlet. This is helpful for new user to test the example given and get knowledge from
that before going in depth.

Installation of JDK Java


Download JDK or JRE from sun website
http://java.sun.com/javase/downloads/index.jsp
Sun provides different executable file for Windows and Linux operating system version. Sun provide
JDK for Linux in .bin or tar.gz format, and for Windows .exe format. After downloading file from sun,
install JDK simple double click or through command prompt .

Default installation directory for java in Windows is Program file à Java, and Linux /opt. Tomcat 5.5.17
version requires at least java1.5 version.
When jdk is installed in default location, need to configuration the environment variableEnvironment
Variable Setting
Environment variable is next to set java home in system environment. This will help to know others
application where is java is installed and where java file have to compile. JAVA_HOME variable name
needs to set in environment variable as variable name and variable value as the java home directory c:\
jdk1.5.0.
Step to do this setting, go to my computer icon and right click and go to properties
My computer->right click->properties->
Advance tab->environment variables ->
User variables –>New
Click on new button and new pop up will open.
In variable value, enter your java path where java is installed in system.

Tomcat installation
Tomcat installation is of two types. Apache provides self installer for tomcat installation.This tomcat
is in executable binary file. Download,and install, self installer do all work automatically.Second is
source code extractor. This tomcat installation is also easy as self installer. Before tomcat installation,

56 0103CA111026
check all jvm, java, and environment path set properly.
Apache tomcat is freely available from apache jakarta site

http://archive.apache.org/dist/tomcat/tomcat-5/
According to per requirement, tomcat is downloaded in form of binaries or source code.
We are using zipped pack for windows installation. Download zipped binaries code latest one
from this site.Unzip this code and c:\ drive and anywhere desired directory
After unzipped directory system will like that
This is means that tomcat is installed properly and ready to run web server. Open bin
directory and double click on startup.bat file. Startup.bat will open in dos command prompt
After starting tomcat, check tomcat in web browser by typing localhost:8080 in address bar
http://localhost:8080/

This page shows Tomcat is running properly in your system.


Setting up tomcat port
Apache Tomcat Configuration Tomcat use 8080 port instead of 80 port. User can easily change
default port from tomcat. Open c:/tomcat/config/server.xml folder in tomcat installed and
open server.xml file.
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080"maxHttpHeaderSize="8192"
maxThreads="150"minSpareThreads="25"maxSpareThreads="75"
enableLookups="false"redirectPort="8443"acceptCount="100"
connectionTimeout="20000"disableUploadTimeout="true"/>
<!-- Note : To disable connection timeouts, set connectionTimeout valueto 0 -->

In connector port change 8080 to 80, now save this save and shutdown.bat tomcat and startup.bat
tomcat.This time user need not to write 8080 port in http://localhost/
Servlet invoker
Servlet container of tomcat engine doesn’t start automatically. WEB-INF deployment descriptor needs
to tell servlet engine, where your servlet and mapping of servlet.This is is can be done without any
setting through servlet invoker. We just need to uncommented the code in web.xml in config
folder.Servlet invoker automatically load servlet in context and map it.
Open c:/tomcat/config/web.xml and edit this code as shown.

57 0103CA111026
First uncommented invoker then servlet mapping
<!-- -->
<!-- debug Debugging detail level for messages logged -->
<!-- by this servlet. [0] -->
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
also uncommented the servlet mapping
<!-- The mapping for the invoker servlet -->
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
<!-- The mapping for the JSP servlet -->

If you are using tomcat 6, need to define privileges for context. In tomcat 5.5.x version no need to
define privileges for context. Tomcat 5.5.x take automatically.
Privileges setting can be done in tomcat/conf/context.xml file. Add this line
<Context reloadable="true"privileged="true">
Deployment of jsp or servlet in tomcat
All jsp and html page should be kept in C:\tomcat\webapps and create your own folder or keep jsp
file under default directory ROOT. We would like to create new folder in webapps as home and keep all
files in this folder. In home folder create WEB-INF folder and inside this also create two folder named
as classes and lib and keep web.xml in WEB-INF.
In classes folder, all servlets and javaBeans should keep,Classes folder generally contains

58 0103CA111026
class file and java file and when servlet engine starts, all java and class file loaded in tomcat through
bootstrap.jar which is in bin folder. Create a first servlet examplesee example
Deployment of servlet
Servlet deployment needs to map in deployment descriptor, if you have not enabled servlet invoker.
Descriptor give us more feature of deploying servlet with user defined URL context path.
All servlet needs to compile manually and copy to WEB-INF/classes folder.
Descriptor file is web.xml which keeps all information of servlet and taglib’s tld
Suppose we are deploying TestServlet servlet at default package.

WEB-INF/classes/TestServlet.class
Make a file
WEB-INF/web.xml
web.xml
<?xml version="1.0"encoding="UTF-8"?>
<web-appversion="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>

<servlet-name>TestServlet</servlet-name>
<servlet-class>TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/servlet/TestServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

59 0103CA111026
7.Conclusion
Procurement Portal is a complete web based application designed specifically for Tender
domain to serve the needs of tender allocation process. In future we widen the scope of project in
future to enhance its functionality and much more functionality in it. As it is based on spring MVC
architecture its very easy to add more functionality and enhance the system as changes made in one
portion does not reflect the other portion.

8.Future Enhancements
The Internet represents the next major technology enabler which allows rapid supply
chain management between multiple operations and trading partners. Most systems are
enhancing their products to become ``Internet Enabled'' to globalised their software.
A project is never complete. There is always room for improvement. This project has some
limitation that has to be removed in future. In future we implement these modules-
 Add registration form for externel users.
 On line form filling.
 More interactive design.
 A blog where people ask question.
 Forum where people can discuss
 Message Box(inbox)
 Mailing Facility for All Person
The IT scenario is moving rapidly and the latest software are coming to market to serve
requirement of the users. This project was undertaken keeping in mind the existing need to develop
software to satisfy the needs of the voter and also to formulate a comprehensive work plan in a field
which was not tapped fully to its full potential and which was taken manually till date. This software
has been developed keeping in mind the various need of the worker but it does not mean that
further development cannot be undertaken in this particular field. In fact this system is the beginning
and at present, the best reflection of the users need. The need of the users may change with time.
This system has been designed in such a way that it can easily adopt changes. Further in future if the
need of completely new web application will arise it can serve as a prototype. So this work is not the
end but a beginning in the field of rapid advancement and procurement of means to make this world
compact and helping getting information at the flush of keys.

After completing this software we were out to gather information about the future scope of
this software. Some questions that came continuously to the mind were whether the software was
able to provide the IT world.

60 0103CA111026
9.Bibliography
Books
1. Siamark Sarmady (2003): “ Html Web Design ”, Academic Press, 2003.
2. Ntin K Nayak (2000): “ Advance java ”, ACM Press Dallas, TX, United States, May 2000.
3. Herbert Schildt(2001): “The Complete Reference ”. MIT Press, Cambridge, Massachusetts,
USA, 2001.
4. Ivan Bayross & Sharanam Shah (2000): “ Java Server Programming ”. July 2000.
Websites
1. http://www.javascriptfreecode.com/
2. http://www.dynamicdrive.com
3. http://www.hypergurl.com/
4. http://static.springsource.org/spring/docs/3.0.x/api
5. http://static.springsource.org/spring/docs/2.0.0/reference/mvc.html

61 0103CA111026

You might also like