Tuesday, April 23, 2013

Spring Web MVC and Spring Integration - Types of Applications

Spring MVC and Spring Integration - Types of Applications

here's a quick bit of theory regarding types of applications in regards to Spring Integration and Spring Web MVC.

so, Spring Integration can do a lot of things and has HTTP endpoints which, would appear to be the same sort of thing that Spring Web MVC does, but in XML.  well, not quite.  there's kind of two directions involved in these frameworks;

Spring MVC is HTTP 1st, Service 2nd
Spring Integration is Service 1st (accessed via messages) and HTTP 2nd (along with JMS, XMPP, FTP, TCP/IP, etc.)

if you're building an application that is a service first, and it's access 2nd.  (for example, a record retrieval service or a lookup service), i would go Spring Integration to expose the service via messages.  then, as protocols were required (JMS, HTTP, etc.) you can add endpoints.

if you're building something that is primarily to be served as a website (HTTP), though Spring Integration can do this (it's underlying objects are Spring WebMVC ones), i would go in favor of the Spring WebMVC pattern if only for the wealth of documents and support.

though the Enterprise Integration Pattern has been around a while (10 years October 2013) - it appears to have been only viewed as a backend solution.

Spring Integration is damn useful, but in some cases, a bit of overkill

No comments:

Post a Comment