O documento discute frameworks web, comparando estilos component-based e action-based. Também aborda o paradigma REST, sua maturidade e como ele pode ser implementado usando Spring MVC com URLs amigáveis para acessar recursos de forma desacoplada.
6. Frameworks WebFrameworks Web
Component Based (MVC Pull) Action Based (MVC Push)
JSF Spring MVC
GWT VRaptor
Wicket Play
Tapestry
ASP.NET MVC
ASP.NET Web Forms Rails
PHP Symfony PHP Zend
PHP YII PHP Cacke
Grails
Mais em: http://informatabrasileiro.blogspot.com.br/2012/10/component-based-ou-action-based.html
7. Action BasedAction Based
+ Fluxo simples.
+ Trabalha com objetos.
+ Suporte a REST.
+ Desacoplamento.
+ Tags HTML no frontend.
+ Design pode atuar no frontend.
+ Podemos usar HTML 5, CSS 3 e outras novidades.
+ Atualização do projeto é menos traumático.
― Qualidade depende muito do programador.
― Ajax nativo (mas JQuery).
11. RestRest
• Paradigma.
• Independe de linguagem.
• Cada Recurso é mapeado para uma URL (endpoint).
• Cada URL deve definir seu método HTTP de acesso.
• Desacopla totalmente o servidor do cliente.
• Utiliza o comportamento Web.
12. Rest - MaturidadeRest - Maturidade
• Richardson Maturity Model (Glória do REST)
• LEVEL 0: Interações remotas via HTTP
• /mainSystem?action=listUsers&order=name
• LEVEL 1: Recursos descritos na URL
• /user?action=list&order=name
• LEVEL 2: Ações definidas por verbos
• [GET] /user/list?order=name
• LEVEL 3: Retorno de link de relações e controles (HATEOAS)
Mais em:
http://blog.perfectapi.com/2012/opinionated-rpc-apis-vs-restful-apis/
http://martinfowler.com/articles/richardsonMaturityModel.html
http://en.wikipedia.org/wiki/HATEOAS