A la découverte du Framework Avatar


Le 24 Septembre, Oracle a ouvert les sources de son nouveau Framework Avatar sans faire de bruit. Ce Framework permet de développer des Single Page Applications HTML5. Aujourd'hui, Node.js est le second projet le plus populaire sur GitHub. Les frameworks javascript comme Angularjs deviennent de plus en plus populaire. C'est dans ce contexte que Oracle dévoile son framework pour rentrer dans la course au Javascript. Penchons nous sur celui-ci.

Lire la suite...

Documenting a REST API with Swagger and Spring MVC


REST is now the most common way to expose web services. But how to say to clients how to use a REST API? There's no real standard or at least de facto standard to expose a REST contract. Many API resorts to a human-readable documentation, which is manually edited and thus hard to keep perfectly synchronized with the API. Another way is to create the documentation from the code itself, and this is what this article covers, by using Swagger on top of Spring MVC.

Lire la suite...

Rest with Scala and Vert.x


A previous post introduced some features of using Scala with Vert.x. This post covers how to publish Rest web services in an elegant and simple fashion.

As in the previous post, Examples in Java and Scala are presented, source code been hosted on GitHub as part of lang-scala https://github.com/ouertani/vert.x/tree/master/vertx-lang/vertx-lang-scala

Lire la suite...

Unfiltered - Implémenter des services REST en Scala


La définition de REST trouve toute son essence à travers le protocole HTTP. Pourtant, la plupart des frameworks actuels reposent sur des API Java encore trop éloignées de ce dernier. La spécification de la JAX-RS (Java API for RESTful Web Services) a permis de simplifier la création de services REST au sein des applications JEE, entre autre, via l’utilisation des annotations. Cependant, ces implémentations gardent le plus souvent un accès direct à l’API Servlet rendant ainsi les applications web dépendantes du serveur d’applications sur lequel elles sont déployées.

Unfiltered (http://unfiltered.databinder.net) est un “micro framework” web qui permet ni plus ni moins l’intégration de services REST en Scala. Il est développé en partie par Nathan Hamblen. Unfiltered définit, entre autre, un niveau d’abstraction élevé pour le traitement des requêtes et des réponses, de manière à pouvoir exécuter toutes applications, utilisant la librairie “core”, sur une variété de serveurs, tel que Tomcat ou encore Netty.

La librairie se présente comme une simple couche de transition entre HTTP et Scala. Comme beaucoup d’autres frameworks, elle adopte pleinement certains concepts du langage comme pierre angulaire de son API. Pour cela, elle offre une approche élégante pour router les requêtes HTTP entrantes à travers l’utilisation du pattern matching.

Lire la suite...

REST Web Services testing with Spring MVC


A previous post introduced the basic features of the Spring MVC test framework. This post covers the testing of a REST web controller: by checking the response status, the content type, and the returned JSON document , we'll verify if the controller behaves as expected.

Lire la suite...

Introducing Spring MVC test framework


Spring MVC comes with a very useful test framework, which allows doing in-depth testing without even starting a web container. If you struggle maintaining any application based on Spring MVC, this post will show you the basics of the Spring MVC test framework.

Lire la suite...

HATEOAS paging with Spring MVC and Spring Data JPA


In a previous post, I exposed the principles of HATEOAS and illustrated these principles with an implementation based on Spring MVC and Spring HATEOAS. In this post, I'll go further with the implementation of a paged REST web services that follows the guidelines of HATEOAS. This implementation is based again on Spring MVC and Spring HATEOAS, and uses Spring Data JPA's built-in paging features for the database backend.

Lire la suite...

HATEOAS with Spring MVC REST


REST has been getting momentum for the last few years. Roy Fielding was the first to come up with the term "REST" in the 5th chapter of his thesis. When describing REST, we usually say this style of architecture builds on top of 5 principles: resources, uniform interface, representation, stateless architecture, hypermedia. Today we'll study the hypermedia principle and see how to implement HATEOAS - hypermedia as the engine of application state - with Spring MVC.

Lire la suite...