Você está na página 1de 4

2010 International Conference on Computational Aspects of Social Networks

Research on Component Based Online Shopping System Design


Chuan-Sheng Zhou

Li-Hua Niu

Software College
Shenyang Normal University
Shenyang, Liaoning 110034, China
jasoncs@126.com

College of Basic Medicine


AnHui Medical University
He Fei, AnHui 230032, China
Lihua.niu@163.com
internet, the consumers can search and browse the
products/services, can select products/services and
then fill in the related personnel information (e.g.
credit card information) to let the products/service
provider to deal with the electronic orders, packaging,
payment and send/provide the products/service to the
consumers [2]. The normal system structure is described
as Fig. 1. :
For normal online shopping systems, even they can
satisfy to some business requirements, but there are
still some problems limit the enterprise business
upgrading, revenue, profits and scalability.
(1) The system cannot track customers shopping
habits and find out what they are interesting related
products that can be promoted to them.
(2) All attributes of same category products listed to
customers are same, cannot be customized to each
individual product (e.g. different discount for different
product, etc.).
(3) The products display user interface is tightly
binding to product database and cannot be easily
changed.
(4) In some special days (e.g. holiday and birthday,
etc.), the products from different manufactures cannot
be easily packaged as a whole package to be promoted
to customers.
Of causes, there are some other critical problems.
But here only from system customization point of view,
based on component technology to solve the above
problems and it illustrates a new system architecture
design.

Abstract - Today, how do online shopping system


providers capturing customers interesting information
and web surfer habits is a critical factor to affect their
business running. Another problem is that their online
systems scalability is not good enough and cannot be
easily customized to user personnel requirements. Here,
by research on software bus, XML, workflow and
component technologies, it introduces a software bus and
component based online shopping system design, to
improve the online shopping system intelligence and
scalabilities and at the end to improve their business.
Keywords: Component; XML; Workflow;

I. INTRODUCTION
Until now, there is no standard definition for
concept e-Commerce, but the definition from HP is
most popular. It defines: the e-Commerce is a new
trading
mode
with
electronic
technologies,
communication and computer network technologies; it
exchanges products and services through electronic
mode and is the connection between providers and
consumers [1].
The Online Shopping is a system for e-Commerce,
which means through the special shopping web site
and
Profile Management
Client

Product List/Selection
Shopping Cart
CA Certificate/Casher

Online
Shopping
System

II. ONLINE SHOPPING SYSTEM IN


COMPONENTS

Order Submit/List

A. The Considerations for Online Shopping System


Design
For each Online Shopping System design, beside
the basic shopping functions and the system security,
the most considerations are the system scalability and
the attractive system operations to consumers. From

Member Management
Product Management
Server

Operator Management
Promotion Management
Statistics Management

Fig.1. The Normal Online Shopping System Structure


978-0-7695-4202-7/10 $26.00 2010 IEEE
DOI 10.1109/CASoN.2010.36

133

the analysis of the system, it can be summarized as


follow:
(1) To provide a mechanism for the system easily
changes and upgrade with their business changes and
technologies innovations without system operation
interruption. For example, before the system only
accepts the credit card payment and now the system
need support the PayPal system also; before the system
does not support the similar product comparison
analysis and now it need this support.
(2) To provide a mechanism for system display
customized to consumers personnel favorite display
templates, display style, colors and then to attractive
consumers stay on the system more time. Now, most of
online shopping systems display in same user interface
and same kind information to all consumers and cannot
change until re-build the whole system.
(3) To provide a mechanism for system to track
each consumers shopping habits and promote them
with holiday packages of products on some special
date (like birthday) with special discount on live.
(4) To provide a mechanism for shopping system to
customize each product display style and process mode
in consumers order based on the product manufacture
special requirements. For example, a Print from HP
can give 70% discount to the honest consumers and
when browsing the product, it can be display with
flicking.

public attributes in the other components contained in


the Compose Component [5].
C. Component Based Online Shopping System
Software Bus Engine
&RQVXPHU3URILOH&RPSRQHQW
3URGXFW6HDUFK/LVW&RPSRQHQW

System Software Bus

6KRSSLQJ+DELW&RPSRQHQW
6KRSSLQJ&DUW&RPSRQHQW
&$&DVKHU&RPSRQHQW
2UGHU&RPSRQHQW
0HPEHU0DQDJHPHQW&RPSRQHQW
3URGXFW0DQDJHPHQW&RPSRQHQW
3URPRWLRQ0DQDJHPHQW&RPSRQHQW
6WDWLVWLF0DQDJHPHQW&RPSRQHQW
3URPRWLRQ0DQDJHPHQW&RPSRQHQW
:RUNIORZ0DQDJHPHQW&RPSRQHQW

)LJ&RPSRQHQW%DVHG2QOLQH6KRSSLQJ6\VWHP6WUXFWXUH

Software Bus Engine:


It is online shopping system central control module
and started by operating system. The Software Bus
Engine normally completes the following tasks:
(1) Performs the components management for the
system, like to register and un-register the components;
load, suspend and unload the components; components
security check and authentication binding, etc.
(2) Loads and starts the Workflow Management
Component to start a shopping transaction.

B. Software Bus and Component Technology


The software bus is a new technology for system
design and integration; it depends on the software
component and reuse technologies, by conformance to
certain standards and specifications to build a generic
bus interface, contracts and components, it performs
the components plug-and-play in the bus. Like
CORBA, COM/DCOM and Java/RMI [3]
A component is a nontrivial, nearly independent,
and replaceable part of a system that fulfills a clear
function in the context of a well-defined architecture.
A component conforms to and provides the physical
realization of a set of interfaces [4]. For each
component, it has following features:
(1) It is an independent unit for system integration.
(2) It has contractually specified interfaces.
(3) Its inner implementation is independent.
(4) It can be deployed independently.
(5) Is has explicit context dependencies
(6) It is subject to third-party composition.
Some component can be a compose component.
The compose component is a component that contains
many other components and has dynamic attributes. Its
dynamic attributes are built from the some or all of the

Component and Descriptor:


Each component is a package with descriptor and
component body. The component descriptor is an
XML file used to describe the component
functionalities and interfaces, related parameters and
conforms to software bus standards. It is also the plug
pins used by Software Bus Engine to control. The
descriptor is also used by WMC (Workflow
Management Component) in the system for shopping
workflow process and information transmission.
As the relationship among components and between
components and system is only based on XML files,
the component can be deployed itself, so the system is
in lose coupled and can be changed easily with their
business changes or technologies upgrade.

134

III. DETAIL DESIGN OF COMPONENTS IN


ONLINE SHOPPING SYSTEM

The compose component is the combination of


atomic components. It can be only assembling of some
type of atomic components, and also can be based on
some certain workflow to integrate some related
atomic components together. Here it only discusses the
compose component with workflow and by giving
Product Search Component as an examples to explain
it. As shown in Fig.3, the Product Search Component
is based on search workflow to integrate some atomic
components together.
In order to improve the search workflow flexibility,
here we use XML to describe it. As XML is an
extendable language, using it to describe the workflow
can make sure the system easily changing the
workflow atomic components alone with the system
upgrade the product search algorithm.
As in Table 1, COM is the short name of
component. Tag <Workflow name= Search>
describes the product searching workflow, attribute
name indicates the actual workflow; it can be an
identifier of workflow

A. Atomic Component in Online Shopping System


Normally the atomic component is only performing
one simple thing and the component is performing a
complicate task, like a shopping workflow. In the
online shopping system, the atomic component is
designed as following 4 types:
(1) Display Component: This type of component
generally has one interface only which accepts input
data (xml format) and display format template (xml
format), resolves the XML input and bind the data with
the template to generate the output dada (normally in
HTML) for display.
(2) Input Component: This type of component is
based on consumers customized display template to
generate a display HTML, accepts consumers inputs,
does some validation with specified algorithm (like
tracking user shopping habits) and then creates an
XML format output.
(3) Process Component: This type of component
normally has one interface only which accepts XML
input, does some process (like access database or
networks) and then generate output data in XML
format.
(4) Output Component: This type of component
normally has one interface only which accepts XML
input, resolves the input data and then write out the
data into some persistence media or send out to
network.

Table 1 XML Structure of Workflow Description


Tags in XML file
<Workflow name=Search>
<Comp name=Display>
<Method name=Display>
<In name =/>
<In name=Template1.xml>
<Out name=s_view.html/>
</Component>
<Comp name=S_IN>
<Method name=Verify>
<In name =Search.xml/>
<Out name=NewIN.xml/>
</Component>
<Comp name=S_DO>
<Method name=Search>
<In name =NewIN.xml/>
<Out name=Products.xml/>
</Component>
<Comp name=S_OUT>
<Method name=Prepare>
<In name =Products.xml/>
<Out name=List.xml/>
</Component>
<Comp name=Display>
<Method name=Display>
<In name =List.xml/>
<In name =Templat2.xml/>
<Out name=s_view.html/>
</Component>
</ Workflow >

B. Compose Component in Online Shopping


System
Input Data (in XML)

XML Description of Workflow

Workflow
Engine in
Product
Search
Component

Display
Component
Search Input
Component
Search Process
Component

Personnel
Display
Templates

Search Output
Component
Error Process
Component

Fig 3: Structure of Product Search Component

135

Meaning of Tag
Search WF
Display COM
Comp Method
Input data none
Display Template
Output HTML
Input COM
Comp Method
Input data
Output data
Process COM
Comp Method
Input data
Output data
Output COM
Comp Method
Input data
Output data
Display COM
Comp Method
Input data
Display Template
Output HTML
End Workflow

consumers, or special products package promotion in


holiday date, the system designer can also develop
special compose component to process them and insert
into the corresponding operation workflow.

instance. Tag <Component> used to describe the


atomic component that Search Engine launched. Tag
<Method name=Display/> describes the method of
the component to be dynamically called for input data
processing and output data generation. Tag <In name =
Search.xml/> and <Out name = s_view.xml />
describes the input data to be processed and output
data generated by the specified component method
which is in XML format. For the Product Search
Process workflow in the compose component, it will
executes the following procedure steps:
Step1: Display the product search page with none
input and user customized style display template for
user input the keywords or selection.
Step2: The user input or selection will be collected
and packaged in Search.xml, the engine will
dynamically load the component S_IN and calls its
method Verify to do additional validation and
appending (like accessing some other components for
user shopping habits information and append as extra
inputs) to generate a new search input NewIN.xml.
Step3: The engine dynamically loads component
S_DO and calls its method Search with the
NewIN.xml as its input, access database and then
generates the search results Product.xml.
Step4: The engine dynamically loads component
S_OUT and calls its method Prepare with input
Product.xml; according to its internal algorithm and
add some special information to create a new output
data List.xml.
Step5: The engine dynamically loads component
Display and uses the user customized display format
to list out the products to users.

IV. DYNAMICALLY LOADING JAVA


COMPONENTS
In order to implement system components and
workflow dynamically changes and upgrades, the
component dynamically loading and its method
automatically invoked is the key problem. Here it
bases on Java Component as example, to use the Java
Classloader [6] and Package mechanism to dynamically
load java Component. The Classloader appointment
mechanism appoints the load task to upper layer loader
unless the class is loaded. In the meantime, Java
provides reflect method to call the component methods
dynamically, means using the Object.Invoke(Object
obj, Object[] args) to call the component method to do
the final processing.
V. CONCLUSION
Anyway, alone with the online shopping system
grown up, the dynamics and upgradeable system
operation at runtime will be critical to system
development. Here, by illustration component based
design methodology can extremely improve the system
suitable to the business changes or upgrades and will
enhance its flexibility and customization.
REFERENCE
[1] Ma Jia-Lin, Zhou Chuan-Sheng. e-Commerce: Principle and
Techniques [M]. Post & Telecom Press, 2008, pp1-2
[2] Chen Zhi-Qun,Wang Da-Quan. Research on Some Key
Problems of Online Shopping System [J]. Journal of Hangzhou
Institute of Electronic Engineering, Vol 23, No. 1, 2003, pp2427
[3] Wang Guang-Ping. Research on Software Bus [J]. Journal of
Wuhan Automotive Industry University, Vol 21, No.3,1999,
pp62-65
[4] Andy Ju-An-Wnag, Kai Qian. Component OrientedProgramming [M]. John Wiley & Sons Inc., 2005, pp6-7. John
Wiley & Sons, Inc.
[5] Liu Xiao-Dong, Cao Yun-Fei, Hu Zhao. Dynamic Component
based Compose Component . Mucroelectronics & Computer.
Vol 22, No.2, 2005, pp100-102
[6] ibm/developerWorks. Understanding the Java ClassLoader
[DB/OL].
http://www.panix.com/~mito/articles/articles/classloader/jclassloader-ltr.pdf
[7] Liu Xiao-Dong, Cao Yun-Fei, Hu Zhao. Dynamic Component
based Compose Component . Mucroelectronics & Computer.
Vol 22, No.2, 2005, pp100-102
[8] WfMC.Workflow Management Coalition Terminology and
Glossary[R]. Brussels: Workflow Management Coalition, 1996

C. Compose Component of Tracking Consumers


Shopping Habits and Interesting Information
As stated above, any operation and transaction in
the online shopping system can be defined as a
workflow with related atomic components and
compose components. Because of the workflow is
managed in XML files, the system designer can
modify and upgrade it any time. If the system wants to
track consumers shopping habits and interesting
information, the system designer can develop totally
new tracking components (of course need conforms to
standards) with its own algorithm to manage the user
information. This tracking component can be a
compose component which is based on how complex
the user shopping information process algorithm. Once
it is developed, it can be easily insert to the operation
workflow.
If the system wants to customize each product
display attributes, or special discount for special

136

Você também pode gostar