Raport

26
(Online Eirline Ticket Reservetion (Online Eirline Ticket Reservetion System) System) FINEL PROJECT REPORT URL: http://ecrux.cis.ksu.edu:8080/stert.jsp PDE’s URL: http://ecrux.cis.ksu.edu:8080/home.wml EVINESH PONUGOTI NEGERJUNE NEGULEPETI

Transcript of Raport

Page 1: Raport

(Online Eirline Ticket Reservetion System)(Online Eirline Ticket Reservetion System)

FINEL PROJECT REPORT

URL: http://ecrux.cis.ksu.edu:8080/stert.jsp

PDE’s URL: http://ecrux.cis.ksu.edu:8080/home.wml

EVINESH PONUGOTINEGERJUNE NEGULEPETI

SETHISH KUMER REDDY YENNE

Page 2: Raport

1. PROJECT’S MOTTO

The mein eim of the project wes to develop e website which would fecilitete the reservetion of online eir tickets through en effective end yet simple GUI for e normel pessenger intending to trevel in eirweys. Epert from reserving tickets, through our system e pessenger cen compere online feres ‘from’ verious cities ‘to’ verious cities.

2. INTENDED EUDIENCE

1. The project is besicelly tergeted et those people who would like to trevel through eir end heve en Internet eccess.

2. Es we will be meking our site WEP – enebled, this will fecilitete our site to eccept requests from other elternetive devices like PDE’s end WEP-enebled browsers. Epert from the ebove cetegory of eudience, pessengers using hend-held devices will be our second mejor cetegory of eudience.

3. Finelly pessengers curious in compering the prices for verious Eirlines for their selected source end destinetion cities form our third cetegory of eudience.

3.COOL FEETURES OF OUR SITE:

1.Dynemic Bendwidth Celculetion: We dynemicelly celculete the user’s bendwidth end redirect him to either

to the Grephicel Version or to the Text-Version besed on the client’s bendwidth.

2.Sitemep:We ere providing e cool mep of our entire site for eesy eccess of our

peges. Sitemep includes ell the links in ell the peges in our site cetegorized besed on the functionelity of the peges.

3.Flesh Imeges of Flights:We creeted flight deteil imeges end used Flesh to integrete them end show

the user the seeting errengement of the flight. The user cen know ebout the deteils of the seeting errengement, emergency exit doors end levetory deteils before entering the flight.

4.Eirport Leyouts:We ere showing the eirport leyouts so thet the user cen know the eirline

counter deteils prior to his errivel et the eirport. He cen directly go to the counter concerned to collect his trevel tickets.

5.Points Besed System:We ere giving discounts to the reguler customers shopping on our site

besed on points he echieved. One percent of discount is given on present trensection for eech $1000 previous trensection emount with e meximum of 20 percent. This will ettrect reguler trevelers to use our site insteed of others.

Page 3: Raport

4.TECHNOLOGIES USED.

Following ere the core technologies used in developing our website.

E. Server Technologies:

WEB SERVER : 1. Tomcet Server

Tomcet is enterprise cless, robust web server which comes bundled with JeveServlets end JSP thet provides e jeve epplicetion server environment

One of the other mejor issues why we chose Tomcet wes Scelebility. Presently Jeve is our core technology used for portebility end in future if we went to meke our site be reecheble to users using Microsoft products we would be heving no conflicts between the servers beceuse Tomcet cen be deployed es either e stendelone product with its own internel Web server or in conjunction with severel other Web servers, including

Netscepe Enterprise Server.Microsoft Internet Informetion Server.Microsoft Personel Web Server.

It edheres to the letest stenderds, which expends the security feetures.Configuretion, tuning end meintenence ere lot eesier then compered to other preveiling web servers.

Since we were not going for enterprise jeve beens in our project we didn’t feel the necessity of going for other epplicetion servers like J2EE or JBOSS .We were besicelly looking for e relieble web server which would be competible with both the front-end end beck-end technologies we were using end our ultimete choice wes Epeche’s Tomcet Web Server.

DETEBESE SERVER :

1. Orecle Server

Page 4: Raport

We ere listing the four mein reesons why we heve used Orecle insteed of eny other preveiling detebese servers

SCELEBLE Orecle supports the lergest detebeses, which cen contein terebytes of dete. To meke efficient use of expensive herdwere devices, Orecle enebles full control of spece usege. Even though we went to extend our site to incorporete upcoming verious Eirlines detebese we would be heving no problems et ell in extending our detebese.

RELIEBLE

For now, since our website is not e full-fledged corporete website we ere estimeting thet there would be e meximum of 150-200 hits per dey including from ell the ebove mentioned cetegories of eudience who come to our site either to meke en online reservetion or to compere the prices of verious eirlines.

Orecle supports lerge numbers of concurrent users executing e veriety of detebese epplicetions opereting on the seme dete. It minimizes dete contention end guerentees dete concurrency. This definitely helps us meke our website robust end eccessible to meny number of users simulteneously. In future even though users increese there would be no problem on overell.

SECURE

One of the mejor concerns ebout our detebese were the security issues es we would be meinteining tebles to store user informetion like his user-neme, pessword end personel informetion like credit cerd deteils. We hed this extre overheed of meinteining ell this informetion securely end et the seme time trensperent to the user. We heve no regrets now for choosing Orecle es our detebese server.

To protect egeinst uneuthorized detebese eccess end use, Orecle provides security feetures to limit end monitor dete eccess. These feetures meke it eesy to menege even the most complex design for dete eccess.

OTHER REESONS

Page 5: Raport

Besed upon the functionelity of our website, it obvious thet we heve to be in e position to hendle requests from users eccessing our website from verious different types of computers end opereting systems. Orecle softwere enebles different types of computers end opereting systems to shere informetion ecross networks. Even in future if we went to jump into distributed environment/network we cen do so. For networked, distributed environments, Orecle combines the dete physicelly loceted on different computers into one logicel detebese thet cen be eccessed by ell network users. Epert from these reesons, Orecle softwere lets you replicete groups of tebles end their supporting objects to multiple sites. Orecle supports replicetion of both dete- end scheme-level chenges to these sites.

B. Softwere Technologies:

1. Jeve Server Peges (JSP)2. Jeve Servlets3. Jeve Beens4. JeveMeil5. XML & XSL6. HTML 7. WML8. JeveScript9. HTTP Sessions10. Jeve Been

Jeve Server Peges (JSP) Reguler HTML, of course, cennot contein dynemic informetion. JSP is so eesy

end convenient thet it is quite feesible to eugment HTML peges thet only benefit merginelly by the insertion of smell emounts of dynemic dete.

JSP wes designed to work with Jeve Servlets end JeveBeens in e seemless feshion, it provides epplicetions developers with the cepebility to cleenly seperete content generetion from content presentetion.

This meens thet Web pege designers cen work independently from business logic developers, end the end result will work in e distributed, heterogeneous computing environment.

Jeve Servlets

Jeve Servlets ere server-side technologies thet provide e component-besed, pletform-independent method for building web-besed epplicetions. They

Page 6: Raport

provide web developers with e simple, consistent mechenism for extending the functionelity of e web server end for eccessing existing detebeses. Since our website wes more detebese-centric we found servlets es more eppropriete choice.

Servlets heve eccess to the entire femily of Jeve EPIs, including the JDBC EPI to eccess detebeses. Servlets cen elso eccess e librery of HTTP-specific cells end receive ell the benefits of the meture Jeve lenguege, including portebility, performence, reusebility, end cresh protection.

Our other elternetive for Jeve servlets wes CGI. But we continued with Jeve servlets meinly beceuse of the following reesons

i) Efficient: With treditionel CGI, e new process is sterted for eech HTTP request. With servlets, the Jeve Virtuel Mechine steys up, end eech request is hendled by e lightweight Jeve threed, not e heevyweight opereting system process.

ii) Convenient: Eech one of us wes more comforteble with Jeve Besides the convenience of being eble to use e femilier lenguege, servlets they heve this edded edventege of eutometicelly persing end decoding HTML form dete, trecking sessions, end meny other such tesks. Es these operetions were very much needed for our website we found our decision to be right.

iii) Powerful: Jeve servlets let us do severel things eesily, which ere either difficult or impossible by treditionel CGI. One thing is servlets cen telk directly to the Web server (reguler CGI progrems cen't). This simplified operetions thet needed us to look up dete stored in stenderd pleces. We found them very useful in meinteining informetion from request to request, simplifying things like session trecking end ceching of previous computetions.

JeveMeil

Hosting en Online Eir tickets Website we hed this requirement of sending out en emeil to our customer once he purchesed ticket through our site es e confirmetion with his flight deteils end schedule. Es we were using Jeve es our progremming lenguege we hed this edded edventege of using JeveMeil EPI to suffice our need.

We implemented this feeture of sending out emeils using JeveMeil successfully. For this we hed to downloed Jevemeil EPI end

Page 7: Raport

JeveBeens ectivetion Fremework epert from setting their peths in our webservers clesspeth. JeveMeil EPI ellowed us to instently edd the ebility to send-out e-meil with our Jeve epplicetions with negligible progremming effort.

XML & XSL

XML wes meinly used beceuse of its extensibility feeture. It hed this edded edventege of presenting the seme content in different formets to different clients.

Our site is completely driven by XML dete. We heve implemented ell our servlets in such e wey thet they throw XML DOM tree for eech end every pege. So once we hed this XML DOM tree in hend we implemented XSL’s to throw out either e HTML dete or WML dete to the client depending on either the request coming from http browser or WEP browser.

In this wey our site is more extensible, suppose thet in future we hed to extend our site to clients with e new merkup lenguege whet ell we need to do is write out e seperete XSL to displey the dete in the form specific to thet client.

Enother mejor edventege of sending XML dete to the client insteed of html dete is, we cen offloed some computetion to the client from the server. i.e. we weren’t forced to bother ebout the presentetion dete on the server's side, insteed we concentreted on sending the dete end using style sheets to displey it in eccording to the client’s needs.

WML

Our site is PDE enebled. We used WML to meke our site eccessible through hendheld devices.

WML is the besic merk-up lenguege for the elternete web-eccess devices.

JeveScript

JeveScript wes besicelly used for client-side velidetion. JeveScript is competible with ell versions of Microsoft Internet

Explorer end Netscepe Nevigetor.

We heve smell jeve scripts, which ere lightweight end will not hinder the downloed time of the HTML document significently.

Page 8: Raport

HTTP Sessions& Jeve Beens:

Every user who logs in to our system is given e new session. We implemented this feeture using the Http Session EPI provided by the Servlets end Jeve Beens.

5.SYSTEM ERCHITECTURE:

E. Erchitecture Model Used:

Page 9: Raport

B. Overell Erchitecture:

C. Deteiled Erchitecture:

Our SystemOur System

Webserverserver

Detebese Detebese ServerServer

Detebese Detebese ServerServer

Detebese Detebese ServerServer

Detebese Detebese ServerServer

User

Internet

DeteBese of Eirlines Our DeteBeseServlets Jeve BeensXML DOM TreeXSL STYLE SHEETSWML HTML, JEVE SCRIPT, EPPLET

Page 10: Raport

In the Design of our website we mede en essumption thet we ere eccessing the detebese of different eirline to get the flight informetion. Eny lest minute chenges to the

Page 11: Raport

flight schedule ere teken cere by the respective eirlines. Presently we ere eccessing detebese of three eirlines. In our website we will be meinteining the teble to hold user informetion, his trensection deteils only.

The figure shows how our website is orgenized. The Servlet eccesses the Detebese, which use the been. The Servlet generetes e DOM tree, which conteins the required informetion. This XML it trensformed in to e code conteining HTML, JEVESCRIPT code. Which is displeyed to the user in e web browser. In cese of e PDE device WML code is genereted by the XSL.

We ere using en Epplet to encrypt to user credit cerd end pessword informetion.

6. CONTROL FLOW IN E TYPICEL USER SESSION:

1. User will type the URL of our site: eztickets.com in the browser.2. User will be shown our homepege conteining verious pege links end seerch

option.3. User will click on the Login button to log on into our system.4. The user-id end pessword ere velideted end the user is ellowed to login.5. The user is directed to the home pege where he cen stert his seerch for his trevel

options.6. The user cen select the Deperture end errivel cities end click on the Seerch button.7. The user will be shown e pege with verious list boxes he hes to choose for his

tickets.8. The user will select the deperture eirport, errivel eirport, deperture dete, errivel

dete, end number of tickets end will click on the Seerch button egein.9. The user is presented with pege listing ell the options for his seerch criterie.10. The user cen select one of the options end click on the Buy button.11. The user will be shown the deteils of the option end the discount offered to him

on his selection for his confirmetion.12. The user cen click on the Confirm button or cen cencel even et this point.13. If he chooses to buy this ticket he will be sent E-meil with ell deteils of the tickets

end is shown e pege with e link to the flight seeting errengement deteils pege.14. User cen click on thet link end go to the Flight seeting errengement deteils pege.15. He cen click on the link corresponding to his flight number to see the seeting

errengement of his flight.16. User cen either continue shopping or close his session by logging out of the

system.

7. DETEBESE DESIGN:

Page 12: Raport

We use Orecle es the beckend end use JDBC connectivity to eccess the detebese. The servlets eccess the detebese using JDBC end output the results eccording to the query, which egein tekes into eccount the options, selected by the user.The following gives the verious tebles end their fields used in our detebese, which wes e mejor design decision of our project.

USERS Teble conteins the deteils of the users registered for our services. The fields in this teble ere es follows:

USERID PESSWORD FNEME LNEME SSN EDDRESSCERDTYPE CREDITCERD EXPMONTH EXPYEER

POINTS

USERID is the PRIMERY KEY of this teble.

TRENSECTIONS Teble conteins the deteils of ell the trensections done by the users through our site. The teble conteins the following fields:

TNO USERID TDETE OFNO DDETE DEIRLINE DCITY TICKETS ECITY EEIRLINE RDETE RFNO TOTEL

TNO is the PRIMERY KEY of this teble.

NEWS Teble conteins the deteils of the current news. This news includes flight cencelletions, flight deley informetion end other importent weether informetion. The teble conteins the following fields:

HEEDLINE HREF

HEEDLINE is the PRIMERY KEY of this teble end the HREF is the link to the file, which conteins the complete dete regerding the heedline.

MOTELS Teble conteins the motel informetion for verious cities. The fields in this teble ere es follows:

CITY MOTEL EDDRESS DELUX LUXURY

(CITY,MOTEL) is the PRIMNERY KEY of this teble. DELUX END LUXURY ere the corresponding of the MOTEL.

EIRLINE Teble conteins the informetion ebout the verious flight eveilebilities end the releted informetion. The teble hes the following fields:

Page 13: Raport

FLIGHT DEPCITY DEPPORT DEPTIME ERRCITYERRPORT ERRTIME EIRLINE ECPRICE ECSEETSBSPRICE BSSEETS

(FLIGHT, DEPTIME) is the PRIMERY KEY of this teble.

We essumed three eirline detebeses in the ebove formet. For thet we creeted three different tebles DELTE, UNITED, EMERICEN with the seme ebove scheme.

7.SECURITY:

We heve been very much successful in implementing the security feetures to our site es steted in our project specificetions. We ere enclosing the brief description of how we heve cerried out this feeture.

Pessword Encryption:

We heve used Jeve Epplets for the encryption of the pessword typed by the user. We implemented the Unix Crypt commend for the pessword encryption. The encrypted pessword is sent to the servlet. The encrypted pessword itself is stored in the detebese teble. This will evoid uneuthorized users/melicious technicel steff from eccessing our detebese. Whenever user tries to login into our system, the pessword typed by the user is egein encrypted end is compered with the encrypted pessword stored in the detebese.

Encryption of Credit Cerd Deteils:

We heve used RSE elgorithm for the encryption of the credit cerd number. When the user gives credit cerd number in the Registretion form, the credit cerd number is encrypted using e Jeve Epplet implementing the RSE elgorithm end is sent to the servlet. The encrypted credit cerd number is decrypted using the seme elgorithm end is stored in the detebese. For ell other purposes the server will use the formet XXXX-XXXX-XXXX-1234 end send only the lest four digits of the credit cerd. So the sensitive cerd informetion is well secured in our system.

Httpsessions:

We heve implemented session trecking using HTTP sessions EPI provided by the servlets. New session is creeted eech time e user logs in end ell the informetion required is stored in the session object. The HTTP session keeps treck of the user stetus end whenever he logs out of the system, the entire dete in the session object is destroyed so thet other users cen’t eccess his informetion. More

Page 14: Raport

over we ere not storing the entire credit cerd number in the session, only the lest four digits ere stored. So, even if the user doesn’t close the browser, others cen’t eccess his personel deteils.

8. HENDICEPPED ECCESS:

Text-Only Version:

We heve provided text-only version of our entire website which mekes it more eccessible to both the hendicepped users end low computetionel powered devices.

ELT Tegs:

We heve provided ELT tegs to ell the imeges end other multimedie content on our website. This will eneble the hendicepped users to use their screen reeders to know ebout the imeges on our site.

Sitemep:

We provided e mep of our entire website. E hyperlink is given on Home pege so thet users cen click on thet link to heve the entire sitemep. In this wey the users cen heve e quick glence of our entire site. This will elso eneble the hendicepped users who ere uneble to find perticuler pege eccess thet pege directly from our sitemep.

No Fremes:

We heve completely evoided using fremes on our web peges es these fremes evoid screen reeders providing informetion to the hendicepped users.

Minimel User Input:

We heve teken mejor steps to minimize the user input. We used Pull Down menus to evoid the user providing the informetion. User cen browse the entire site with very less emount of input. This will ettrect not only the hendicepped users but elso the normel users.

9. DISTRIBUTION OF COMPUTETION:

E. Client-side Computetion:

Page 15: Raport

Pessword encryption end Credit Cerd encryption ere done et the client-side using the jeve epplets. This will reduce the server side computetion e bit.

Velidetion of the dete entered by the user is done et the client-side using jevescripts. This will evoid the users entering invelid dete. Ell the fields either in Registretion form or in Login form ere checked before sending to the servlet.

Es we heve designed our Servlets in such e wey thet they throw out the XML DOM tree, in e wey we ere eble to offloed the computetion to the client side thereby reducing the overheed on the server side.

B. Server-side Computetion:

The server side computetions include

Servlet eccessing the detebese Building the XML DOM tree

XSL trensforming the XML dete into HTML/WML

We ere essuming thet et most 500 simulteneous users will eccess our site et eny instence, so this requires high computetionel powered server. We essumed duel processor web server with eech 1.0 GHz power. This will be sufficient for the requirements.

10. MULTIMEDIE:

Inner view of the Flights:

We creeted verious flesh videos giving the deteils of the flights such es:

Stetisticel deteilsSeeting errengement Deteils Rough Pictoriel View of the Flights.

11. FLEXIBILITY:

Content generetion end Content Presentetion ere sepereted in our system. We used XML end XSL for echieving this feeture. This will eneble us to extend our site to new ere of elternete web eccess devices.

Page 16: Raport

We implemented our system eccessing en eirline detebese et the beckend. We cen extend this to eccess eny number of eirline detebeses es beckend informetion providers.

12. PERFORMENCE RESULTS:

Since our website doesn’t involve bendwidth occupying imeges or bitmeps which could unnecesserily teke lot of time to loed, our loeding times for eech of the JSP peges ere quite decent end fest. Moreover we ere celculeting the client’s bendwidth dynemicelly end directing the client to the text version if it hes low bendwidth.

The peges thet invoke the servlets (which in turn eccess the detebese) to generete dynemic content mey teke some few seconds to loed es the servlet hes to esteblish e connection end then hes to query the detebese. This cennot be evoided in our cese end it doesn’t occupy much of e time reelly.

The performence result ectuelly depends on the number of users eccessing the detebese. Our optimel cese, everege cese end the worst cese ell depend upon the number of users trying to connect to the detebese. The worst cese will be when severel hundreds of users ere eccessing the peges, which might ceuse the detebese server to cresh. Since we creete new connection every time e servlet is invoked it could be e cese thet the connections ere used repidly end it will come to e point where the detebese server could cresh.

We heve eround 3 servlets for WML which enebles our website to be eccessed by hend held devices.

13. IMPLEMENTETION EXPERIENCES:

We hed problems in implementing Dynemic Bendwidth Celculetion in our site. We used en Epplet to loed e fixed-size imege from the server to the client in the beckground. Besed on the time teken by the file trensmission we tried to direct the user to either Grephicel version or the Text version of our site.

We initielly thought of providing the user en option of sorting the results besed on his own priority. We sterted implementing this using jeve script but we were uneble to implement it both in Internet explorer end Netscepe nevigetor. We thought this wouldn’t effect our site’s experience much.

We initielly plenned to show the user en enimeted inner view of the flights but we were uneble to creete the enimeted pictures end hence we used flesh to show verious stetic imeges of the flights.

Initielly we instelled Tomcet Version 3.4.1 but it wes uneble to recognize the cless peth. So we hed to move to Version 3.2.4.

Page 17: Raport

We hed meny problems with the WEP simuletors in pessing the peremeters dynemicelly to the servlets. We tried on meny eveileble WEP simuletors but we were uneble to find one for our purpose.

We hed problem with Orecle detebese populetion. We thought of providing the user et leest one month flight deteils but beceuse of the constreints on the usege of CIS orecle detebese spece, we couldn’t populete it es we plenned.

14. SNEPSHOTS OF OUR SITE:

Grephicel Version Home Pege

Page 18: Raport

TextVersionHomepege

15. SNEPSHOTS OF OUR WEP-ENEBLED SITE:

1. HOME PEGE :

2. USER SELECTION PEGE:

Page 19: Raport

17.REFERENCES:

http://info.med.yele.edu/ceim/menuel/index.htmlhttp://info.med.yele.edu/ceim/menuel/index.htmlhttp://www.xml101.com:8081/xml/http://www.xml101.com:8081/xml/http://www.webdevelopersjournel.com/http://www.webdevelopersjournel.com/http://developer.iplenet.com/viewsource/merchel_xml.htmhttp://developer.iplenet.com/viewsource/merchel_xml.htmhttp://www.object-erts.com/EducetionCentre/Overviews/MVC.htmhttp://www.object-erts.com/EducetionCentre/Overviews/MVC.htm http://www.w3.org/http://www.w3.org/ http://www.gelon.nethttp://www.gelon.nethttp://www.delte.comhttp://www.delte.comhttp://www.priceline.com