You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by David Sean Taylor <da...@bluesunrise.com> on 2007/09/04 23:50:38 UTC
Re: 3 tier separation and Jetspeed services
On Aug 27, 2007, at 6:40 AM, sebastien.doyon@bnpparibas.com wrote:
>
> Hi,
>
> I am working in a web project in a company where security is really
> strict.
> Web applications must have a clean 3 tier separation and the
> presentation
> layer accessed by internet users have no direct access to the
> database.
> Accesses to the database must be done by calling remotely the
> application
> layer behind a firewall.
>
> I was investigating how this could be implemented into Jetspeed and my
> first idea was to use Spring Remoting. The simple HttpRemoteInvoker
> would
> be my first choice since it demands no special ports else than HTTP.
>
> My problem is that if I consider proxyfying all Jestpeed services that
> access the database, I think I will get problems with transactional
> propagation. From the Spring configuration files, some of the services
> methods use transactional attribute "PROPAGATION_REQUIRED" witch
> means that
> I can run into an already created transaction (created by an other
> service?).
>
> So, to help me on this task, I am asking you, the Jestpeed gurus,
> if there
> is a right place where transactions starts and ends, something that
> I could
> proxyfy with a remoting proxy. Are there few guidelines that you could
> provide me to achieve this?
>
> With your help, I am willing to implements some or all
> modifications that
> could be necessary and will return the code to the project if you
> consider
> it relevant.
>
> I hope what I want to achieve is clear enough. Thanks for your help.
Were you planning on running the OJB-based Jetspeed services on a 3rd
tier, or writing your own services?
I don't think that HttpRemoteInvoker supports distributed
transactions. You may want to check and let us know
So you would have to somehow implement your own transactions
Take a look at transaction.xml:
<!-- Transaction manager for a single OJB PersistenceBroker
(alternative to JTA) -->
<bean id="transactionManager"
class="org.springframework.orm.ojb.PersistenceBrokerTransactionManager"/
>