I'd have to agree with that approach, but I'd also try to explain a bit more about why.
Traditional web frameworks try to do too much emulating classic MVC/MVP and ends up not doing a very good job at all, adding countless abstraction layers like life-cycle management, session management, templating, expression language etc. Some later hybrids like GWT tries to unify the experience further, by pushing state and business logic out on the client. However, cross-compiling and shielding the developer further only gets you so far - eventually you end up acknowledging the undeniable truth, that the web consists of a server delivering content to a client which is then rendered via HTML/CSS and JavaScript! By writing your application backend as a stateless REST service, and hooking some arbitrary application layer on top of these, you've set yourself up for success down the line. The backend need only consist of glorified servlets, that can be replaced by any other HTTP technology if/when desired (I.e. Jersey/JAX-RS replaced by node.js). By being stateless, it can scale horizontally rather than vertically. By having a clear responsibility (serving up data) it can be configured as per an aspect fashion with various filters in front (caching, compression, security, conversion, auditing, logging etc.). By being detached from the frontend, it can be reused by other frontends or even as a B2B gateway (I.e. Mobile JQuery for smartphones, native smartphone frontends etc.). Hell, it can even form the basis of a unified data engine complete with query language and AST optimizer for extracting and transforming data from the underlying resources (I.e. the OData protocol) without some clunky ORM. Jersey + JQuery (Mobile) is hard to beat in regard to maintainability, flexibility and performance. Keep it simple, use Java where it makes sense, but don't aim for the world to be completely wrapped in Java as is the traditional conservative pseudo-religious view of many. :) /Casper On Sunday, September 9, 2012 1:31:29 AM UTC+2, clay wrote: > > The other option that I would consider is Java web services using > something like Jersey tied to a HTML+JS front-end using JavaScript > frameworks like ext-js or google-closure without a server-side html > generation framework. I've been working on a lot of those applications and > I find it fits a lot of applications very well. > -- You received this message because you are subscribed to the Google Groups "Java Posse" group. To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/xZ4pcApi9ncJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
