Announcement Announcement Module
Collapse
No announcement yet.
Is Spring enough or App Server needed? Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Is Spring enough or App Server needed?

    Hi,
    I want to make a architecture decison on using Spring with/without App Server.
    Mine is a small EAI application in java which does the following
    - reads messages from a Message Queue
    - calls a webservice
    - sends a reply message back to the Queue.

    All of this can be done using a standalone application or a enterprise application running inside a container.
    My question is will standalone application using Spring helper classes sufficient to handle decent load of messages or an application server like JBoss is needed to provide scalability and performance?

    Thanks,
    Krish

  • #2
    You don't neccessarily have to use JBoss App Server. For MQ you can use ActiveMQ. Unless you plan to create EJBs then you don't need the app server. Even if you need to create a web app then Tomcat is sufficient.

    Comment


    • #3
      I get worried about statements like this.
      My question is will standalone application using Spring helper classes sufficient to handle decent load of messages or an application server like JBoss is needed to provide scalability and performance?
      You don't just get application scalability and performance by using an application server. These things are fundamental application issues regardless of how its deployed.

      Yes you can cluster JBoss but you can also cluster Tomcat.

      Comment


      • #4
        Originally posted by krish_rk View Post
        Hi,
        My question is will standalone application using Spring helper classes sufficient to handle decent load of messages or an application server like JBoss is needed to provide scalability and performance?
        Handling decent load of messages or your application being scalable and performant has nothing to do with using Spring or AppServer. It absolutely depends on your application architecture. Lightweight IoC containers like Spring encourage POJO based application architecture with loosely coupled components that can be deployed on a container as light as Tomcat - this can very well give you a performant architecture. OTOH, if u architect ur application based on EJBs, then you need to go for an EJB container and AppServer. There are ways to have scalable and performant model using this route as well, though the programming model will change.

        HTH.
        - Debasish

        Comment


        • #5
          Thanks for your inputs.

          ***I am using spring for my application, thats for sure.

          My issue is do I have an advantage by running my app on a container or a simple standalone application will do my job?.

          Advantages I would get from AppServer are

          -JNDI built in to configure my Queues
          -Managing Application using JMX etc.
          -If written as MDB(EJB) we need not worry about threading issues as container will handle it, but testing will be complex.

          - Standalone is easy to test and can run it anywhere..but not sure about threading and performance enhancement, maybe do it ourself!

          -In standalone application I need to write extra code for making it handle lots of message, like starting a new thread after receiving a message etc

          -Does Spring provide helper classes to do the connection pooling and other plumbing code for multithreaded JMS application? I have read Spring 2.0 supports Message driven POJO's by implementing MessageListener but not sure about multithreading etc.

          Any suggestions would be helpful

          Thanks,
          krish

          Comment


          • #6
            The best way to assess performance would be to deploy the application in different environments and test it. I'm sure if you search you'll find lots of information about relative performance.

            Spring does have support for pooling and message driven pojos. Again the reference manual has information about this and there are lots of blogs about it.

            Comment

            Working...
            X