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.
Can someone please explain me if my system is accessing a web service and I have created a session bean as a proxy for web service, should proxy ( stateless session bean) be shown on Intergration Tier or Business tier on component diagram.
It should be in Integration tier.
By Integration tier, i have an understanding as , this is the boundary of SuD. so any component (in your case, it is SLSB proxy) which talks to some external interface, should be part of Integration tier. Any component, which is calling this proxy (SLSB) should be part of business tier.
SCJP, SCWCD, SCEA
Joined: Mar 02, 2010
Thanks a lot for letting me know, it really helped, i had been reading documents and getting confused.
So that also means if I have DAO object implemented as SSB then it should also go in Intergeration tier?
I thought all the SSB should be in busines layer.
I have just started to prep for part-1 of the exam. Here are few inputs from me based off reference from SCEA book by Cade/Sheil
Integration tier services abstract and provide access to external resources.
Drivers and APIs that you use to access this external systems will be considered as part of this tier. If you develop some API whose sole purpose is to provide access to external system, then it can be considered as part of this tier. If your SSB is a generic API that you have developed that can be used to invoke any web service then you may consider it as part of integration tier.
Business tier services execute business logic and manage transactions.
SSB does provides ability to manage transactions. Further more if SSB API is specific web service related to your SuD, I would consider it as part of business tier.
Proxy is used to control the access to original object. Adapter is used to provide interface known to the client of an object whose interface is not known to the client. Hence I would consider your SSB to be an adapter instead of proxy as it adapts web service interface to EJB based interface.