|
|
Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
Page 2 of 6
Figure 2 shows how we plan to implement our requirements using Spring configuration and built-in Camel components.
As shown, a portal user (Consumer) sends a GetQuote request consisting of a starting location, travel destination and dates, and (optionally) the preferred airline. The response
consists of an array of price elements with the airline name. The portal ReservationService accepts the GetQuote request. Based on the Consumer's preferences, it invokes the ReservationServices of either Airline A or Airline B or All. It then aggregates and returns the responses obtained from these web services to the Consumer.
The three web services in our SOA are integrated using Camel routes, which are defined in XML files. We'll also need to write some Java code for the processors that comprise the routes.
An Apache Camel route is essentially a chain of processors, which allows messages to flow between Camel endpoints. A Camel route refers to endpoints as URIs. Messages are contained during routing in a component called an Exchange. Finally, the Camel runtime, known as the CamelContext, glues these components (routes and endpoints) together.
Before we proceed into the demo we'll briefly introduce the Apache Camel components that we'll use to create the SOA integration layer for our reservation service implementation:
ReservationService and the two airline ReservationServices) and use them in the Camel routes.
ReservationService to our two airline ReservationServices.
You may find the WSDL files and associated XML schemas for our web services interfaces in the source code for this demo.