Download Auction Site

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

URL redirection wikipedia , lookup

Transcript
Instructor: Dr.Chengyu Sun
Student: Sumathie Sundaresan
1
Table of Contents
1 Introduction..............................................................................................3
1.1 Application Development cycle .................................................5
1.2 Workflow ...................................................................................7
1.3 Screen shot of home page...........................................................8
2 Identify Tools and platforms ....................................................................9
2.1 Tools................................................................................ ..........9
2.1.1 Scripting Tools............................................................9
2.1.2 Java Integrated development ......................................9
2.1.3 Browsers .....................................................................10
2.2 Softwares ...................................................................................10
2.2.1 HTTP Servers .............................................................10
2.2.1.1Apache Web Server ..................................................11
2.2.2 JSP ..............................................................................11
2.2.3 JavaMail .....................................................................11
2.2.4 JDBC .........................................................................11
2.2.5 JSTL...........................................................................11
2.2.6 J2EE...........................................................................12
2.2.7 HTML/CSS................................................................12
2.3 Databases .................................................................................12
2.3.1 MySQL......................................................................13
3 Conclusions................................................................ .............................13
4 References...............................................................................................13
2
Abstract
In this project we built a Web site for a fictitious Auction house called “Cool Auctions”. This site
doesn’t attempt to rival the more complex sites, such as EBay and Yahoo! Auctions that are
already devoted to the task.
In this project the users can see all the items that are placed in the auction and registered users
can add an item for auctions and also they can place their bid for a particular item. There is also a
calendar which shows all the events in the auctions according to the date. There is an image for
each of the products so that, the users will able to see the item. There is also an automatic closing
agent which doesn’t allow the user to place a bid when the time is over.
1. Introduction
The task of building the auction site appeared complex so we breaked it into smaller, more
manageable modules by applying the divide and conquer strategy.
One such way of breaking it into manageable and cooperating modules is shown in fig.
RReeggiissttrraattiioonn
C
Caalleennddaarr
AAuuccttiioonn
M
Meessssaaggiinngg
aanndd m
maaiill
C
Coonntteenntt
PPeerrssoonnaalliizzaattiioonn
Figure 1: Breaking of modules
3
These are the modules in the cool auctions
User Registration Module:
This module handles new user registration and authentication.
Auction Module:
This module allows user to sell, bid, search and browse items on the site.
Calendar of Events module:
This module allows user to view events in the calendar.
Messaging and mail module:
This module is used by User Registration Module to send an email to the users if
they forgot the password.
Personalization Module:
This module customizes content for registered users.
Context Module:
This module provides static content such as News and info that adds value to the
site.
The Web has changed the life we live and operate. Even the non-computer users have been
affected by the internet Revolution. It’s hard to miss those dot com ads shown on the television
and splashed on billboards all over the city and countryside. Chances are that we are interested in
jumping on the Web bandwagon and are looking for the right technology to implement our Web
application. Java Server Pages, or JSP, could well be the right technology to use.
In this project we have explored the JSP specification by developing an application covering the
different facets of JSP—JSP elements, JavaBeans, custom tag libraries, JavaMail, Servlets,
Enterprise JavaBeans, and JDBC.
There are about 250 million people connected to Internet. They are accessing it from their office
workstations or servers connected to Local Area Networks or from their home PCs and laptops
via phone and cable modems. Now there are even wireless, handheld devices so people on the
move can access the Internet without any strings attached.
4
Reason for this project:
When I started to learn Web programming it was a little difficult for me, but then I get used to it
I started loving it. Then I thought I want to learn more in the Web programming. So I choose this
kind of project for my learning purpose.
1.1 Application Development life cycle
Figure 2: Application development life cycle
1. Analysis: Define the scope and understand the business at hand.
2. Design: plan for the project and define the features.
3. Implementation: Build the product according to the requirement.
4. Testing: Test whether the application meets the requirements and matches the
expectations.
In application development, the first step is to work against a problem statement .A problem
statement can be a one-liner, for example, “To develop an auction site”, a well–written abstract
that we developed our self. To find out exactly what we had in mind, we had to gather the
requirements. We did that by asking “What” and “Who” questions: ‘What kind of an auction do
we want?” and “Who will be able to use the application?” and went more into detail, for
5
example, “How does a user close an Auction?” We also consulted a business domain expert to
obtain some of the answers.
After we finished gathering the requirements, we created use-case models to represent the
interactions of the users of the system with the system was developed. Use-case models contain
different users within the system .In the case of auction application, there are five discernible
users:

A casual user or guest who browses through the site and the auction items.

A registered user who places an item for auction.

A registered user who bids on different items.

An administrator who manages the auction site (He can add event, he can disable users).

An automated agent responsible for closing the bid.
Figure 3: How the user will add an item and places bid
For our application, we created an Auction item catalog module that allows users to browse
through different categories in AuctionStation. A category can have either subcategories or items
listed in it. We developed a module that provides a uniform mechanism to browse both the
subcategories and items.
In the Auction site, users can list their items for auctions. For small and highly targeted auction
sites, we can list all the items together. However, as the listings and types of items in our site
increase, the sheer number and lack of organization of the items can overwhelm a prospective
bidder. We have allowed the user to categorize the auction items and display only a subset of
6
items belonging to a particular category to help the user easily locate an item. This is similar to
providing a book with a table of contents and an index that helps the reader to locate a particular
topic rather than providing all the content in a single chapter
We have also defined the actions performed by a user for each use case. For example, for placing
an item for auction, a user first logs on to the system. After a successful logon, the user then
navigates to the specific part of the site and lists the item by providing the requisite details for the
product.
After we described the use cases, we break down the details of the cases into sequence diagrams
specifying between objects (users) in the system. The users become objects, and the interactions
become methods on the targeted objects.
In the implementation phase of the Web application, the user’s interactions are translated into
forms accepting different values at the client end, and applications processing the request on the
Web-Server end to update a database and to respond adequately to the requests.
Finally, in the testing phase, the implementations are checked to see whether they match the
requirements and expectations. The feedback from this phase in the form of defects or updates is
sent for incorporation of new cycle of analysis, design, implementation, and testing.
Here, we are using java mail to send password back to the user’s email address when they forget
their password.
1.2 Workflow
This diagram describes the workflow of our project
Welcome
Calendar
Register
Browse
Auctions
Sell
About Us
Search
Bid
Figure 4: Work flow of our project
7
1.3 Screen shot of the home page
This is the screen shot of the home page of our Auction Site
Figure 5: Screen shot of our project
8
2. Identify Tools, Platforms and software:
In web application, we require power tool, software and a platform to develop and run the
application. In this section we will look at these elements necessary for Web application
development and deployment.
2.1 Tools:

During the different phases of project, we used power tools to increase productivity.
Different tools can help in any of the following areas:

Reducing the complexity of the task; for example, a tool can ease development by
visually presenting activities for manipulation.

Automating repetitive or cumbersome activities, like testing for broken links—which
beats manually testing for 404’s!

Documenting artifacts such as use cases, object models, and data models as well as Web
pages.
Analysis and Design tools
Object-Oriented Analysis and Design tools such as Java/C++ can be used for creating and
documenting use cases, class diagrams, and object interactions.
2.1.1 Scripting Tools
Scripting tools provide a visual mechanism for adding both client- and server-side scripts to the
Web page.
Client side scripts can be written in JavaScript, an object-based language commonly used for
validating forms and for providing dynamic behavior.
Server side scripts include the JSP tags.
2.1.2 Java Integrated Development Environment
Sun’s Java development kit (JDK) provides us with a compiler, debugger, and Java archive
utility (Jar) as well as runtime environment. We might consider using an Integrated Development
Environment (IDE) for extra features: code editing, building project files, visual debugging, and
code inspection, integration with version-control tools, creating and unit testing JavaBeans,
Applets, Servlets, Enterprise JavaBeans, and lots more. With all the many features incorporated
9
into these tools, it’s no wonder that this is called an Integrated Development Environment, a one
stop tool to help us to test our entire application.
The following is the one we used in our project:

Eclipse
Server-side developers can use IDE to create and unit-test JavaBeans, database access Java
classes, Servlets and Enterprise JavaBeans.
2.1.3 Browsers
Finally we will need browsers to view and test the Web pages we develop
The following is the one we used in our project:

Microsoft Internet Explorer
2.2 Software
After we have completed our development, we will need to test and run our program. For
running a Web application we need the following software:

An HTTP server

Browsers

A database

An application server
2.2.1 HTTP Servers
The basic requirement of any Web Application is an HTTP server. The HTTP server acts as a
request-response server. By using a Uniform Resource Locator (URL), clients request a file
(HTML page, image or any other file type) that resides on local or remote machines. The URL
usually maps to a file on the file system or a dynamically generated page. The HTTP server
responds to these requests by sending back the required data.
A Web URL consists of two parts:

A host name or IP address

A file location or the name of the program/script generating the dynamic code appended
with the request parameters.
2.2.1.1 Apache Web Server
Although JSP works with many web servers, Apache is the web server of choice for our
project. Using a specifically designed JSP module, Apache can run JSP scripts faster
than most other leading web servers.
10
2.2.2 JSP/SERVLETS
All pages in this project are written in JavaServer Pages (JSP). JSP is a Web-based technology
that enables Web developers to easily create and maintain dynamic and information-rich Web
Since the late 1990s Java servlets and JavaServer Pages (JSP) have come into widespread use. It
is said that web site developers have been switching from CGI scripting languages to servlets
and JSPs. It supports many platforms. It’s common to be used under both Windows and Linux.
2.2.3 JAVAMAIL
Javamail is an optional package for reading, composing and sending electronic messages. The
JavaMail API is designed to make adding electronic mail capability to simple applications easy,
while also supporting the creation of sophisticated user interfaces. Here we are using this to send
mail to the users to know the password.
2.2.4. JDBC
JDBC technology is an API (included in both J2SE and J2EE) that provides cross-DBMS
connectivity to a wide range of SQL databases and access to other tabular data sources, such as
spreadsheets or flat files. Since both JDBC and MySQL are freely available for many purposes,
the combination of JDBC and MySQL is a powerful combination that should be of interest for a
wide variety of applications.
2.2.5. JSTL
The Java Server Pages Standard Tag Library (JSTL) encapsulates as simple tags the core
functionality common to many Web applications. JSTL has support for common, structural tasks
such as iteration and conditionals, tags for manipulating XML documents, internationalization
tags, and SQL tags. It also provides a framework for integrating existing custom tags with JSTL
tags.
2.2.6. J2EE
Java Platform, Enterprise Edition (Java EE) is the industry standard for developing portable,
Robust, scalable and secure server-side Java applications. Building on the solid foundation of
Java SE, Java EE provides web services, component model, management, and communications
APIs that make it the industry standard for implementing enterprise class service –oriented
architecture and Web 2.0 applications.
11
2.2.7. HTML/CSS
HTML is a famous acronym that stands for Hypertext Markup Language, which allows for easy
navigation non-linear content. HTML syntax contains tags that can format text and special
characters or symbols. CSS or Cascading Style Sheet is used for styling one or many web pages
efficiently.
2.3. Databases
2.3.1. MySQL
There is much database software out there but why I choose MySQL? MySQL is the most
used database in JSP. It is very simple to use and make information manager very simple.
MySQL is a free open-source program that can be found at http://www.mysql.com.
MySQL is a popular open source database management system that uses relational databases.
Such types use tables to store data based on relations, such as the employees of a company.
Because it is often used with JSP to create dynamic server applications, there is a lot of support
available on various websites.
3. Conclusions
This Auction site will be a state-of-the-art model site for any forth-coming Auction sites. The
flexibility it offers, robust design and the user-friendly screens will definitely make this site to be
one of its kind in the industry!
4. References
[1] Java 2 Platform, Enterprise Edition (J2EE). Sun Microsystems.
http://java.sun.com/j2ee/
[2] Java Technology Overview. Sun Microsystems.
http://java.sun.com/overview.html
[3] JavaMail API. Sun Microsystems.
http://java.sun.com/developer/onlineTraining/JavaMail/
[4] JavaScript. W3 schools.
http://www.w3schools.com/js/default.asp
12