When i began to work on the assignment, i saw that there're many opportunities to use caching, performances will be really increased, i was facing many alternatives:
-caching search results with a value list handler and stateful strategy,(for paging) but it seemed to me that there's no need for this, the number of displayed flights for a given itinerary at a fixed date and time isn'nt really high
-caching a flight schedule with a VLS and singleton POJO strategy (loaded at server startup). Acess to this cache is multi-threaded
-caching all possible served routes and related flights between two cities , avoidind the overhead to execute the search algorithm at each search request(for complex routes), i'll use the same strategy as above. ( a "Connection Builder" may also run at fixed time to update the cache)
Few days before uploading, i left all these scenarios, i take the "keep it simple" way.
For your first question, your class diagram should be built upon business entities only. Show your caching mechanism in the components diagram with explainations in your text
[ August 12, 2005: Message edited by: Albert Maurucier ]