Guide de communication microservices avec Liferay (Architecture entreprise)

 Les portails modernes ne sont plus monolithiques.

Aujourd’hui, Liferay sert de couche d’expérience digitale tandis que la logique métier vit dans des microservices indépendants.

La question principale devient :

👉 Comment Liferay communique avec les microservices ?

Ce guide présente les modèles utilisés en production.


📌 Pourquoi utiliser des microservices avec Liferay ?

Ancienne architecture :

Portail → Base de données → Logique métier dans le portail

Architecture moderne :

Portail → APIs → Microservices → Bases de données

Avantages :

  • Déploiement indépendant

  • Scalabilité

  • Maintenance simplifiée

  • Séparation des domaines


🖼️ Architecture globale


🧠 Modèles de communication

4 modèles principaux :

  1. REST (synchrone)

  2. Messaging événementiel

  3. Gateway GraphQL

  4. Workers asynchrones

Chaque modèle a son usage.


🔹 1️⃣ REST (synchrone)

Pour réponse immédiate à l’utilisateur.

Exemple : modification du profil.

URL url = new URL("http://customer-service/api/profile"); HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("POST"); con.getResponseCode();

🖼️ Flux REST


🔹 2️⃣ Messaging événementiel (asynchrone)

Pour traitement en arrière-plan.

Exemple : upload document → traitement.

Technologies :

  • Kafka

  • RabbitMQ

Le portail ne bloque pas.


🖼️ Flux événementiel


🔹 3️⃣ Gateway GraphQL

Permet d’agréger plusieurs services en une requête.

Avantages :

  • Moins d’appels réseau

  • Frontend rapide


🖼️ GraphQL


🔹 4️⃣ Workers asynchrones

Pour traitements longs :

  • Génération PDF

  • Import massif

Le portail déclenche → worker traite plus tard.


🖼️ Workers


⚖️ Quand utiliser quoi

CasSolution
Attente utilisateurREST
Traitement lourdMessaging
Plusieurs servicesGraphQL
Long traitementWorkers

🔐 Sécurité

Utiliser :

  • OAuth2 / OIDC

  • API Gateway

  • Token propagation

  • Rate limiting

Ne jamais exposer services directement.


🏆 Bonnes pratiques

✔ Portail léger
✔ Pas de logique métier dans Liferay
✔ Gateway API
✔ Préférer asynchrone
✔ Domain-driven services


⚠️ Erreurs fréquentes

❌ Base partagée
❌ Chaînes synchrones longues
❌ Portail orchestrateur
❌ Couplage fort


🎯 Conclusion

Liferay doit être :

👉 Couche d’expérience uniquement

Les microservices gèrent la logique métier.

Une bonne communication garantit une architecture scalable.

💼 Support professionnel disponible

Si vous rencontrez des problèmes sur des projets réels liés au développement backend d’entreprise ou à l’automatisation des workflows, je propose des services de conseil payants, de débogage en production, de support projet et de formations ciblées.

Les technologies couvertes incluent Java, Spring Boot, PL/SQL, Azure, CMS, ainsi que l’automatisation des workflows (jBPM, Camunda BPM, RHPAM).

📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com

🌐 Website: IT Trainings | Digital lectern | Digital rostrum | Digital metal podium     



Comments

Popular posts from this blog

Scopes of Signal in jBPM

OOPs Concepts in Java | English | Object Oriented Programming Explained

jBPM Installation Guide: Step by Step Setup