final_report3

Download Report

Transcript final_report3

LYU9901 TravelNet
Final Presentation
Supervisor: Prof. Michael R. Lyu
Members: Ho Chi Ho Malcolm
Lau Chi Ho Arthur
On 25-04-2000
Outline
• Project Objectives
• Features
• Improvement in Design
– The use of Java Sever Pages(JSP)
– Distributed Components in CORBA
– Sophisticated Payment Methods
• Conclusion
2
Project 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
3
Features (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
4
Features (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
5
Features (Travel Guide)
• Basic description on different cities
• Help users to plan for their trips
6
Features (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
7
Features (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
8
Features (Hotel Information)
• Basic information on selected hotels
• Help users to choose hotels in their trips
9
Features (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
10
Implementation 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
11
Introduction 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)
12
JSP 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)
13
•Request from browser to JSP of HTTP server
•Servlet request the Bean
•Bean request information from back-ends
•JSP response requested information to browser
14
Reason 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
15
Distributed Components
• Anticipate the need of distributed
components for better system
management
• By CORBA technology
16
Introduction 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
17
URL 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
18
CORBA 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
19
CORBA in TravelNet(2)
• The interface makes everything abstract
• No difference in invoking methods from
the view of TravelNet’s component
which calls for the airline service
• Stock Management: Access and update
remote shop stock inventory
20
Performance
• Comparison between distributed version
in CORBA and non-distributed one
• Two experiments are carried out for
evaluation
21
Performance(2)
Run
Distributed version
non-distributed
in CORBA
version
Time(ms)
Time(ms)
1
19010
13139
2
15883
11146
3
16364
11878
Average
17086
12054
• Experiment 1: One-way flight search
22
Performance(3)
Run
Distributed version
non-distributed
in CORBA
version
Time(ms)
Time(ms)
1
5668
5819
2
5828
4877
3
5734
5051
Average
5743
5249
• Experiment 2: Round-Trip flight reservation
23
Performance(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
24
Payment 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
25
Credit 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
26
Communication Architecture (1)
I. Customer Card information is sent on SSL to TravelNet. Information
also contain products customers bought and amount to pay.
27
Communication Architecture (2)
II. Merchant Encrypt the Information with Payment Gateway’s Public
Key and request a debit on the specific card from Payment Gateway
28
Communication Architecture (3)
•Internal communication behind the Payment gateway. Payment request
will be sent and a payment result will sent back for this payment
29
Communication Architecture (4)
III. The Payment result will be return back to TravelNet. Again it’s
encrypted but by TravelNet’s Public Key.
30
Communication Architecture (5)
IV. TravelNet verify the payment. And response to the client Web
Browser. This traffic need not be encrypted.
31
Payment Performance(1)
Average Total CheckOut Time
Average Time spent on PG
Process Tim e (m s)
Process Tim e (m s)
Average Total CheckOut Time
20000
17500
15000
12500
10000
7500
5000
2500
0
1
2
3
4
Average Time Spent on PG
5
6
7
8
9
10
Number of concurrent users
Fig1. Performance on Multi-Threaded Model
20000
17500
15000
12500
10000
7500
5000
2500
0
1
2
3
4
5
6
7
8
9
10
Number of concurrent users
Fig 2.Performance on Single-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.
32
Payment 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
33
Micro-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
34
Mondex Equipments
Fig4. iReader
Fig4. Mondex Card
35
Communication Architecture(1)
Payment Server
4
TravelNet Web Server
1
2
3
5
6
Consumer Web Browser
1. Client browse TravelNet and select product/services
2. Client request a Mondex Payment
36
Communication Architecture(2)
Payment Server
4
TravelNet Web Server
1
2
3
5
6
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 program’s parameters
37
Communication Architecture(3)
Payment Server
4
TravelNet Web Server
1
2
3
5
6
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.
38
Communication Architecture(4)
Payment Server
4
TravelNet Web Server
1
2
3
5
6
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.
39
Communication Architecture(5)
Payment Server
4
TravelNet Web Server
1
2
3
5
6
Consumer Web Browser
6. TravelNet will send the acknowledgement page to customer’s
Web server together with a payment transaction ID.
40
Mondex Advantages
• Convenient usage
• More secure than Credit Card
Payment
• Suitable for micro-payment
• Limited the possible monetary loss
41
Program Listing(1)
Module
Sub module
Number of
Number of
Lines
characters
Login.jsp
90
3518
LoginBean.java
110
2428
UserSessionBean.java
53
1003
User Profile
Register.java
238
8981
Management
ViewUserInfo.java
178
7036
UpdateInfo.java
153
5582
Logout.java
20
464
842
29012
Shop.jsp
120
3427
ShopBasketBean.java
44
1383
ViewBasket.jsp
152
5730
CheckOut.java
250
9327
mondex.jsp
90
3580
Mondex.java
78
1930
Result.java
265
9248
mondex.bas
72
2299
1071
36924
Sub Total
Travel Shop
Sub Total
42
Program Listing(2)
Airline Service
AM.idl
27
1144
AirlineManager.java
498
13716
SearchFlight.java
510
21009
RserveFlight.java
353
13596
AirlineServer.java
53
1843
AirlineServiceImpl.java
484
14124
1925
65432
Stock.idl
17
391
StockMgrImpl.java
20
547
StockServer.java
25
747
StockImpl.java
107
2931
StockBean.java
62
1841
231
6457
Sub Total
Stock Management
Sub Total
43
Program Listing(3)
ItineraryManager.java
482
13211
84
2539
ViewItinerary.java
293
14074
RemoveItinerary.java
43
1236
902
31060
hotelresv.jsp
175
7881
Hotel.jsp
60
1748
235
9629
Itinerary Management AddItinerary.java
Sub Total
Hotel Information
Sub Total
Supplemantary
Mail.java
39
1471
Classes
Html.java
20
523
Database.java
45
1373
104
3367
Sub Total
Total Number of lines = 5310
Total Number of Characters = 181881
44
Conclusion
• A complete system of online e-commerce
application
• New features provided to the basic
system
• Integrated with Distributed Components
• Support different types of payment
methods
45
End of Presentation
46