WebLogic Server 6.1 Code Examples, BEA Systems, Inc.

Package examples.wireless.travelDemo

This example illustrates connectivity between WebLogic Server and a mobile terminal (examples: cell phone, PDA, pager, etc.) using a framework to implement a Travel site.

See:
          Description

TravelDemo Example Summary
ControllerServlet.java This is the controlling servlet that handles all incoming requests.
ApplicationSessionManager.java This class is used for simple session management.
ApplicationSession.java This class is used for simple session management.
DisplayBestFaresAction.java Displays the best fares.
DisplayBestItinerariesAction.java Displays the best itineraries.
DisplayLoginFormAction.java Displays the login screen.
FindAFlightAction.java Find a flight.
FindFlightBestItineriesAction.java Find a flights best itinerary.
FindFlightsBestFaresAction.java Find a flight best fares.
HomePageAction.java Displays the home page.
LoginAndDisplayHomePageAction.java Login and display the home page.
LoginRequiredAction.java Display a "login required" message.
LogoutAction.java Logout page.
NotImplementedAction.java Display a "not implemented" message.
ItinerarySummaryFormatter.java Format the data.
bestFaresError.jsp Displays a "best fares" error message. There is a separate copy of this file for each markup language. (WML, HDML, cHTML, HTML).
displayFares.jsp Displays the fares that are available. There is a separate copy of this file for each markup language. (WML, HDML, cHTML, HTML).
findAFlight.jsp Displays a menu to find a flight. There is a separate copy of this file for each markup language. (WML, HDML, cHTML, HTML).
findFlightsBestFares.jsp Displays a menu to find the best fares. There is a separate copy of this file for each markup language. (WML, HDML, cHTML, HTML).
error.jsp Default Error page for the TravelDemo Application. There are also separate copies of this file for each markup language. (WML, HDML, cHTML, HTML).
home.jsp The home.jsp which is the homepage of the application after logging in. There is a separate copy of this file for each markup language. (WML, HDML, cHTML, HTML).
loggedOut.jsp Displays a "logged out" message. There is a separate copy of this file for each markup language. (WML, HDML, cHTML, HTML).
loginError.jsp Displays a "login error" message. There is a separate copy of this file for each markup language. (WML, HDML, cHTML, HTML).
login.jsp Source page for the login jsp that is invoked from the client. There is a separate copy of this file for each markup language. (WML, HDML, cHTML, HTML).
loginRequired.jsp Displays a "login required" message. There is a separate copy of this file for each markup language. (WML, HDML, cHTML, HTML).
noBestFares.jsp Displays a "no best fares" message. There is a separate copy of this file for each markup language. (WML, HDML, cHTML, HTML).
notImplemented.jsp Displays a "not implemented" message when a action is requested that doesn't exist yet. There is a separate copy of this file for each markup language. (WML, HDML, cHTML, HTML).
web.xml Web Application deployment descriptor.
CategoryDefinitions.xml Descriptor file for the underlying framework which defines categories of devices.
DeviceDefinitions.xml Descriptor file for the underlying framework which defines attributes of the devices.
JSPSelectionRules.xml Descriptor file for the underlying framework which defines selection rules for the jsp pages.
 

Package wireless.travelDemo Description

This example illustrates:

In this example, login.jsp is requested by the mobile client and displays a simple login screen in the client display. This page will display properly on a client device that supports HTML, WML, HDML or cHTML. A request is received from the client by the HTTP Servlet which then forwards to the corresponding jsp for the markup language needed by the device running on WebLogic Server. The corresponding jsp responds by sending a generated *ML document to the device.

Perform the following steps in order to configure and run the example:

  1. Build the example
  2. Configure the Server
  3. Run the Example

Build the example

  1. Set up your development shell as described in Setting up your environment.

    We provide a build script for you to build the example, called build.xml.

  2. Run the build script using the following Java ant command:
            $ ant
  3. The script will build the example and place the files in the correct locations in your WebLogic Server distribution.

Configure the Server

  1. MIME types for WML, HTML, HDML, cHTML, etc. are already registered with the Examples Web Application.

  2. The following JSP parameters are already registered with the Examples Web Application and are included here for information only.

    ParameterValue
    compile commandJAVA_HOME/bin/javac
    pageCheckSeconds1
    verbosetrue

  3. Modify the startExamplesServer.cmd and add the following jar file to the end of the CLASSPATH: .\config\examples\applications\webFramework.jar
  4. Start the Administration Console and use it as described in the steps that follow to create and statically deploy this example.
  5. In the left-hand frame of the Administration Console, click Examples/Deployments/Web Applications.
  6. In the right-hand frame of the Administration Console, click Configure a new Web Application.
  7. In the right-hand frame of the Console, enter values for the Name, URI, and Path for the travelDemo application.
    Name=travelDemo
    URI=travelDemo
    Path=./config/examples
    Make sure that the Deployed option is checked, and click Create.
  8. In the right-hand frame, click the Target tab to display available servers. Select examplesServer, click the right arrow and click Apply.

Run the Example

If needed, refer to the vendor documentation for details on starting and administering a gateway server and for using any emulator.
  1. Start the WebLogic Server with the examples configuration.
  2. Load the travelDemo Application into a browser using a URL such as:
    http://hostname:7001/travelDemo/Login
    where:
    hostname
    Host name of the WebLogic Server.
    port
    Port where the WebLogic Server is listening for connections (weblogic.system.ListenPort).
  3. For now, there is a generic login which is "x/y" for user/password. This is checked in samples/examples/wireless/travelDemo/userService/UserServiceBean.java in the checkPassword() method.
  4. When the screen for "Cheapest at any time" or "Cheapest on specific days" is selected the only valid input is to enter "sfo/ewr" and it will display best fares based on airline. These values are in samples/examples/wireless/travelDemo/reservations/Reservations/ServiceClientWrapper.java file, located by findBestFares() method.
  5. Note: The data that will be returned after filling in the form is simple static data (except for the date returned which is the current date) for this example.
  6. Note: There are also some pages that are not implemented. For now they will invoke the NotImplementedAction.class that is located in samples/examples/wireless/travelDemo/ui/actions

Note, if this is not using a locally hosted and configured wireless gateway, a port other than 7001 may have to be used. The safest and most common port that most carriers support is port 80.

There's More...

Read more about:


Documentation is available at
http://e-docs.bea.com/wls/docs61/

Copyright © 2000-2001 BEA Systems, Inc. All rights reserved.