Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Développer des services REST en Java - Échanger des données au format JSON

Développer des services REST en Java Échanger des données au format JSON

Informations

Livraison possible dès le 29 avril 2024
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-7460-0901-0
  • EAN : 9782746090170
  • Ref. ENI : EIREST

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-7460-0913-0
  • EAN : 9782746091320
  • Ref. ENI : LNEIREST
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 du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 312 pages
  • Parution juillet 2014
  • Niveau Confirmé à Expert
  • Parution juillet 2014
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 à sa hiérarchie.

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

Téléchargements

Avant-propos
  1. Avant-Propos
Terminologie, rappels
  1. SOA
  2. ROA
    1. 1. L’interface uniforme
    2. 2. L’adressage
    3. 3. Le sans état
    4. 4. La connectivité
  3. ROCA
    1. 1. Le côté serveur
    2. 2. Le côté client
  4. JAXB
  5. WADL
Introduction à JSON
  1. Présentation de JSON
    1. 1. Règles d’écriture
      1. a. Les clés
      2. b. Les valeurs
      3. c. Les couples clé/valeur
      4. d. L’indentation
      5. e. Les commentaires
    2. 2. Comparaison avec XML
  2. Visualisation et validation d'un JSON
    1. 1. Le plugin JsonView
      1. a. Coloration syntaxique
      2. b. Détection d’erreurs de syntaxe
    2. 2. Le site JSONLint
  3. JSON et JavaScript
    1. 1. JavaScript et l’objet
    2. 2. La console JavaScript
      1. a. Sous Mozilla Firefox
      2. b. Sous Google Chrome
      3. c. Sous Internet Explorer
    3. 3. Fonctions JavaScript utiles
      1. a. JSON.parse
      2. b. JSON.stringify
    4. 4. JavaScript : du DOM vers JSON
    5. 5. JavaScript et les erreurs de syntaxe
  4. JSON et Java, production et consommation
    1. 1. La bibliothèque Jsonic
      1. a. JSON.encode et json.format
      2. b. JSON.decode et json.parse
    2. 2. La bibliothèque Google Gson
      1. a. gson.toJson
      2. b. gson.fromJson
Introduction à REST
  1. Présentation de REST
  2. Une programmation stateless ou stateful ?
  3. REST vs RESTful
  4. Méthodes HTTP
    1. 1. OPTIONS
    2. 2. HEAD et GET
      1. a. Partial GET
      2. b. Conditional GET
    3. 3. POST
      1. a. Nouvelle ressource sans URL
      2. b. Nouvelle ressource avec une URL
      3. c. Pas de nouvelle ressource
    4. 4. PUT et PATCH
      1. a. PUT
      2. b. PATCH
    5. 5. LINK et UNLINK
    6. 6. DELETE
  5. En-têtes HTTP
    1. 1. Accept-Charset, Accept-Encoding et Transfer-Encoding
      1. a. Accept-Charset
      2. b. Accept-Encoding
      3. c. Transfer-Encoding
    2. 2. Accept-Language et Content-Language
    3. 3. Age
    4. 4. Allow
    5. 5. Authorization
    6. 6. Content-Length et Content-MD5
      1. a. Content-Length
      2. b. Content-MD5
    7. 7. Content-Location
    8. 8. Accept et Content-Type
      1. a. Accept
      2. b. Content-Type
    9. 9. Etag
    10. 10. If-Match et If-None-Match
    11. 11. If-Modified-Since et If-Unmodified-Since
    12. 12. Content-Range, If-Range et Range
  6. Formats de sortie et leurs types MIME
  7. Format des URL, URL logiques et physiques
  8. Liens vers les ressources
    1. 1. Action sur l’ensemble des ressources d’un type
    2. 2. Action sur une ressource donnée
    3. 3. Action sur une ressource liée
    4. 4. Format de retour
  9. Gestion des exceptions
    1. 1. Codes HTTP d’erreurs
  10. Test d'une requête REST
    1. 1. Sous Mozilla Firefox
    2. 2. Sous Google Chrome
Production de JSON avec Java et REST
  1. Du POJO au JSON grâce aux annotations JAX-RS
    1. 1. Les bases
      1. a. Choix de la méthode HTTP
      2. b. Choix du chemin d’appel
      3. c. Choix du type de retour
      4. d. Choix du code HTTP de retour
    2. 2. @PathParam
    3. 3. @MatrixParam
    4. 4. @QueryParam
    5. 5. @FormParam
    6. 6. @HeaderParam
    7. 7. @CookieParam
  2. Implémentations de JAX-RS
    1. 1. Jersey
      1. a. Création d’un projet fonctionnant avec Jersey
      2. b. Transformation automatique d’un objet en JSON
      3. c. Les annotations
      4. d. Implémentation des services GET, POST, PUTet DELETE
      5. e. Génération du WADL
    2. 2. Apache CXF
      1. a. Création du projet
      2. b. Création des services REST
      3. c. Génération du WADL
      4. d. Génération des JSON
      5. e. Création d’une annotation pour gérerune nouvelle méthode HTTP
    3. 3. JBoss RESTEasy
      1. a. Création du projet
      2. b. Création du serveur
      3. c. Exemples
      4. d. Création des services REST
      5. e. Génération du WADL
  3. Classes concrètes et interfaces
  4. Sécurité avec JAX-RS
    1. 1. Authentification
      1. a. Apache CXF et l’authentification basique
      2. b. Jersey et l’authentification basique
      3. c. JBoss RESTEasy et l’authentification basique
    2. 2. Client Java
      1. a. Apache CXF
      2. b. Jersey
      3. c. JBoss RESTEasy
    3. 3. Autorisations
      1. a. Apache CXF et Spring Security
      2. b. Jersey
      3. c. JBoss RESTEasy
Pour aller plus loin
  1. D'autres façons d'aborder REST
    1. 1. java.net.URL
    2. 2. Apache HttpComponents
    3. 3. Spring Data REST
      1. a. Création d’un projet avec Apache Maven
      2. b. Configuration Java
      3. c. Création des objets du catalogue REST
      4. d. Création des services REST
      5. e. Génération du WADL
      6. f. Utilisation des services
    4. 4. Play Framework
      1. a. Console Play
      2. b. Création d’une application
      3. c. Démarrage du serveur
      4. d. Développement sous Eclipse
      5. e. Compilation
      6. f. Débogage
      7. g. Ajout d’un service REST
  2. Mise en cache
    1. 1. Apache
      1. a. Activation et désactivation d’un module
      2. b. Module expires
      3. c. Modules de cache
    2. 2. Les en-têtes HTTP
      1. a. Valeurs transmises par le serveur
      2. b. Valeurs transmises par le client
      3. c. public, private, cache-extension
      4. d. max-age, no-cache, no-store, smax-age
      5. e. max-stale, min-fresh
      6. f. no-transform
      7. g. only-if-cached
      8. h. must-revalidate, proxy-revalidate
    3. 3. Java
      1. a. Installation et lancement de REDIS
      2. b. Utilisation de REDIS avec Play
  3. Exemples d'API REST
    1. 1. Facebook
    2. 2. Twitter
      1. a. Création d’une application Twitter
      2. b. Test des requêtes présentéesdans la documentation
  4. Restlet
    1. 1. Création d’un projet JEE
      1. a. Modification du fichier pom.xml
      2. b. Création du fichier web.xml
      3. c. Création du fichier applicationContext.xml
      4. d. Création de la classe ApplicationMusicale
    2. 2. Création d’un service
      1. a. Référencement de l’URL d’appel
      2. b. Création de la classe du service
      3. c. Appel du service
    3. 3. Création d’un client
  5. HATEOAS
Exceptions communes
  1. Erreurs de bibliothèques et de dépendances
    1. 1. Erreurs sous Apache CXF
    2. 2. Erreurs de bibliothèques sous Jersey
    3. 3. Erreurs de bibliothèques sous JBoss RESTEasy
  2. Erreurs de configuration et erreurs de code
    1. 1. Erreurs sous Apache CXF
    2. 2. Erreurs sous Jersey
    3. 3. Erreurs sous JBoss RESTEasy
  3. Bugs reconnus
    1. 1. Bugs rencontrés sous Jersey
    2. 2. Bugs rencontrés sous JBoss RESTEasy
  4. Autres types d'erreurs
    1. 1. Erreurs de port
Références Web
  1. Apache
  2. Apache CXF
  3. Apache HttpComponents
  4. Apache Maven
  5. Apache Tomcat
  6. CSS
  7. Cryptographie
  8. Google Chrome
  9. Eclipse
  10. Facebook
  11. HTTP
  12. IANA
  13. Internet Explorer
  14. Java
  15. JavaScript
  16. Jersey
  17. JBoss
  18. JBoss RESTEasy
  19. JSON
  20. Maven
  21. Mozilla
  22. MySQL
  23. OAuth
  24. Opera
  25. Play Framework
  26. Redis
  27. REST
  28. Restlet
  29. RFC
  30. ROA
  31. ROCA
  32. Safari
  33. Spring
  34. Twitter
  35. WebKit
Auteur : Aurélie SOBRÉRO

Auré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

Nos nouveautés

voir plus