Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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