From my reading, it is my understanding that server "components" can be "plugged in" to a jabber server three different ways: as a shared object library (loaded), as a separate process communicating locally over STDIO, and as a separate process communicating locally or remotely over TCP. IIRC, a process component that communicates with the jabber server over TCP is more correctly referred to as a "service." Finally, a "service," from the perspective of the jabber server, is simply a client, and as such, a service enjoys the full "presence" services of the Jabber Session Manager (JSM), whereas the "loaded" and STDIO jabber components are not handled by the JSM.
My first question is, is my above understanding accurate? Second, which modes of connecting to the jabber server as a component does the Smack API support today? If Smack does not support all of the above described modes today, which modes does Smack plan to support in the future? Thanks.