Goan Balchao

Ranch Hand
+ Follow
since Mar 25, 2002
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Goan Balchao

Hi Laxmi,
No doubt that the model should hold good - you will mention your thought process/ assumptions anway. How do you explain the email for the failed transaction, if the transaction fails ?

I'd say tis book

Expert One on One J2EE development by Rod Johnson
is a must read.

Gives you all the deatils that you need to consider. Maybe not applicable for the exam completely.. but definitely gives you a much better perspective
Hi Koen,
I agree with you that the credit card authorization system is synchronous. No questions there.
But there is nothing mentioned at all about the debiting.. that is in fact your assumption i.e you have made the assumption for that scenario. The requirement only is for authorization.
For example take Netflix - if you get a free trial membership for a month, you still have to supply the credit card number. Netflix will ensure your credi card is valid but will not debit your card right ? So INMHO these are two distinct operations
a) Authorize that your credit card is valid
b) Debit the card for the payment

If you assume a synchronous model for the payment, as you have assumed[ that the authorization goes with the debit], then I agree with your assessment. But in this case, how do you explain for the fact that if the authorization fails, the customer will ne notified by email seperately ? If the authorization fails.. he should get notified immediately isn't it - by virtue of being synchronous.

If you assume a asynchronous model [only for the aplications payment handling] for example, I would assume that when the credit card is supplied, the system talks to the gateway and verifies that the card is accurate and also whether the card limit caters to the amount specified. Shows the itinerary to the customer saying that this is temporary till the payment is made. At night or whenever, a batch job runs submitting the payment information. If the transaction succeds (debiting), the itinerary is confirmed, a mail sent and order to the ticketing system. If the transaction fails (debiting), the itinerary is saved , a mail is sent to the customer informing the customer that the transaction failed and maybe asking him to login withn 24 hours to supply an alternative payment form. If that dosen;t happen the seats are made available again.
This scenario accounts for the emails.

I can't see how the synchronous model will account for the emails .. unless the emails are just an after thought. I mean have you encountered a system (synchronous) that sends you an email for a failed transaction ? It would be handled online isn't it ? I would understand an email confirming your itinerary - not for a failed transaction. Any comments ?
"So, i went ahead using a stateless session bean assuming that there is a system for authorizing credit cards and authorizing the bookings. I'm assuming that, if the seats are available in a flight, and if credit card validation is through, then strait away seats are blocked for that person. No special authorization is required for this. What do you think about my approach. Any loop holes in that? "

.. that still dosen't the answer the question of needing an asynchronous model does it ? Seems like you are using a synchronous model. If you are going to block the seats straight away .. then the customer knows it straight away too.. what then is the need to send the customer a mail at a later time for confirmation ABOUT THE AUTHORIZATION ?
Of course you could send him a mail about the confirmed itinerary.. but in the secnario for example.. if the authorization fails.. what is the logical decision for the system to send the customer a mail that AUTHORIZATION failed unless the AUTHORIZATION (VERIFICATON) is deferred to a later stage ?

I already knew what a screen scraper does .. the question was which choice would one use ? a or b and maybe why
If Swing - Scraper - Legacy(app).. then the Scraper logic needs to get replicated right ? What would be the pros and cons of that.. that is what I was getting at..

Anyway, just on a seperate note.. I am a bit dissapointed at this forum. I have been members of other forums too and the results were helpful, of course. I do realize that many people here are also on a learning curve..but I thought the questions would elicit some discussion at least.
Seems like either the really simple questions get answered.. or some of the contentious ones get dragged on and on. Any real helpful question on the assignment gets sidetracked with .. hey that's your design decision. Yes it is my decision .. put I do neeed to know the pros and cons of my decision as well as any alternatives.. if not.. what's the point of it anyway.

Sorry for the rant.. most probably will be my last post anyway.. can't seem to get too much information for my queries anyway.. (maybe I am asking the wrong Q's.. who knows)
Question on screen scraping -

Scenario : Existing Legacy with a web interface application in place that should be reused. Assume that a screen scraping solution is to be employed to interface the legacy app.

The presumption that the application has a web interface and that a screen scraping solution is to employed dictates that the screen scraper be placed in the web tier does it not ?
So if the screen scraper is to be accessed by lets say a Swing application, what would you do ?
a) Swing - Servlet - Adapter - Screen Scraper(Web tier) - Legacy App
Web - Screen Scrapper(Web tier) - Legacy App
b) Swing - Screen Scraper (in Swing app) - Legacy App
Web - Screen Scraper (in web tier) - Legacy App

a) would mean performing one extra round of Java - HTML conversion
b) would mean replcating the logic in two different place

What would you suggest ?

There may have been some talk about this before .. but here goes

Scenario : A user enters credit card information. System contacts the payment gateway , waits for authorization and sends confirmation to the user in case of success or failure !

This then implies that as soon as the user enters the credit card info, the system should give him a itinerray (temporary) confirmation subject to the authorization of course. The user can then go on his merry way.. does not have to block.

This suggests the use of an asynchronous processing model for the confirmation dosen't it ? Dosen't the fact that the system sends a confirmation mail even in the case of a failure imply a asynchronous model?

I highly recommend the book. I finished it end to end before even starting out on the assignment. Although it has no real significance from the assignment point of view.. it gives you an idea of the problems involved in designing enterprise level systems.
That's a very valid assumption to make - the instances when you would need SSL. The PrepareItinerary is a very vague and confusing use case especially the pricing part. I have made several assumptions in this regard.
I have a UML quetion about the class diagrams. Let's say i have class B implement interace A.
a) Where do I show the methods ?
For e.g using Jude, I cannot show them on the interface. The interace is just a circle with a name. Can it be on the class itslef , keeping the initerace a dummy ?
b) How about the exceptions thrown from the service calls... e.g CreateException when creating User. I think the exceptions are an integral part of the interface and we should declare them in the Class diagram .. Do u agree ?
Agaiin inn JUDE, I cannot declare any exceptions in my class diagram [on the classes]

P.S This leads me to believe that JUDE may not cut it for the assignment after all.
What I would do is to hide the implemntation[connetion] behnd a generic interface. How to connect to th external system should be a moot point - assume some sort of an adapter in between.
The data required [synchronous processing] is only yes or no as mentioned previously in some thread here.. so if u assume mutual authentication between servers, I guess all you would need to show is the innterface and the implementing class thta can be swaapped out as necessary.
That's what I would have thought too.. thanks for the clarification.
Maybe I can paraphrase the original question :-

What is the difference between a user logged in (User logs in) and user is a member (User has a profile) ?

I can't understand why they are treated seperately .. I think they should be analogous. What would you do differently for a customer to have a profile ?

Right now according to the use cases, I can envision the following scenarions
a) The customer is not logged in, The customer is not a member
b) The Customer is logged in, The Customer is not a member
c) The Customer is logged in, The Customer is a member
and for the use cases, it's c) that's applicable.

But what I was trying to determine is why a customer that is logged in will not be a member ? Am I missing something blatant here ? Can some one shed some light ... pleasssssssssseeeeeeeeeeeeeeeee

Mark, forgive my confusion.. but are you agreeing with me about the discreprancy about the member and profile [Customer logged in and Customer has profile] or are you saying that there is no discreprancy ?
No comments for this ?