Le livre est un peu vieux... mais tout de même intéressant.
DOMINIQUE SDévelopper des services REST en Java Échanger des données au format JSON
3 avis
Ce livre présente l'architecture d'un service REST, dans un contexte de développement Java, avec des échanges en JSON. Il s'adresse à des développeurs Java, qui connaissent ou non les applications JEE. Il a pour objectif de devenir une référence permettant au développeur de partir de zéro et d'avoir l'ensemble des outils nécessaires, dans leur dernière version, pour débuter un projet, ou présenter un POC...
Consulter des extraits du livre en ligne
Aperçu de la version papier
- Niveau Confirmé à Expert
- Nombre de pages 312 pages
- Parution juillet 2014
- Niveau Confirmé à Expert
- Parution juillet 2014
Après une présentation théorique nécessaire pour comprendre les normes dont est tirée cette architecture (syntaxe JSON, entêtes, méthodes et codes HTTP), le livre propose un ensemble de tutoriels fonctionnels, avec des versions récentes des API et frameworks suivants : Jersey, Apache CXF, JBoss RESTEasy, Spring Data REST, Restlet et Play Framework. Chaque tutoriel est accompagné d'exemples de cas et du projet complet disponible en téléchargement.
L'auteur décrit les outils utilisés pour tester les services REST ainsi que pour valider la conformité d'un code JSON et traite de la problématique de la sécurité des services fournis ainsi que de l'optimisation, à travers la gestion de caches à différents niveaux (Apache, protocole HTTP, cache applicatif avec REDIS).
Pour aller plus loin que l'étude de cas systématiquement présentée, les API REST réelles de Facebook et Twitter sont décrites, ainsi que les moyens mis à la disposition des développeurs par ces entreprises pour les tester.
Un dernier chapitre est consacré aux erreurs communes, qu'elles soient dues à des librairies oubliées, à un problème de configuration ou de code, à un port indisponible et décrit également deux bugs « officiels » sous Jersey et JBoss RESTEasy et surtout comment les contourner.
Pour les néophytes du développement frontend, un chapitre du livre est consacré à JSON et à son utilisation en JavaScript.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
Les chapitres du livre :
Avant-propos – Terminologie, rappels – Introduction à JSON – Introduction à REST – Production de JSON avec java et REST – Pour aller plus loin – Exceptions communes – Références
Caractéristiques
- Livre (broché) - 17 x 21 cm
- ISBN : 978-2-7460-0901-0
- EAN : 9782746090170
- Ref. ENI : EIREST
Caractéristiques
- HTML
- ISBN : 978-2-7460-0913-0
- EAN : 9782746091320
- Ref. ENI : LNEIREST
Téléchargements
Avant-propos
- Avant-Propos
Terminologie, rappels
- SOA
- ROA
- 1. L’interface uniforme
- 2. L’adressage
- 3. Le sans état
- 4. La connectivité
- ROCA
- 1. Le côté serveur
- 2. Le côté client
- JAXB
- WADL
Introduction à JSON
- Présentation de JSON
- 1. Règles d’écriture
- a. Les clés
- b. Les valeurs
- c. Les couples clé/valeur
- d. L’indentation
- e. Les commentaires
- 1. Règles d’écriture
- 2. Comparaison avec XML
- 1. Le plugin JsonView
- a. Coloration syntaxique
- b. Détection d’erreurs de syntaxe
- 1. JavaScript et l’objet
- 2. La console JavaScript
- a. Sous Mozilla Firefox
- b. Sous Google Chrome
- c. Sous Internet Explorer
- a. JSON.parse
- b. JSON.stringify
- 1. La bibliothèque Jsonic
- a. JSON.encode et json.format
- b. JSON.decode et json.parse
- a. gson.toJson
- b. gson.fromJson
Introduction à REST
- Présentation de REST
- Une programmation stateless ou stateful ?
- REST vs RESTful
- Méthodes HTTP
- 1. OPTIONS
- 2. HEAD et GET
- a. Partial GET
- b. Conditional GET
- 3. POST
- a. Nouvelle ressource sans URL
- b. Nouvelle ressource avec une URL
- c. Pas de nouvelle ressource
- 4. PUT et PATCH
- a. PUT
- b. PATCH
- 5. LINK et UNLINK
- 6. DELETE
- 1. Accept-Charset, Accept-Encoding et Transfer-Encoding
- a. Accept-Charset
- b. Accept-Encoding
- c. Transfer-Encoding
- a. Content-Length
- b. Content-MD5
- a. Accept
- b. Content-Type
- 1. Action sur l’ensemble des ressources d’un type
- 2. Action sur une ressource donnée
- 3. Action sur une ressource liée
- 4. Format de retour
- 1. Codes HTTP d’erreurs
- 1. Sous Mozilla Firefox
- 2. Sous Google Chrome
Production de JSON avec Java et REST
- Du POJO au JSON grâce aux annotations JAX-RS
- 1. Les bases
- a. Choix de la méthode HTTP
- b. Choix du chemin d’appel
- c. Choix du type de retour
- d. Choix du code HTTP de retour
- 1. Les bases
- 2. @PathParam
- 3. @MatrixParam
- 4. @QueryParam
- 5. @FormParam
- 6. @HeaderParam
- 7. @CookieParam
- 1. Jersey
- a. Création d’un projet fonctionnant avec Jersey
- b. Transformation automatique d’un objet en JSON
- c. Les annotations
- d. Implémentation des services GET, POST, PUTet DELETE
- e. Génération du WADL
- a. Création du projet
- b. Création des services REST
- c. Génération du WADL
- d. Génération des JSON
- e. Création d’une annotation pour gérerune nouvelle méthode HTTP
- a. Création du projet
- b. Création du serveur
- c. Exemples
- d. Création des services REST
- e. Génération du WADL
- 1. Authentification
- a. Apache CXF et l’authentification basique
- b. Jersey et l’authentification basique
- c. JBoss RESTEasy et l’authentification basique
- a. Apache CXF
- b. Jersey
- c. JBoss RESTEasy
- a. Apache CXF et Spring Security
- b. Jersey
- c. JBoss RESTEasy
Pour aller plus loin
- D'autres façons d'aborder REST
- 1. java.net.URL
- 2. Apache HttpComponents
- 3. Spring Data REST
- a. Création d’un projet avec Apache Maven
- b. Configuration Java
- c. Création des objets du catalogue REST
- d. Création des services REST
- e. Génération du WADL
- f. Utilisation des services
- 4. Play Framework
- a. Console Play
- b. Création d’une application
- c. Démarrage du serveur
- d. Développement sous Eclipse
- e. Compilation
- f. Débogage
- g. Ajout d’un service REST
- 1. Apache
- a. Activation et désactivation d’un module
- b. Module expires
- c. Modules de cache
- a. Valeurs transmises par le serveur
- b. Valeurs transmises par le client
- c. public, private, cache-extension
- d. max-age, no-cache, no-store, smax-age
- e. max-stale, min-fresh
- f. no-transform
- g. only-if-cached
- h. must-revalidate, proxy-revalidate
- a. Installation et lancement de REDIS
- b. Utilisation de REDIS avec Play
- 1. Facebook
- 2. Twitter
- a. Création d’une application Twitter
- b. Test des requêtes présentéesdans la documentation
- 1. Création d’un projet JEE
- a. Modification du fichier pom.xml
- b. Création du fichier web.xml
- c. Création du fichier applicationContext.xml
- d. Création de la classe ApplicationMusicale
- a. Référencement de l’URL d’appel
- b. Création de la classe du service
- c. Appel du service
Exceptions communes
- Erreurs de bibliothèques et de dépendances
- 1. Erreurs sous Apache CXF
- 2. Erreurs de bibliothèques sous Jersey
- 3. Erreurs de bibliothèques sous JBoss RESTEasy
- Erreurs de configuration et erreurs de code
- 1. Erreurs sous Apache CXF
- 2. Erreurs sous Jersey
- 3. Erreurs sous JBoss RESTEasy
- Bugs reconnus
- 1. Bugs rencontrés sous Jersey
- 2. Bugs rencontrés sous JBoss RESTEasy
- Autres types d'erreurs
- 1. Erreurs de port
Références Web
- Apache
- Apache CXF
- Apache HttpComponents
- Apache Maven
- Apache Tomcat
- CSS
- Cryptographie
- Google Chrome
- Eclipse
- HTTP
- IANA
- Internet Explorer
- Java
- JavaScript
- Jersey
- JBoss
- JBoss RESTEasy
- JSON
- Maven
- Mozilla
- MySQL
- OAuth
- Opera
- Play Framework
- Redis
- REST
- Restlet
- RFC
- ROA
- ROCA
- Safari
- Spring
- WebKit
Le début ne m'a pas encore déçu.
AnonymeUn livre informatique en ligne
AnonymeAurélie SOBRÉRO
Développeur web freelance et spécialiste des technologies Java / JEE depuis de nombreuses années, Aurélie Sobréro a été référente technique chez ViaMichelin et Canal+. Elle est en veille technologique permanente et sait partager ses découvertes comme convaincre ses équipes de ses choix technologiques. Également pédagogue, elle propose un livre particulièrement efficace pour que le lecteur s'approprie les services REST et le format JSON et évolue en compétences.
En savoir plus