Architecture logicielle

Notre vision de l’architecture de l’application est que celle-ci doit reposer sur une organisation en couches de manière à bien séparer les fonctions et responsabilités des composantes de l’application.

La figure suivante représente comment les applications basées autour du noyau sont organisées :

Les applications selon leurs besoins peuvent accomoder un nombre variable de type d’utilisateurs, qui une fois enregistrés, pourront accéder à leurs dossiers. Ces utilisateurs, après authentification, se verront attribuer un rôle et des droits d’accès variables selon leur organisation et la politique de gestion des droits d’accès de l’application.

 

vue_conceptuelle_app

 

Dans la figure précédente, les boîtes bleues représentent les trois couches de l’application Web :

  • Couche présentation : Cette couche est essentiellement composée des pages Web qui seront présentées aux utilisateurs.
  • Couche règles métier : Cette couche a pour fonction de traiter les requêtes des utilisateurs et de préparer l’information à afficher sur les pages Web en fonction du contexte. Pour ce faire, cette couche devra interagir avec les « Cyberjustice Core Services » ou communiquer avec sa propre couche d’accès aux données.
  • Couche d’accès aux données : Cette couche permet l’accès à la base de données de l’application qui conserve les informations propres à l’application Web elle-même. Elle pourra notamment être composée d’informations sur les menus devant être affichés ou d’informations sur les sessions des utilisateurs.

Les « Cyberjustice Core Services » ont pour responsabilité, dans ce cadre , d’encapsuler la gestion de l’information propre au domaine d’affaire de l’application, à savoir : la gestion de l’information requise pour un dossier judiciaire ou extra-judiciaire.

Le rôle des « entités de données » est de permettre l’échange de données entre les couches. Cette fonction est remplie en utilisant les cadres d’applications Entity Framework et LINQ.

Mis à jour le 11 janvier 2016 à 13 h 53 min.