This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Hi, I am considering of saving only paid itineraries. Reason: a)Since 'Change itineray' specifies of returning list of itineraries, So atleast make sense of getting from cart. b) Don't wanted to get into clean up flows if persisted unpaid itineries
So my cart has itineraries created by customer/travel agent during the session
Question 1: The use case flow is continues like prepare tineray and ends up in paying.
So just concerned can we make assumptions the user will add itineraries to cart and then do payment.
So steps 1 - 7 in prepare itinerary use case will be repeated.
Your approach is correct, for confirmation you can try any shopping site. Steps included are.
1. Browse product / view itineray 2. Choose product / itineray 3. Add product / itineray to the cart. 4. Repeate steps 1 to 3 for each product 5. Review the cart 6. Check out / pay 7. Persist data once payment is through
Right way to implement this would be to persist data to DB only after checkout. That means payment has to be accepted and then only we can persist. Best way to do this would be to use SFSB(Stateful session bean) to store the shopping cart values and use SLSB(Sateless session bean) for payment service. Entity bean (CMP if data is straight forward) for persistence.
Couple of points to note in this approach: ------------------------------------------- A. If because of some reason user is diconnected before he/she checks out all the data in the shopping cart is lost [That is shopping cart SFSB should be destroyed / timed out]
B. If user payment validation fails or it takes more time than the instance response we expect then we should persist the data in some temp DB till we get response.
Browse product/view itinerary The assigment specifies that the customer will create itinerary from the flights listed based on the search. There is no where it is specified the customer will create itineraries(Repeating the step of creating itinerary). The places for this assumption would be because of the 1) change itinerary use case where is specifies 'List of itineraries'. 2) For paying thru mileage points, customer selects existing itinerary
As per ur assumption I am also consdiering of saving only paid itinerary.
But still stuck up with the option where the steps of searching for flights, create itinerary will be repeated to have a list of itinerary in SFSB.