Ok. I won't say that your question is invalid. But , "When a user is buying air ticket using a website", is much complex process, though seems to be pretty one liner and so can be designed with many different solutions. SLSB or SFSB or combination of them would be one of those. Say if I have signel webservice which will do it all for me then I would just call that service from my web layer and I am done.
Anyways, I go back to your earlier post where you said "I am trying to understand that (it is true that using SLSB is good idea) but when it is good to use SFSB. ".
I think it is all depend on how you defined your transaction of work. Let me try to give you example of where we can use SFSB.
1) User submits details of air ticeket reservation on Web Page alogn with accoutn details. Call goes to EJB ( EJB - A)
2) EJB starts transaction for this request. Now design is such that within same transaction, user will be validated, bank details will be validated, ticket will be confirmed and user will be shown with ticket confirmation details. EJB did first 2 steps of transaction. When it came to verify account details, few more details are needed from use because details provided by user are not sufficient by some reason to validate. For example if User provided 5 digit Zip code and bank needs 5 + 4 combination Zip code, bank serivice will throw this request away saying need more details. I am assuming here that EJB-A calls some third party bank service to validate bank details. Coming back to our situation, now EJB-A will go back to web layer to ask user with a Popup or screen saying, please fill us, Zip Code 5 + 4 combination. Now important to note here is that, EJB-A is continuing same transaction. It is same
thread. If EJB-A is not StateFul then from web layer when user submits 5+4 zip code, how we can make sure that request goes to same transaciton.
So here if EJB-A is SFSB then once use submits correct details again, request will go to same thread/transaction and EJB will complete rest two steps anc complete the ticekt processing.
But I can say, this is only one type of design. Same above I can do with SLSBs also. But I definitely need to modify my design. No arguments on that. It is afterall designers'/developers call how they want to handle this. I have seen many cases whre use of SFSB is totally not allowed. For any development they use SLSBs only. Reasons might be many. Performance. SFSB buy me more profmance overheads than SLSB. Instead of using SFSB, some use Session Databse. It gives you less worry about how if I in between tranaction of SFSB switch to a web layer which is on some other platform at all.
I hope this helps.
Thanks