Engineering an E-Commerce Online System

1 / 39
About This Presentation
Title:

Engineering an E-Commerce Online System

Description:

Uses SSL (Secure Sockets Layer) for transferring the credit card and other secure information ... make sure the cards you are accepting have valid numbers, have ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0

less

Transcript and Presenter's Notes

Title: Engineering an E-Commerce Online System


1
Engineering an E-Commerce Online System
  •   
  • George Kichukov 
  •  
  •  
  • Research Topics in Computer Science
  • Dowling College, Oakdale, NY
  • Spring 2002
  • Dr. Herbert J. Bernstein

2
Contents
Introduction Terms Why
E-Commerce? Project Description
Technology Requirements The E-Commerce
System Features Functionality Basic Design
Structure Additional Issues
3
Terms
  • E-commerce and E-business
  • In the past used to describe any business
    activity on the Internet.
  • E-commerce - online retailing, for example
    the use of the Web to sell books.
  • E-business - describes all business
    activities using the Internet, not just online
    retailing.

4
B2C B2B
  • Business to (2) Business - describes the use of
    the Internet for business transactions between
    companies, for example the holding of online
    auctions of bulk commodities such as crude oil.
  • Business to (2) Consumer - used to describe those
    business ventures, which use Internet technology
    to sell goods and services to Internet users. The
    online selling of books is an example of B2C.

5
Why E-Commerce?
  • First an online store system is familiar to
    anybody but the concepts apply equally well to
    many other applications
  • Second, there is little published on how to
    combine the various technologies that are
    available to design and implement an e-commerce
    systems.
  • Third, even though a lot of work has been done on
  • e-commerce there is a lot to be improved and
    expanded.

6
Project Description
  • Many people claim that building an online store
    is easy! But in reality, successful e-commerce is
    far more complex. Before that first cyberbuck
    finds its way into your bank account, you need to
    do considerable research and planning.
  • The e-commerce project provides a robust,
    modular, extensible, packaged B2C e-commerce
    platform for a small to medium sized Internet
    store with a rich set of features.
  • In addition the system has to be as portable and
    as flexible as possible and should require the
    least amount of resources.

7
Technology
  • Even though what technology is being used is not
    important for the customers and users it is
    definitely one of the first things that
    developers ask themselves.
  • There are a number of web technologies available
    and I would like to say a few words about the
    most popular of them (in alphabetical order)

8
ASP or Active Server Pages
  • ASP is a versatile and rapid development
    environment available for web use
  • Supports VB Script, a language specifically
    designed for creating interactive web
    applications.
  • Programming is simpler and development times
    reduced,
  • With the corporate muscle of Microsoft behind it,
    the technology is being widely pushed forward.
  • The big disadvantage is that it is a Microsoft
    technology designed for Windows Servers.
  • There is software available to allow ASP to run
    on Unix servers but it is not very popular.

9
CGI or The Common Gateway Interface
  • Simplicity. It is easy to understand.
  • Language independence. CGI applications can be
    written in nearly any language.
  • Process isolation. Since applications run in
    separate processes, buggy applications cannot
    crash the Web server or access the server's
    private internal state.
  • Open standard. Some form of CGI has been
    implemented on every Web server.
  • CGI also has some drawbacks. The leading problem
    is performance Since a new process is created
    for each request and thrown away when the request
    is done, efficiency is poor.

10
Java Servlets and JSP or Java Server Pages
  • Servlets provide a component-based,
    platform-independent method for building
    web-based applications.
  • JSP is in fact a set of tags that are embedded
    into traditional HTML code and are automatically
    converted into servlets.
  • You get all the usual benefits of the Java
    language portability, multithreading, and
    extensive API, object oriented design
  • Servlets are much less resource-intensive than
    CGI programs
  • Java still has a lot to improve and
    performance-wise is still comparatively slower.

11
Perl
  • Perl was never intended as an Internet
    programming language and is time-consuming to
    program.
  • When you look at Perl programs you often see
    huge, monolithic, difficult-to-understand
    programs.
  • On the other side Perl is powerful and it
    possible to write monolithic code that can work
    on both Unix and Windows servers.
  • Conclusion
  • It turns out that the best technology to be used
    depends on the
  • requirements and the best advice seems to be
    choose the one that
  • your developers are most comfortable with.

12
N-Tier Applications
  • The tiers basically refer to the different
    resources that a programmer may utilize. For
    example this application is in fact 4 tiers
  • Client side the browser, serving already built
    HTML pages
  • Web Server sending data to the browser
  • Database Server storing the data
  • Application Server executing the code
    manipulating the data

13
Requirements
  • Platform
  • Red Hat Linux 7.2 but since it is in Java,
    Sun claims that it should be easily portable to
    other platforms and I will take their word for
    it.
  •  
  • Web Server
  • For any kind of web development you need a
    web server. The most popular is Apache, which
    happens to be open source and that is what I am
    using.  

14
Requirements
  • Database Server
  • Web applications need additional specialized
    servers such as a database server and application
    server.
  • Since the database interaction is handled through
    JDBC, it should be easy to store the data on any
    database
  • I am using MySQL, which is another open source
    database server and even though it is missing
    some features such as properly enforced
    referential integrity, it is showing very good
    performance and is in fact forcing the developer
    to be more careful and to write better code.

15
Features Functionality
  • The system consists of 11 different interrelated
    parts.
  • 1. Web-based Set up Wizard
  • - Guides you trough the installation of your
    web store
  • -  Define domain name
  • -  Choose store template
  • - Enter administrative username and password
  • - The Set Up Wizard is only run the first time
    when the store is set up.

16
Features Functionality
  • 2.     Template Builder
  • -   Provide 1-3 Store Template Designs
  • -  Specify colors and fonts
  • -         - Upload images and input image
    names
  • -         - Enter titles and texts
  • -         - Enter link titles
  • -         - Choose different options as
    you go along

17
Features Functionality
  • 3.  Inventory Management
  • -  Stores information about the products or
    services that you are selling
  • - Uses a database to store data such as
  • - Product names
  • - Product Descriptions
  • - Prices retail and sale
  • - Quantity in stock
  • - Add/delete/modify products
  • - Track quantities in stock and get notified at
    danger levels
  • - Define search terms for each product
  • - Bundle products together in categories
  • - Provides unlimited number of categories and
    subcategories
  • - Administrative data with different levels
    of permissions can be set up
  •  

18
Features Functionality
  • 4. Promotions / Coupons / Sales
  •       -   Allow for creation and redemption of
    coupon codes. and discounts
  • -  Free shipping, bonus product
  • -  Promotion of items throughout the store
    by effectively designating featured products
  • -  Cross-selling related products
  • - Allows for discount text and expiration
    date

19
Features Functionality
  • 5.      Shopping Cart
  • -  Flexible shopping cart with items stored
    in the database
  • -  Recommends additional related
    products
  • - Option to save a regular order for 90
    days

20
Features Functionality
  • 6. Customer Registration
  • -  Registration form for buyers (customers)
  • -  Simple sign in for returning customers
  • -  Track order history and customer profile
  • -  If the password is forgotten it would be
    emailed to the account email
  • -  Customer data can change, so they can
    update their information
  • - Copy from shipping address checkbox

21
Features Functionality
  • 7.      Order Management
  • Front end that customers use to place orders
  • Back end that is used to fulfill the orders
  • Pulls data from the inventory and presents it to
    the customers
  • Provides not only a list of products but also
    images and descriptions
  • Maintaining order history and tracking orders is
    also related here
  • Keeps track of all orders made and payments
    received

22
Features Functionality
  • 8. Customer Service / Help Desk Section
  • - Creating a wide variety of customer-service
    features
  • - Custom feedback form
  • - About us section
  • - Template for generating privacy policy,
    returns, shipping and security
  • - Frequently asked questions section

23
Features Functionality
  • 9. Search
  • Allows customers to search for specific products
    by typing
  • Goes through the Search Keywords in the database
    of products and displays a list of links of
    matches

24
Features Functionality
  • 10. Shipping
  • -  Look at pending orders
  • -  Provide order and shipping information
  • -  Update order status
  • - Customers can also view the status of
    their order

25
Features Functionality
  • 11. Reports
  • -  Study customer patterns
  • -  Provide information about total sales in a
    given period
  • -  Split sales information on a monthly or
    weekly basis
  • -   Comparisons of revenues generated by
    different products
  • -   Does not analyze the log files of the web
    server

26
Customer Front End Structure
  • 1. /home
  • Home page, list of top level categories
    and the list of featured products are dynamically
    generated.
  • 2. /category
  • a list of products or a new list of
    subcategories
  • 3. /products
  • page specific for this product with
    description, image, option to view larger image,
    price etc.
  • 4. /checkout
  • customer registration
  • 5. /help
  • help and customer service
  • 6. /cart
  • Add To Cart or View Cart

27
Management Back End Structure
  • 1. Log in is required and the username and
    password are saved in session variable and are
    checked before any attempted task. Present a list
    of possible administrative tasks.
  • 2.  Inventory Tasks and Files
  • 3.  New orders, order status, order fulfillment
  • 4.  Set Up and Modify the Store Templates
  • 5.  Set Up Wizard
  • 6.  Reports
  • 7.  Customer Service and FAQ section
    administration
  • 8. Customer Management and subscription
    services

28
Structure and Data
  • Large amount of data that inherently lacks
    structure.
  • For example, HTML has proved to be an
    enduring markup language for developing Web
    pages however, there are no facilities within
    the language, for example, to indicate whether an
    item of data, say a three-digit number,
    represents the price of a commodity or some
    hourly rate charged by a company employee.

29
Problems with Browsers
  • Each of these browsers can display the browser
    pages they process in different ways, especially
    if they contain advanced facilities of HTML.
  • Different markup languages, focused on particular
    devices, for example there is a markup language
    known as WML (Wireless Markup Language)
  • The diversity of such languages means that the
    overhead in maintaining a number of versions of a
    document for different media can be very large.

30
XML Possible Solution
  • Can be used to indicate structure in a document
  • Maintain a single version of a document expressed
    in a language defined by XML and easily convert
    it into a form that can be displayed on a variety
    of media
  • Television sets, Internet phones and a variety of
    World Wide Web browsers
  • In fact an attempt to separate the structure of
    the data from the way it is presented.

31
Security
  • Important part of any application
  • This system relies on simple username and
    password authentication
  • Uses SSL (Secure Sockets Layer) for transferring
    the credit card and other secure information
  • Additional security is required by credit card
    companies if you intend to store credit card
    numbers.

32
Visa has developed a series of data security
requirements called the "Digital Dozen."
  • Install and maintain a working network firewall
  • Keep security patches up to date.
  • Encrypt stored data.
  • Encrypt data sent across networks .
  • Use and regularly update anti-virus software.
  • Restrict access to data by business "need to
    know."
  • Assign a unique ID to each person with computer
    access to data.
  • Do not use vendor-supplied defaults for system
    passwords
  • Track access to data by unique ID.
  • Test security systems and processes daily.
  • Maintain a policy that addresses information
    security
  • Restrict physical access to cardholder
    information.

33
Taxes
  • At present, Internet sellers are only required to
    collect sales tax if they have a physical
    presence in the purchaser's state.
  • Most of the online stores do not charge any tax.

34
Shipping
  • UPS and FedEx have opened up their interfaces to
    developers via the Internet
  • Shipping costs vary by weight
  • Many online merchants charge fixed amounts for
    shipping and handling
  • You can offer free shipping on orders above a
    certain dollar amount
  • Let your customers know when P.O. boxes are going
    to be an issue

35
Payments
  • 1. Authentication - make sure the cards you
    are accepting have valid numbers, have actually
    been issued, and are not reported stolen.
  • 2. Authorization - checks whether funds are
    available for purchases. If they are, you can put
    reservations on those funds. But you don't get
    the money yet.
  • 3. Settlement - the banks will release the
    funds that were previously reserved, and the
    money will make its way through numerous banks
    and intermediaries into your account.

36
Payments
  • Don't charge the cards until the products are
    ready to go
  • There are three options
  • third party that verifies and processes the
    payment
  • small component is added that will communicate
    directly with a payment gateway
  • simply store it for further possibly even manual
    processing

37
Conclusion
  • An online storefront, like any business itself,
    must continue to grow and change to accommodate
    the evolution of customers and products.
  • This flexibility is key to keeping e-business
    viable.
  • The quick and ever-changing nature of the Web can
    be daunting, but it can also bring customers,
    connections, and opportunities that never would
    have been possible otherwise.

38
  • References
  • Asbury, Steven Weiner, Scot R. "Developing Java
    Enterprise Applications", Second Edition, Willey
    Computer Publishing 2001 
  • Hakman, Kevin. E-Commerce Tutorial,
    http//hotwired.lycos.com/webmonkey
  • Hall, Marty. Core Servlets and Java Server
    Pages Sun Microsystems Press/Prentice Hall PTR
    Book, 2000
  • How to store your secure data,
    http//business.lycos.com
  • Ince, Darrel Distributed Applications and E
    Commerce, Addison Wesley, 2001
  • Sharma, Vivek Sharma, Rajiv Developing
    e-Commerce Sites An Integrated Approach,
    Addison Wesley, 2000
  • Visa USA Visa Security http//usa.visa.com/per
    sonal/about_visa/newsroom/visa_security.htmle

39
Acknowledgements
  • Dr. Herbert J. Bernstein
  • Thank you for teaching and guiding us!
  • We are so happy to have you!
  • Our Fellow Students
  • Keep up to the good work!
Write a Comment
User Comments (0)