Communications

L’architecture de nos applications est basée sur une séparation des responsabilités et vise à répondre tant à de futures extensions possibles qu’à des montées de charge. La figure suivante présente en couches les principaux composants de nos applications, ainsi que les échanges existant entre eux.

La couche supérieure est celle des applications. Elle est constituée de 3 composants :

  • Web Application : Il s’agit de l’application frontale du système avec laquelle un utilisateur interagit.
  • Application de gestion : Cette application est principalement dédiée à la gestion des règles d’autorisation pour le système. Cette application peut être déployée dans un contexte différent de l’application WEB (par exemple une application accessible uniquement via l’intranet au lieu d’être ouverte sur le Web) ou bien intégrée à l’application WEB elle-même.
  • Fournisseur d’identité : Cette application offre essentiellement le service d’authentification des utilisateurs (ce n’est en pratique que la page de connexion). Nous expliquerons plus loin comment cette application est utilisée. En séparant cette responsabilité de l’application WEB, cela permettra, au besoin, d’utiliser d’autres fournisseurs d’identité. Ceci est illustré par le composant « Fournisseur externe d’identité de confiance » qui est hachuré.

La couche inférieure est celle qui assure la conservation de l’information. Elle est constituée de :

  • Application BD : Cette base de données conserve les informations propres à l’application Web elle-même. Elle est notamment composée d’informations sur les menus devant être affichés ou d’informations sur les sessions des utilisateurs.
  • Core Services BD : L’ensemble des bases de données utilisées par les « Cyberjustice Core Services » pour conserver leurs propres informations. Ces bases de données sont indépendantes les une des autres et peuvent donc résider ou non sur un même serveur physique, être intégrées ou non dans la même base de données.

La couche intermédiaire de la Figure constitue le cœur de tous nos systèmes. Cette couche correspond aux « Cyberjustice Core Services » présentés plus haut. Il y a trois (3) types d’échanges qui relient les composants de cette couche avec ceux des autres couches ou entre eux :

  • Échanges entre les applications et les « Cyberjustice Core Services » : Ces échanges assurent le traitement des requêtes des utilisateurs des applications. Ils sont effectués en utilisant des services Web selon le cadre d’application Windows Communication Foundation. Selon le contexte et la nature de la requête, nous utilisons des services Web qui utilisent différents protocoles de communication :
    • soit des services SOAP, pour les opérations d’insertion, de mise à jour ou de destruction;
    • soit des services RestFULL, pour l’extraction de structure complexe d’information;
    • soit des services OData, pour l’extraction de structures simples d’information.
  • Échanges entre les composants des « Cyberjustice Core Services » : Ces échanges sont régulés via des connecteurs définis à l’intérieur du « Cyberjustice Kernel ». Ils permettent, par exemple, aux Services Document d’obtenir l’information sur les parties d’un dossier. Cette séparation, en utilisant des services Web pour les échanges entre l’application Web et les « Cyberjustice Core Services », permet d’isoler la partie gestion et sauvegarde de l’information.
  • Échanges avec la couche de données : Ces échanges sont régulés via l’utilisation des cadres d’application Entity Framework et LINQ. Ces échanges remplissent les fonctions de sélection, d’insertion, de destruction ou de mise à jour des informations conservées dans les bases de données.

Ce contenu a été mis à jour le 11 janvier 2016 à 13 h 56 min.