Basically, the way the Data Adapter communicates with the data feed (in this case, a J2EE app) can be freely chosen by the system integrator (that is, the Data Adapter developer). Usually, JMS is a handy solution for this kind of integration, but anything else could be used; for example: tcp sockets, java spaces, web services, etc.