4 Replies Latest reply on Mar 1, 2007 2:58 AM by dkrleza

    Is an application server the right tool?

    ailes

      I'm new to the world of JBoss and application servers and I'm trying to determine whether this type of software is a good match for my needs.

      Any feedback would be greatly appreciated.

      I'm looking for an environment that can host user-defined services and provide common support functionality like control, logging, communications, persistence, etc. I know that JBoss provides this.

      The question I don't have an answer for, however, is whether application servers are good tools for applications that are not web-based. The system I'm working on provides services to a large farm of machines. These services include job scheduling, machine communications and management, persistence of job results to a database (e.g. through Hibernate), etc.

      This model seems quite a bit different that the typical JBoss usage scenarios I've seen thus far. The services in my system are often long-running and maintain state, for example, and typically run constantly in the background instead of on-demand in response to user requests.

      So, is the application server concept appropriate in this case? Is there any good info available on the web that looks at the problem from this angle.

      Thanks!

        • 1. Re: Is an application server the right tool?
          dkrleza

          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?

          • 2. Re: Is an application server the right tool?
            ailes

            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.

            • 3. Re: Is an application server the right tool?
              genman


              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.

              • 4. Re: Is an application server the right tool?
                dkrleza

                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.