Let me ask you few questions, just to see if I understood your problem correctly:
This farm of machines... you are talking about manufacturing machines? What kind of machines?
What for client software do you use for controlling those machines? Can you additionaly programm them? Which language/technology you use for this purpose?
Sorry I wasn't clear.
This is a farm of PCs that run various operating systems. Each PC is called a worker. The workers perform generic computational work for us. The architecture is actually 3 tiers, however. The servers that control the farm actually talk to a small number of manager machines and these machine in turn talk to the workers. This is done for scalability reasons.
The managers run java clients that are currently just plain java apps, i.e. no managed environment. The manager code is all created/controlled by us.
Right now we have much of the business logic and design done for both the managers and the services that ultimately control the managers and run the system. The question is whether these centralized services should also run in a simple home-grown container or whether we can host them in an application server to take advantage of the features it provides.
I have written some fairly important applications that ran on JBoss that were not web based, although having a web component made things easier to manage remotely.
Unlike Weblogic (which is EJB/Servlet-centric), JBoss is really "service" centric. Following the model of the JBoss server itself, you can create .sar files (which like .war) encapsulate a set of services and their support libraries, and with the -service.xml file you install the services as JMX Mbeans which can be easily managed.
Oh, I believe that app.server IS THE RIGHT TOOL for doing that. Use EJB's to incapsulate your business logic. You can allways use RMI/IIOP to create EJB's and access their methods. For that purpose, you don't need to have presentation layer, only EJB modules packaged inside enterprise application.