Stack technologique

Une architecture scalable pour une qualité de service optimale.
Stack technologique

En bref

La produit FlowerDocs repose sur une architecture classique en 3-Tiers et s’appuie sur la visionneuse universelle de document ARender pour la visualisation des documents.

Couche de présentation

FlowerDocs GUI

FlowerDocs GUI est une application WEB assurant la couche de présentation intégrant l’interface de visualisation ARender. Elle est développée sur la base de technologies Spring Boot et WEB (HTML, Javascript…).

Cette application embarque le conteneur de servlet Tomcat 9 pour servir les pages via le protocole HTTP(S).

Kibana

Kibana est une application Web en NodeJS développée par Elastic. Elle s’interface avec le moteur de recherche Elasticsearch et permet de produire des tableaux de bord personnalisés basés sur les données dans Elasticsearch, pour réaliser du suivi opérationnel ou du reporting. Kibana communique avec Elasticsearch via les API HTTP RESTful de ce dernier.

Ces rapports sont intégrés directement par FlowerDocs GUI. Les échanges se font donc via le protocole HTTP(S) depuis le poste client.

Couche de services

FlowerDocs Core

FlowerDocs Core est le moteur de GED. C’est une application Web Java basée sur Spring Boot. Elle permet de gérer de très grandes quantités de documents (ajout, suppression, mise à jour de documents, recherche, dossiers dynamiques etc.). Elle expose des Web Services SOAP et REST qui sont consommés par les différents clients :

  • l’Interface Web native FlowerDocs GUI
  • des applications tierces
  • etc.

Pour la persistance des données, Elasticsearch est utilisé pour la partie métadonnées et un espace de stockage pour la partie contenus de documents. La communication avec Elasticsearch est réalisée via l’ES Transport, propre à Elasticsearch. Le stockage des contenus des documents est réalisé en fonction des besoins et le protocole d’échange dépend de la technologie étudiée (cf. chapitre sur le stockage des contenus).

Une intégration avec un annuaire d’entreprise (type LDAP(s)) peut s’avérer requise pour accéder aux informations liées aux utilisateurs de l’application.

ARender Rendition Server

ARender Rendition, produit développé par Arondor, est le moteur de rendition permettant notamment de générer les images correspondant aux différentes pages des documents à visualiser. Ce moteur expose une API REST permettant, depuis le poste client, de récupérer les différents éléments nécessaires à la visualisation.

Données

Cette partie décrit la couche de données pour le connecteur Elasticsearch uniquement. Consulter la document Alfreso ou IBM FileNet P8 pour les autres connecteurs.

Elasticsearch

Le moteur d’indexation et de recherche Elasticsearch, application Java standalone, est utilisé pour l’indexation et la recherche des données. Il fournit un moteur de recherche distribué et multi-entité ainsi qu’un stockage NoSQL de type Document. FlowerDocs utilise ces fonctionnalités pour stocker les métadonnées du document dans la partie NoSQL et les capacités avancées de moteur de recherche pour les requêtes sur les documents, les tâches et les dossiers.

La communication se fait via l’Elasticsearch Transport Protocol qui repose sur un module spécifique basé sur TCP. Les Web Services RESTful proposés par Elasticsearch sont eux utilisés pour les requêtes de Kibana.

Stockage des contenus

Les contenus des documents (PDF, MS Word, etc.) gérés par FlowerDocs ne sont pas stockés dans Elasticsearch mais sur un espace de stockage dédié qui peut être :

  • un système de fichiers type NAS via CIFS/NFS
  • un système de fichiers type SAN via Fiber Channel
  • un service de stockage objet type AWS S3 via des WebServices RESTful
Exemple d'architecture simple
Exemple d'architecture simple
Contact