用Java实现一个Web Service,使用Restful架构提供服务。
Overview
In this project, each student is required to design, develop and test a web
application utilizing Web Services technology for the Fitzroy Catholic
Bookshop. The Bookshop has a catalogue of their products, which are
categorized as follows:
- Books
- Audio Books
- Videos
- Music
The Bookshop sells products from the following Publishers: - Harper Collins
- Penguins
- St Pauls Publication
- Franciscan Media
- Orbis
The following information is stored for each item: - ISBN (which is a number that uniquely identifies a product)
- Title
- Category
- Author(s) / Artist(s)
- Publisher
- Price
- Quantity-on-hand
- Image
Product information can be entered via the Web site and stored in a MySql
database table using Hibernate ORM layer.
You will need to use Java, Hibernate as an ORM layer to the database and
RESTful web service technologies. You will also need to apply the design and
programming concepts and techniques you have learnt in ISYS618 in order to
implement a successful web application.
The project is to be developed in two stages:
Stage 1 - Design Report for a Web Service Project
The aim of Stage 1 is to write a report on the how the various technologies
mentioned above are used to implement the project as a web service application
in java. Your report should be broken down in terms of HTML pages required for
the project. For each page the report should contain (i) a diagram for the
RESTful architectural components assuming Hibernate ORM layer is used for
database table access(ii) A block of English statements explaining how RESTful
web services are used within each component of the architecture for servicing
the page.
Required Web Pages
The following pages must be implemented as a minimum:
Home Page
This is the main page of the site. It must contain at least a picture that
represents the company or the company logo, some explanation of the website,
what services or functionalities it provides and briefly how to use them.
Site Map Page
This page must show a list of all pages on the web site, as well as links to
these pages. You do not need to include the Catalogue Search Result Page in
your site map. (It will be generated dynamically in Stage 2).
Catalogue Search Page
This is the form where user can search for products in the catalogue based on
category, or publisher, or within a price range, or a combination of any of
these criteria. For instance, the user can choose to view all Videos, or they
can choose to view all Videos under $30, or they can choose to view all Videos
published by Franciscan Media between $20 and $30. The user can also choose to
view products in all categories, and/or by any publisher, and/or at any price.
In Stage 1, you need to design the page layout and UI elements required to
allow for these functionalities. You may hard code the categories and
publishers in your HTML code.
Catalogue Search Result Page
This is the page that will display the search result from the Catalogue Search
Page. It will be generated dynamically as the search is carried out (which you
will implement in Stage 2).
In Stage 1, you need to design the page layout and UI elements to:
- Display 5 product records. All details of each product (as listed in the Overview section) must be shown
- Highlight the products with quantity-on-hand less than 5
- Display the total number of products that satisfy the search criteria
Catalogue Maintenance Page
This is the form where user can enter product details that are listed in the
Overview section. In Stage 1, you need to design the UI elements required to
allow for this functionality, as well as the layout of the page.
Required Web Page Elements
The following page elements must be included in all web pages:
Company title and logo
The Company title is “Fitzroy Catholic Bookshop”. The logo can be any
reasonable thing you create.
Navigation bar
The navigation bar must include links to the following pages.
- Home
- Site map
- Catalogue Search
- Catalogue Maintenance
There must be a way to know which page is currently active. One way of doing
it is by using breadcrumbs, for instance, Home -> Catalogue Display indicates
that you are currently viewing Catalogue Display page, which is under the Home
page. You may choose to use this or another suitable way.
Main area
This is the main space of each page in which the UI elements required to carry
out the functionalities of the page are placed, or the result of carrying out
these functionalities are returned and displayed.
Submission
Create a Word file as with the necessary details and submit via Turnitin.
Stage 2 (Assessed, See Unit Outline for Details)
The aim of Stage 2 is to develop the application using the specified RESTful
architecture.
Functional requirements
You are required to modify and make the following pages fully functional:
Catalogue Maintenance Page
Submitting the form will write product data in the form into a file, which can
be retrieved and used by the Catalogue Search Page.
You should provide server-side or client side form validation. For instance,
input fields should not be empty, price must be a positive number If input
data is not valid, return the user to the Catalogue Maintenance Page and print
appropriate error messages. You may hard code categories and publisher and
allow user to choose only from them.
Catalogue Search Page
Submitting the form will actually carry out the search that:
- Returns all details (as listed in the Overview section) of the products that satisfy the search criteria.
- Highlights the products with quantity-on-hand under 5.
- Calculates and displays the number of products that satisfy the search criteria.
Technical and Design Requirements
You should write your web pages in XHTML. It should validate with
http://validator.w3.org . Your web pages should be
valid to the XHTML 1.0 Strict DTD.
You should use CSS to separate structure from presentation on your web pages.
The CSS file should be in a separate file. The CSS file should be validated at
http://jigsaw.w3.org/css-validator/
The actual presentation of the web site is up to you but you should layout the
web pages to achieve the following:
- To appear as neat and professional as possible.
- To have a consistent “look and feel”.
- To make navigation as simple as possible.
The images that are needed for the project can be downloaded via the Internet
Submission
You should demonstrate the project on your laptop in the specified week in the
tutorial session. See the Unit Outline for further details.
You will also upload a zip file containing all the resources of the web
application, on LEO.