Title: LYU9901 TravelNet
1LYU9901 TravelNet
- Final Presentation
- Supervisor Prof. Michael R. Lyu
- Members Ho Chi Ho Malcolm
- Lau Chi Ho Arthur
- On 25-04-2000
2Outline
- Project Objectives
- Features
- Improvement in Design
- The use of Java Sever Pages(JSP)
- Distributed Components in CORBA
- Sophisticated Payment Methods
- Conclusion
3Project Objectives
- Exploring elements of e-commerce applications
- Building of an online travel agency TravelNet
- The use of distributed components by CORBA
- The integration of sophisticated payment methods
4Features (Membership)
- Require users to register first before using the
service provided - Login the system with a username and password
- Allow the change of personal profile
5Features (Online Shop)
- Selling of Travel Accessories e.g Luggage, Maps,
etc - A shop basket to store the items to purchase
- Checkout of the shop basket
6Features (Travel Guide)
- Basic description on different cities
- Help users to plan for their trips
7Features (Flight Search)
- Allow users to search flights from some basic
information - Search mode one-way and round-trip
- Search result is sorted by time
- Allow users to add suitable item in their
itinerary
8Features (Itinerary)
- Keep flight items that are going to be reserved
- Allow users to add items from search result or
manually - Allow users to remove unwanted items
- Booking of flights by itinerary
9Features (Hotel Information)
- Basic information on selected hotels
- Help users to choose hotels in their trips
10Features (Payment)
- Support of credit card payment and smart card
(Mondex) payment - For Mondex, users should equip with a reader
- Details are discussed in the later part
11Implementation Improvements
- Java Server Pages
- CORBA components integration
- Airline Services Components
- Shop Stock management Components (will not be
covered) - Payment Systems integration
- Credit Card Payment
- Mondex Payment
12Introduction to JSP
- Mixing the "static" content of HTML files with
"directives" for accessing or generating dynamic
content. - Java Server Pages (JSP) provide server-side
scripting support for generating web pages with
combined static and dynamic content. - Making use of JSP for separating
- Layout design (in HTML)
- Processes (in Java)
13JSP features
- Combines the worlds of HTML and Java Servlet
programming - Similar to HTML pages with new tags to control
the generation of dynamic content - Client access from an HTTP server
- Pre-compilation of JSP to Servlet which is
responsible for generating dynamic pages - Reside in application server memory (pre-load OR
1st access)
14- Request from browser to JSP of HTTP server
- Servlet request the Bean
- Bean request information from back-ends
- JSP response requested information to browser
15Reason of Using JSP
- Separate layout design from processing module
design - Share the same advantages as Java Servlets have
- No need for installing new software component for
using JSP
16Distributed Components
- Anticipate the need of distributed components for
better system management - By CORBA technology
17Introduction to CORBA
- Standard of building distributed application
- Allow bindings of different languages through IDL
- Interaction between client and server objects by
ORB - Facilitate location transparency, access
transparency and better server-side scaling
abilities
18URL Naming Service
- Server objects need to provide a interoperable
object reference (IOR) for client objects to
locate its existence - Using URL Naming Service, server object associate
its reference through URL - A file contains the stringified server object
- Client get the file through this URL
19CORBA in TravelNet
- Integration in two parts Airline Service and
Stock Management - Airline Service mainly for flight query and
reservation - Airline Manager as client to connect to the
remote Airline Server - each Airline Manager binds with one specific
Airline Server
20CORBA in TravelNet(2)
- The interface makes everything abstract
- No difference in invoking methods from the view
of TravelNets component which calls for the
airline service - Stock Management Access and update remote shop
stock inventory
21Performance
- Comparison between distributed version in CORBA
and non-distributed one - Two experiments are carried out for evaluation
22Performance(2)
- Experiment 1 One-way flight search
23Performance(3)
- Experiment 2 Round-Trip flight reservation
24Performance(4)
- Experiment 1 requires calling 10 or more CORBA
objects while Experiment 2 only need one. - Each CORBA object pose a 0.5 sec overhead
- Overhead is accumulative
- Conclusion CORBA is negative to performance
- If using parallel processing, can reduce the
effect of the overhead - Still beneficial to design for the availability
25Payment Systems Integration
- Unavoidable part of any E-Commerce System
- Different Type of products/services favor
different types of payment - TravelNet Support two types of payment
- Credit Card
- Mondex Card
26Credit Card Payment System
- The Most Common way for internet shopping
- TravelNet is not possible to connect to real
banking system. - A system developed by a post-grad student (Steve
K.L. Chong) in CSE department. - The System simulated the major steps in a secured
Credit Payment
27Communication Architecture (1)
I. Customer Card information is sent on SSL to
TravelNet. Information also contain products
customers bought and amount to pay.
28Communication Architecture (2)
II. Merchant Encrypt the Information with Payment
Gateways Public Key and request a debit on the
specific card from Payment Gateway
29Communication Architecture (3)
- Internal communication behind the Payment
gateway. Payment request will be sent and a
payment result will sent back for this payment
30Communication Architecture (4)
III. The Payment result will be return back to
TravelNet. Again its encrypted but by
TravelNets Public Key.
31Communication Architecture (5)
IV. TravelNet verify the payment. And response to
the client Web Browser. This traffic need not be
encrypted.
32Payment Performance(1)
Fig 2.Performance on Single-Threaded Model
Fig1. Performance on Multi-Threaded Model
- The performance of multi-threaded model degrade
More Rapidly than that of single-threaded model
(to number of concurrent users) - Mainly due to Tasking switching Database
conflict locking.
33Payment Performance(2)
- Over 80 of the processing time of a payment is
spent on Payment Gateway side - Single-Threaded model is the default mode for
Credit Card payment for TravelNet - First come first serve
- Reduce over head
34Micro-Payment Mondex
- Store value smart-card becomes more popular
because they are more convenient and secure. - Mondex is one of the most common one in the
market - There is a Mondex project in CSE so we have a
chance to make use of this technology
35Mondex Equipments
36Communication Architecture(1)
1. Client browse TravelNet and select
product/services 2. Client request a Mondex
Payment
37Communication Architecture(2)
Payment Server
4
TravelNet Web Server
1
2
3
6
5
Consumer Web Browser
3. Server will sign a Payment request for the
customer. The payment requests and other
merchant information will be sent to
customer as a client plugin programs parameters
38Communication Architecture(3)
Payment Server
4
TravelNet Web Server
1
2
3
6
5
Consumer Web Browser
4. Customer call the plugin-program and connect
to Mondex payment server to start a
payment. Payment result will be returned to
plugin-program after the Payment process.
39Communication Architecture(4)
Payment Server
4
TravelNet Web Server
1
2
3
6
5
Consumer Web Browser
5. The payment result will be passed from client
plugin-program back to merchant Server. The
merchant will verify the payment result. If
it can be verify successfully, post-payment
process will be done.
40Communication Architecture(5)
Payment Server
4
TravelNet Web Server
1
2
3
6
5
Consumer Web Browser
6. TravelNet will send the acknowledgement page
to customers Web server together with a payment
transaction ID.
41Mondex Advantages
- Convenient usage
- More secure than Credit Card Payment
- Suitable for micro-payment
- Limited the possible monetary loss
42Program Listing(1)
43Program Listing(2)
44Program Listing(3)
Total Number of lines 5310 Total Number of
Characters 181881
45Conclusion
- A complete system of E-commerce application
- New features provided to the basic system
- Integrated with Distributed Components
- Support different types of payment methods
46- End of Presentation
- Thank You!