Report [Report]

advertisement
Xiao Zhou
CS491
Project report
Abstract:
Using application software without its being locally installed is one of the major
advantages over traditional desktop application. That is one of the major reasons why I
have chosen to implement my project, Product Management System by employing
several web based technologies. Product Management System was intended to interact
with eBay through eBay’s open APIs for business efficiency. In this document, I describe
how I was aspired to start this project, the architecture of the system, the implementation
of the system and current status of the project.
I. Introduction:
EBay took its initiative to offer an online auction system a few years ago. Since
its appearance, it has been growing for several years. Although its growth has slowed
down a little, it has become an indefensible site for consumers looking for good deals.
With all these consumers generating traffics to eBay, many businesses have established
their presences on eBay to meet the demands of the consumers. Thus, eBay has become
not only an auction site where consumers compete with each other, but also a site full of
competitions among sellers on eBay. How efficient a business runs is one of the major
factors that affect the growth of these eBay-dependent sellers. To sell on eBay basically
involves creating listings to be displayed on eBay site, and getting the information about
successful listings from eBay site. Besides that, there are a lot of rules created by eBay to
interact with both eBay and consumers through eBay’s auction system. Those rules have
essentially become a culture on eBay. Product Management System is a web based
solution trying to bridge the gap between its user, an eBay seller, procarparts.com, and
eBay buyers. Procarparts.com started its eBay selling business of car accessories a few
years ago. They started growing as eBay grew. Product Management System includes an
inventory system, sale system, order system and customer systems. The inventory system
allows its users to manage their inventories. It should allow its users to enter and delete
new product, and it should enable its users to edit information about the products. The
sale system enables its users efficiently pushing their listings to eBay and manages the
listings on eBay. It should allow its users to create eBay list and reuse its already-created
listing for future launching. It should enable its user to quickly change certain listing
elements such prices. The order system allows manage successful listing, and it involves
the monetary materials with eBay and with eBay buyers. It should able to get information
about successful listing, and it should allow its users to inform and remind customers to
make their payments. As for the payments, it should be able to collect payments through
the use of credit card system, paypal and so on. The customer management system
manages relationship between its users and customers. One of the obvious features that it
must have is to efficiently manage feedbacks that rate participators of eBay. The
feedbacks essentially show credibility of eBay participator.
The project so far only implements some features of the inventory system and the
sale system. The rest of this document will describe overall technologies used and details
on implemented features.
II. Technological Background:
Product Management System uses several web based technologies as detailed
below:

Microsoft ASP.NET

Ajax.NET (http://ajax.net/)

C# programming Language

Microsoft Internet Information Server

Microsoft SQL server 2000

Microsoft Visual Studio.NET 2003

Microsoft Windows Operating System

eBay SOAP API and SDK API

HTMLArea 3.0 (http://www.htmlarea.com/)
The reasons why web based technologies chosen to implement the solution is that it can
be used without installation. Nowadays, most desktop computers use Microsoft windows
operation system, and the system comes with the web browser, internet explorer bundled.
Thus, most computers can be used to access Product Management System. Besides that,
with web-browser access system, it can be accessed remotely.
Microsoft ASP.NET is used to create user interface pages that run on web
browsers. However, ASP.NET is a server-side technology. The system will seem to be
noticeably discrete because every new information needs to request the server to seen a
different page. Although broad-band bandwidth makes it a little better, there is still
flicker of pages. In order to lessen this effect, Ajax.NET is used to enable to process
some information in the background.
Ajax stands for Asynchronous JavaScript and XML. It is not a new technology. It
is a web development technique for creating interactive web applications using a
combination of:

XHTML (or HTML) and CSS for marking up and styling information

The Document Object Model manipulated through JavaScript to dynamically
display and interact with the information presented

The XMLHttpRequest object to exchange data asynchronously with the web
server. (XML is commonly used, although any format will work, including
preformatted HTML, plain text, JSON and even EBML). In some Ajax
frameworks and in some situations, an IFrame object is used instead of the
XMLHttpRequest object to exchange data with the web server.
(http://en.wikipedia.org/wiki/AJAX)
Ajax.NET (http://ajax.net/) is a library that makes use of XMLHttpRequest. After
configuration, it allows server side class methods that have “[Ajax.AjaxMethod]” on top of
them to be called from client side JavaScript. These are the Asynchronous calls. These
Asynchronous calls enable fewer pages refreshing.
C# programming languages, Microsoft Internet Information Server, Microsoft
SQL server 2000, Microsoft Visual Studio.NET 2003 and Microsoft Windows Operating
System are chosen because they belong to the same family, so they are more likely to
work coherently. HTMLArea 3.0 (http://www.htmlarea.com/) is used in the sale system
to provide a web-browser enabled HTML editor. eBay SOAP API and SDK API are
needed to talk to eBay’s system. The reasons why both are needed is that sometimes one
works better over the other. That is sometimes something that does not work with SOAP,
but it may work well using SDK API. SDK API is another wrapper on top of SOAP
according to eBay’s documentation.
III. System Architecture:
Product Management System employs three-tier system architecture.

Presentation layer contains interface logic. For Product Management System,
ASP.NET and JavaScript are used to generate the pages that are visible to users.

Business layer contains business rules that basically process information from the
presentation layer and evoke some actions that interact with the users in front of
the presentation layers or with the eBay’s system and return information to its
local database or the presentation layer. For Product Management System, this
layer contains classes implemented in C#.

Data Layer contains logic that has direct access to its local database and
manipulates the database. For Product Management System, this layer contains
stored procedures that directly manipulate the database.
IV. Design and Implementation Details:

Design and implementation of the inventory system.
1. ASP.NET page is created to display the inventories items stored in the
database, and GUI page also allows users to add new product, delete new
product and edit product. Ajax.NET is used to update car models of a car
make that selected by users through a dropdown list. A JavaScript calls
behind-scene a method of the business logic layer class, InventorySystem
to get a list car models for the car make, and it populates the car model
dropdown list without refreshing the page. However, all other actions
require post-back requests for new pages.
2. InventorySystem is a C# class that implements business layer logic, it
process the data from the users and interact with its local database to
update or retrieve data. It relies on stored procedures to manipulate the
database.
3. A set of stored procedures are used to access the database. These stored
procedures serve as data layer logic.

Design and implementation of the sale system.
1. The sale system provides the functionalities of creating and saving eBay
listing, quick updating of some elements of saved listings and fast
launching listing and canceling ongoing eBay Auctions. More Ajax.NET
concept is used in the design and implementation of the sale system. There
is one main ASP.NET page for the sale system. Each of the functionalities
of the sale systems is done through JavaScript asynchronous calls to get
data through the business layer class, SaleSystem.
2. SaleSystem is the class implemented in C# sits at the business layer for the
sale system. It receives requests from the JavaScript asynchronous request
and return either data or an HTML control. By sending back HTML
control, the business layer appears to mix with the presentation layer, but
the trade-off is the instant responsiveness for users. The SaleSystem
interacts with eBay system to send or receive data.
3. Again, stored procedures are used for the data layer for manipulating the
local database..
V. GUI
Inventory system
Sale system
VI. Database Tables Used by the implemented systems:
1. ad_listing
ad_id int primary key
product int
auction_category varchar(50)
auction_title varchar(255)
auction_description varchar(255)
auction_format varchar(50)
sell_quantity int
sell_price money
buy_price money
sell_duration int
imagePath varchar(255)
ad_template int
2. carInfo
car_id int primary
car_maker int
car_model varchar(50)
3. carMakers
car_maker_id int primary key
car_maker_name varchar(50)
4. ebayCategories
ebayCategoryVersion varchar(50) primary
updateTime
ebayCategoryCount
5. ebayCategoriesDetails
ebayCategoryID varchar(50) primary key
ebayCategoryParentID
ebayIsLeafCategory
ebayCategoryLevel
6. ebayLayout
layoutID int primary key
layoutName varchar(50)
7. ebayThemes
themeID int primary key
themeName varchar(50)
themeGroupID varchar(50)
8. ebayOpenAuctions
ebayItemNumber varchar(50) primary key
StartDate Datetime
endDate Datetime
product int
9. productCategory
category_id int primary key
category_name varchar(50)
10. products
product_sku int primary key
product_description varchar(255)
available_quantity int
product_name varchar(50)
product_category int
car int
product_image varchar(255)
VII. Performance Evaluation:
Most of the functionalities work on both internet explorer and firefox 1.0.
However, the display on firefox looks bad. Thus there is some incompatible CSS style
elements used. Some of the JavaScript codes do not run, so there must be some
incompatible JavaScript codes. The part implemented with JavaScript asynchronous calls
seems to response faster.
VIII. Conclusion and Future works:
EBay has become a place where potential customers exist for many businesses.
Systems to work with eBay’s system are indispensable for many businesses. Whether nor
not for money or experience, I will continue with developing the rest of the system and
improve on the existing ones by adding more functionalities.
Download