• Aide
  • Eurêkoi Eurêkoi

Livre

Quarkus : développer des applications microservices en Java pour le cloud et Kubernetes

Résumé

Un guide d'utilisation du framework Quarkus pour écrire des applications prêtes à être déployées dans le cloud et Kubernetes. Il présente ses fonctionnalités de base, telles que la configuration, les logs ou l'injection de dépendances, et ses principales extensions, notamment RESTEasy, les clients REST, Hibernate OCM with Panache et MongoDB with Panache.


  • Éditeur(s)
  • Date
    • C 2023
  • Notes
    • La couv. porte en plus : "En téléchargement : code source" ; "Version en ligne offerte ! pendant 1 an" ; "Informatique technique"
    • La 4e de couv. indique : "Sur www.editions-eni.fr : le code source des exemples du livre"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (339 p.) : ill. ; 21 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-04080-1
  • Indice
  • Quatrième de couverture
    • Quarkus

      Développer des applications microservices en Java pour le cloud et Kubernetes

      Que vous soyez développeur ou architecte, ce livre a pour objectif de vous faire découvrir Quarkus, le framework de développement d'applications microservices en Java pour le cloud et Kubernetes. Il vous explique comment tirer parti de ses nombreuses fonctionnalités et extensions pour concevoir des applications prêtes à être déployées dans le cloud ou Kubernetes.

      Tout au long de ce livre, vous serez guidé dans l'utilisation du framework et de son outillage avec de nombreux exemples concrets dans le but de devenir autonome dans le développement d'applications avec Quarkus.

      Après avoir étudié les fonctionnalités de base du framework telles que la configuration, les logs ou l'injection de dépendances, vous découvrirez les principales extensions de Quarkus notamment RESTEasy pour le développement de services web RESTFull, le client REST pour accéder à un service distant, ou encore Hibernate ORM with Panache et MongoDB with Panache pour l'accès aux données.

      Ce livre vous permettra également une étude en profondeur de Quarkus pour le développement d'applications réactives, l'utilisation des fonctionnalités cloud ready et cloud natives, le support de Docker et de Kubernetes et le déploiement des applications vers les trois grands fournisseurs cloud que sont Amazon Web Services, Google Cloud Platform et Microsoft Azure.

      Pour finir, vous découvrez comment créer votre propre extension Quarkus.

      Les exemples de ce livre sont disponibles en téléchargement sur le site www.editions-eni.fr.


  • Tables des matières
      • Quarkus

      • Développer des applications microservices en Java pour le cloud et Kubernetes

      • Édition Eni

      • Chapitre 1
      • Avant-propos
      • 1. Objectifs du livre9
      • 2. Public visé10
      • 3. Prérequis10
      • 4. Choix pédagogiques10
      • Chapitre 2
      • Quarkus : carte d'identité
      • 1. Qu'est-ce que Quarkus ?13
      • 2. Les piliers de Quarkus15
      • 2.1 Developer Joy15
      • 2.2 Pensé pour les conteneurs et Kubernetes16
      • 2.3 Librairies reconnues et standards17
      • 2.4 Unification des styles de développement impératif et réactif19
      • 3. La philosophie de Quarkus21
      • 4. Le temps de démarrage et l'empreinte mémoire22
      • 5. Le support de GraalVM23
      • Chapitre 3
      • Introduction à Cloud Ready et Cloud Native
      • 1. Cloud Ready25
      • 2. Applications prévues pour les conteneurs27
      • 3. Cloud Native29
      • Chapitre 4
      • Développement d'applications avec Quarkus
      • 1. Création d'un projet avec la ligne de commande, code.quarkus.io ou un IDE31
      • 2. Anatomie d'un projet Quarkus36
      • 3. Bases : configuration, logs, injection de dépendances et tests40
      • 3.1 La configuration40
      • 3.2 Les logs44
      • 3.3 L'injection de dépendances45
      • 3.4 Les tests50
      • 4. Developer Joy : dev mode, dev UI, continuous testing, dev services54
      • 4.1 Le dev mode54
      • 4.2 La dev UI56
      • 4.3 Le continuous testing57
      • 4.4 Les dev services58
      • 5. Webservice REST avec JAX-RS60
      • 5.1 Les extensions HTTP60
      • 5.2 Le développement d'un endpoint REST avec JAX-RS61
      • 5.3 Le support de JSON66
      • 5.4 L'implémentation des tests de son endpoint REST via JUnit67
      • 5.5 Le démarrage et le test de l'application en local70
      • 5.6 La gestion des exceptions72
      • 5.7 Les annotations spécifiques RESTEasy Reactive73
      • 5.8 Le contexte et le filtre73
      • 6. Documentation d'API avec OpenAPI75
      • 7. Appel d'un autre service web avec le client REST79
      • 8. Fonctionnalités HTTP84
      • 8.1 Servir du contenu statique84
      • 8.2 CORS - Cross-Origin Resource Sharing85
      • 8.3 La configuration HTTP87
      • 8.4 La sécurisation des connexions avec SSL88
      • 9. Sécurité : authentification et habilitation89
      • 9.1 L'authentification via fichier de configuration90
      • 9.2 L'habilitation via annotations91
      • 9.3 L'habilitation via fichier de configuration93
      • 9.4 Le test d'un endpoint sécurisé94
      • 10. Applications ligne de commande96
      • Chapitre 5
      • L'accès aux bases de données
      • 1. Datasource et transaction99
      • 1.1 Datasource et driver JDBC99
      • 1.2 Gestion des transactions101
      • 2. Gestion de migration de base de données104
      • 2.1 Gestion de schéma avec Liquibase104
      • 2.2 Migration de base de données avec Flyway105
      • 3. Hibernate ORM106
      • 4. Gestion du cache113
      • 5. Bean validation115
      • 6. NoSQL avec MongoDB118
      • Chapitre 6
      • Développement d'applications réactives
      • 1. Architecture réactive et application réactive125
      • 2. Vert.x : le cour réactif de Quarkus126
      • 3. Mutiny130
      • 4. Webservice REST réactif avec RESTEasy Reactive132
      • 5. Base de données réactive avec Hibernate Reactive134
      • 5.1 Reactive SQL Clients134
      • 5.2 Hibernate Reactive with Panache136
      • 5.3 Support des transactions réactives139
      • 6. NoSQL réactif avec MongoDB140
      • 7. REST client réactif142
      • 8. Reactive Routes144
      • 9. Messaging réactif avec Apache Kafka148
      • 9.1 Recevoir des messages150
      • 9.2 Envoyer des messages151
      • 9.3 Traiter des messages154
      • 9.4 Configurer les canaux154
      • 9.5 Tester156
      • Chapitre 7
      • Cloud Ready
      • 1. Test de santé159
      • 2. Métrologie162
      • 3. Open Tracing et Open Telemetry165
      • 4. Tolérance à la panne169
      • 4.1 Rejeux171
      • 4.2 Temps d'attente172
      • 4.3 Circuit breaker173
      • 4.4 Fallback175
      • 4.5 Configuration176
      • 5. Service discovery et load balancing client177
      • 5.1 Service discovery avec Stork178
      • 5.2 Load balancing client avec Stork181
      • Chapitre 8
      • Compilation d'images natives avec GraalVM
      • 1. Le projet GraalVM183
      • 2. La compilation native185
      • 3. Les pièges et comment les contourner grâce à Quarkus187
      • 3.1 L'initialisation de classe au runtime189
      • 3.2 L'inclusion des ressources190
      • 3.3 Le support de la réflexion190
      • 4. Tester une image native191
      • 5. Monitorer et déboguer une image native192
      • 5.1 Génération d'un thread dump193
      • 5.2 Génération d'un heap dump193
      • 5.3 Mémoire et Garbage Collector194
      • 5.4 Débogage d'une application native avec GDB194
      • 5.5 Monitoring d'une application native avec Java Flight Recorder195
      • Chapitre 9
      • Conteneurisation et Kubernetes
      • 1. Conteneurisation197
      • 1.1 Utilisation d'images fournies à la création d'un projet197
      • 1.2 Génération automatique d'une image Docker200
      • 2. Génération de ressources Kubernetes et OpenShift203
      • 2.1 Génération de ressources Kubernetes203
      • 2.2 Génération de ressources OpenShift211
      • 3. Déploiement dans Kubernetes214
      • 3.1 Configuration des ressources des conteneurs214
      • 3.2 Sondes Kubernetes215
      • 3.3 Déploiement dans Kubernetes avec Quarkus216
      • 3.4 Déploiement via Helm218
      • 3.5 Débogage à distance219
      • 4. ConfigMap, Secret et Service Binding220
      • 4.1 ConfigMap et Secret220
      • 4.2 L'extension Kubernetes Config222
      • 4.3 Service Binding224
      • 5. Interagir avec un cluster Kubernetes226
      • Chapitre 10
      • Déployer dans Amazon Web Services
      • 1. AWS Lambda231
      • 1.1 Quarkus Amazon Lambda232
      • 1.2 Quarkus Amazon Lambda HTTP237
      • 1.3 Amazon Lambda SnapStart241
      • 2. Services AWS : S3, SNS243
      • 2.1 Configuration et authentification246
      • 2.2 Amazon S3248
      • 2.3 Amazon SNS250
      • 2.4 Amazon DynamoDB254
      • 2.5 Amazon Secrets Manager259
      • Chapitre 11
      • Déployer dans Google Cloud Platform
      • 1. Google Cloud Functions263
      • 1.1 Quarkus Google Cloud Functions264
      • 1.2 Quarkus Google Cloud Functions HTTP271
      • 2. Google App Engine274
      • 2.1 Google AppEngine standard runtime274
      • 2.2 Google AppEngine custom runtime276
      • 3. Google Cloud Run277
      • 4. Services GCP : Storage, PubSub279
      • 4.1 Configuration et authentification280
      • 4.2 Google Cloud Storage281
      • 4.3 Google Cloud PubSub283
      • 4.4 Google Cloud Firestore286
      • 4.5 Google Cloud Secret Manager288
      • Chapitre 12
      • Déployer dans Microsoft Azure
      • 1. Azure Functions291
      • 2. Azure App Service295
      • 3. Azure Container Apps297
      • Chapitre 13
      • Funqy : des fonctions portables
      • 1. Développer une fonction événementielle avec Funqy301
      • 2. Développer une fonction HTTP avec Funqy303
      • 3. Déployer une fonction Funqy dans AWS306
      • 3.1 Déployer une fonction Funqy événementielle dans AWS306
      • 3.2 Déployer une fonction Funqy HTTP dans AWS310
      • 4. Déployer une fonction Funqy dans Google Cloud311
      • 4.1 Déployer une fonction Funqy événementielle dans Google Cloud311
      • 4.2 Déployer une fonction Funqy HTTP dans Google Cloud313
      • 5. Funqy Knative Eventing314
      • Chapitre 14
      • Développer une extension Quarkus
      • 1. Build versus Runtime317
      • 2. Les trois phases de bootstrapping318
      • 3. Steps et items319
      • 4. Jandex322
      • 5. Développer une extension pas à pas323
      • 5.1 Configurer une extension325
      • 5.2 Ajouter un bean CDI326
      • 5.3 Utiliser Jandex et enregistrer pour réflexion328
      • 5.4 Aller plus loin329
      • Conclusion
      • 1. Conclusion331
      • 2. Aller plus loin332
      • Index333

  • Origine de la notice:
    • BPI
  • Disponible - 681.225 MAT

    Niveau 3 - Informatique