To illustrate how a J2EE platform might function, imagine using a J2EE server in Titan’s reservation system. To build this system, we would use the TravelAgent, Cabin, ProcessPayment, Customer, and other enterprise beans we defined in this book, along with web components that would provide an HTML interface. The web components would access the enterprise beans in the same way that any Java client would, using the enterprise beans’ remote and home interfaces. The web components would generate HTML to represent the reservation system.
Figure 17-5 shows a web page generated by a servlet or JSP page for the Titan reservation system. This web page was generated by web components on the J2EE server. When this page appears, the person using the reservation system has been guided through a login page, a customer selection page, and a cruise selection page, and is about to choose an available cabin for a reservation.
The list of available cabins is obtained from the TravelAgent EJB,
whose listAvailableCabins( )
method is invoked by
the servlet that generated the web page. The list of cabins creates
an HTML list box in a web page that is loaded into the
user’s browser. When the user chooses a cabin and
submits the selection, an HTTP request is sent to the J2EE server.
The J2EE server receives the request and delegates it to the
ReservationServlet
, which invokes the
TravelAgent.bookPassage( )
method to do the actual
reservation. The ticket information returned by the
bookPassage( )
method is then used to create
another web page, which is sent back to the user’s
browser. Figure 17-6 shows how the different
components work together to process the request.