460 likes | 470 Views
Explore the features and improvements in design of TravelNet, an online travel agency. Discover the use of Java Server Pages (JSP) and distributed components in CORBA, as well as sophisticated payment methods.
E N D
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
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
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
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
Features (Travel Guide) • Basic description on different cities • Help users to plan for their trips
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
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
Features (Hotel Information) • Basic information on selected hotels • Help users to choose hotels in their trips
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
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
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)
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)
Request from browser to JSP of HTTP server • Servlet request the Bean • Bean request information from back-ends • JSP response requested information to browser
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
Distributed Components • Anticipate the need of distributed components for better system management • By CORBA technology
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
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
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
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
Performance • Comparison between distributed version in CORBA and non-distributed one • Two experiments are carried out for evaluation
Performance(2) • Experiment 1: One-way flight search
Performance(3) • Experiment 2: Round-Trip flight reservation
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
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
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
Communication Architecture (1) I. Customer Card information is sent on SSL to TravelNet. Information also contain products customers bought and amount to pay.
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
Communication Architecture (3) • Internal communication behind the Payment gateway. Payment request will be sent and a payment result will sent back for this payment
Communication Architecture (4) III. The Payment result will be return back to TravelNet. Again it’s encrypted but by TravelNet’s Public Key.
Communication Architecture (5) IV. TravelNet verify the payment. And response to the client Web Browser. This traffic need not be encrypted.
Payment 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.
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
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
Fig4. Mondex Card Fig4. iReader Mondex Equipments
Payment Server 4 TravelNet Web Server 1 2 3 5 6 Consumer Web Browser Communication Architecture(1) 1. Client browse TravelNet and select product/services 2. Client request a Mondex Payment
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
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.
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.
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.
Mondex Advantages • Convenient usage • More secure than Credit Card Payment • Suitable for micro-payment • Limited the possible monetary loss
Program Listing(3) Total Number of lines = 5310 Total Number of Characters = 181881
Conclusion • A complete system of E-commerce application • New features provided to the basic system • Integrated with Distributed Components • Support different types of payment methods
End of Presentation Thank You!