whenever consider "who" to integrate a none EJB Container friendly e.g a TCP-java.net based or java.io/java.nio base service there are several choices for integration.
What is the recommened whay in your opinion? Beside all Webservice hype I would like to see something which is less resource consuming.
What whould you choose?
Here some braining storming:
JMS - asynchronous behavior is nice but also a bit complex to intergrate as you cannot provide a simple API for other J2EE developers
JCA - a connector offers an hook for sharing set of informations with a JDBC like behavior. You have to provide support transactional support by using JTS. As far as I know you don't have the ability for writing initalization processdures. It does not seem to be build for plug-in a lower leveled service.
JMX - MBeans are not prohibited to open Sockets or Files. The also offer initalization and the MBeanServer acts like a registry which is a provides a ligthweight "plugin"-architecure.
Servlets - Response-Request style on to of a well defined protocol like HTTP. Normally used as base of webservice. I guess its better to use a well defined protocol like SOAP is better as using Servlets a golden hammer to for integration.
My suggestion: Build such a service on top of MBean in order to integrate it nicely into a J2EE Container. This has some micokernel like taste. If you need to provide a API inside the Application Server provide either a Weberserivce or a CORBA interface, if asynchronous behavior is necessary use Topics or Queues and JMS.
What do you think about this? Any advice, comments, criticism?