I work in the telecom domain. We are designing a
J2EE application which shall run on weblogic server.
At the client tier there will be a JMS queue which will take the incoming requests from an external application. This request will pass to an EJB Interceptor which will validate the request. It will then be passed to the Message driven bean. At the Business Tier , the MDB will call the local interfaces of a stateless session bean where all the business logic resides. The request will be converted into a sequence of commands by the business logic and will be passed to the Integration Tier , where the sequence of commands will be sent to an external system (A physical Network Element in the opeartor's telecom network where certain provisioning needs to be done). The sequence of commands will go to the network element through a socket connection. The external system will respond with a success/failure response which will travel back via a JMS queue to the calling appln
The new application will integrate with multiple such physical network elements where each network element has different IP/credentials and exposes a different interface and hence the sequence of commands varies everytime depending on which n/w element it needs to go to.
I am confused on which J2EE technology to use to implement in the Integration Tier. I have 2 solutions in mind
1) Use the
Java Connector Architecture(JCA) technology. I selected this option because I read on J2EE design
patterns and found that we should ideally use connectors in the integartion tier. But I'm not sure if this is a good or correct option . Moreover have never used this before so am learning it right now and not sure if its complex or simple.
2) Use new stateless Session Beans for every interface with which the application needs to integrate.
Please let me know which one may be a good option or if there is any other better solution.