Question

We have following modularized structure in our project,

EAR
|
|--- Web Module
|--- ConnectorFacade
|--- Connectors
|--- utility module
|--- BPEL module

there are other modules also for understanding problem i have mentioned few modules.

Currently any simple change happen in any one of the above mentioned module we need do the whole deployment on WebSphere application server since we have been archiving all modules in single EAR.

I wanted EAR should be separated from dependent module means apart from web module other modules should be outside EAR so that whenever any change happen in connector or any other module module i will just update connector jar and restart the App server it should pick new classes so that it will avoid my deployment process and i can ready with new changes in minimum time.

Let me know is there good solution to manage dependent jars.

Was it helpful?

Solution

As mentioned by 'fnt' OSGI could be a solution for your issue.

What you could also do is, using remote EJBs.

Your remote service in a separately deployed jar

    @Stateless
    @Remote(MyRemoteInterface.class)
    public class MyService implements MyRemoteService {
      // Some implementations
    }

Shared api

    interface MyRemoteService {

    }

In some Module in your EAR

    @Stateless
    public class MyBoundary {
      @EJB
      MyRemoteService service;

      // Stuff
    }

For further information see here

OTHER TIPS

The ultimate solution for Websphere Application Server is to use OSGi Applications.

Working with OSGi Applications (WAS 7.0)

About OSGi Applications (WAS 8.0)

You can use shared libraries, but it's the dirty way to do it. The other mode will be OSGI, but you should tweak all your logic, and it's a seperate mindset.

I don't see what will be the real benefits from isolating the build of your modules as long as you configure well your build tool, it will be matter of seconds.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top