Originally posted by Dhiren Joshi:
In a given situation where
1. we are given a list of flights.
2. customer selects flights he wants. (This request IMO should not go to the business tier at all). I dont think at this point the shopping cart shd even be involved as it would be a big network overhead. Such simple selections are generally maintained by view helpers and requets processor.
any thoughts...
Thanks
Dhiren
I think we will have to go to the business tier (and finally to the database) to get the seat availability once the customer has selected the flight (both arrival & departure).
See Customer is moving step by step with some amount of think time in between various steps.
First he/she picks the flights and then he/she picks the seat(s). There is a theoretical possibility that the flight shown in the search may not have the seats available on click of the next.
To handle this problem of "optimal concurrency", we should go to the business tier.
Also I do not think these kind of results should be cached anywhere. This information should always be requested from the business tier, which should bring this fresh from the database.
It becomes even more complex if you consider a scenario where one Itinerary has many segments, each segment has many legs and each leg is associated to a unique flight.
The search would require you to get the seat availability on all the legs of one segment.
For example: Customer wants to go from Boston to Atlanta.
This would be one segment. But the system does not have a direct flight between Boston & Atlanta, so system proposes Boston to New York, and New York to Atlanta. These would be two legs within a segment.
Now if user selects this segment (and hence two legs), the seat availability check would be needed on both the legs of the segment. All this cannot be cached in HTTP session or even in SFSB.
To support both the web customers and the Agents (which can come directly from SWING APP to business tier for performance reasons), I feel this check should be fresh after selection of the flight.
Hope this helps