Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Each focuses on a different application domain. Mule is as service bus, Glassfish an application container. As you've noticed, like many tools these are interchangeable to some extent, but each has different strenghts.</p> <p>Mule promotes a <a href="http://en.wikipedia.org/wiki/Service-oriented_architecture" rel="nofollow">service-oriented-architecture</a> view. It connects services with each other through configuration. In this it is like a <a href="http://en.wikipedia.org/wiki/Message-oriented_middleware" rel="nofollow">messaging infrastructure</a> like for example JMS, Apache Camel, etc. In the place of enterprise beans it provides for 'Components' which glue the services together. But ideally these are stateless and lightweight. The event-driven architecture tries to implement an efficient solution offering e.g. asynchronous messaging, non-blocking IO and messaging guarantees. </p> <p>While it is possible to build a whole application inside the ESB the result is more like a <a href="http://www.youtube.com/watch?v=qybUFnY7Y8w" rel="nofollow">Rube Goldberg machine</a>. </p> <p>Glassfish promotes an <a href="http://en.wikipedia.org/wiki/Multitier_architecture" rel="nofollow">n-tier application</a> view. It's technology addresses each layer of the standard <a href="http://java.sun.com/blueprints/patterns/MVC-detailed.html" rel="nofollow">model-view-controller paradigm</a> and many more. It supports very abstract applications, but while it provides <a href="http://mq.java.net/" rel="nofollow">adapters</a> for services and messaging, it is either an external standalone service or decoupled (through RMI or IIOP). The design focuses on robustness and security over performance and allows the container to make guarantees for security and reliability on behalf of the components.</p> <p>You don't have control over the internal messaging between the enterprise beans, e.g. you can't re-route the requests, switch to calling beans asynchronously or make performance guarantees. </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload