Announcement Announcement Module
No announcement yet.
Full blown Spring Enterprise app WAS 7 + Ibm Portal 6.1.5 Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Full blown Spring Enterprise app WAS 7 + Ibm Portal 6.1.5

    Hi All,

    I'm quite new to the Ibm portal world and have been tasked to give an old application a breath of fresh air.

    Currently they are using WAS 6.0 and Ibm Portal Server 6.0.
    They implement a remote facade pattern with ejb 2 from the portal to the backend WAS server as those 2 servers reside on different machines.

    The front end is JSF 1.0 and the backend is standard JEE 1.4 with Hibernate.

    I have 3 options in migrating the app to WAS 7.0 and Portal 6.1.5
    (Remember we make use of IBM security, transactions and MQ)

    1. Use IBM supported technologies in WAS 7 (JEE5 - EJB 3, JSF 1.2, JPA 1 or
    directly) and implement a remote facade again with ejb 3 between the
    portal front-end and the WAS backend. (Now we depend on app server
    again for upgrades etc)

    2. Same as above but instead of the remote facade we use WSRP 2.0 for the
    communication between the portal server and the backend. (I'm worried
    that this approach might have some performance issues (web services)
    as our portlet will actually be a full blown web application)

    3. Full blown Spring 3.0 based application (bypassing the JEE specific
    technologies supported by the app server.
    My concern here is how do I communicate between Portal and back-end
    (RMI over IIOP?).
    How do I leverage the IBM security from the portal side through to the
    How do I leverage the IBM distributed transaction management, logging
    etc etc. BAsically hoe does Spring allow me to still slot into the app server
    provided services

    My biggest concern is developing this app with Spring and having support call me every day because I did not use IBM standards.

    I would appreciate ideas and concerns in this regards. Any help with the architecture and technology choices will be much appreciated.

    I really need your help here :-)
    Last edited by jaenswart; May 4th, 2010, 02:11 AM.

  • #2
    Using the services provided by Websphere with Spring is straight-forward. You can find a good explanation on how to do it here: Even if you don't want to use Spring for dependency injection, consider using the JmsTemplate programmatically, as it makes the code much shorter.
    The possible show-stopper I am seeing here, is the remote facade:
    Given your description, a transaction is started inside the portal server and propagated to the back-end. While this might be a performance issue, it saves you from a lot of pain: Unless the complete round-trip succeeds, a rollback makes sure, that there will be no inconsistencies.
    Spring on the other hand doesn't support transaction propagation.
    So it boils down to the following questions:
    • Is the back-end facade still robust enough, when a transaction is started and ended on the back-end server?
    • If not, how much effort will it take to make it robust enough (e.g. idempotency and compensations)
    • Would a meet-in-the-middle-approach also do (EJB for the facade, Spring for everything else)?