| Le Framework J2EE |
Le Framework J2EE de FimasysLe Framework J2EE représente la couche technologique de base de tout développement produit, grâce à l’implémentation de la technologie Java dans un environnement multi-tiers.Ce Framework comprend un squelette logiciel, des normes de développement, de nombreux outils transversaux, permettant ainsi la production rapide et harmonieuse de nos applications, la réutilisation de fonctions déjà développées et une grande flexibilité en terme d’amélioration. L’objectif étant de permettre aux équipes de R&D d’utiliser des outils d’optimisation de la productivité et d’homogénéisation des développements. Le Framework permet ainsi à Fimasys :
Fimasys Application Resource Manager (FARM)FARM propose un grand nombre de fonctionnalités et une grande souplesse pour la gestion du contenu de ProFinance et peut être utilisé pour définir des éditions et des interfaces.La majorité des applications Fimasys sont greffées sur la structure de FARM (Fimasys Application Resource Manager). Cette structure confère un grand nombre de fonctionnalités. Contenu et accèsFARM permet de stocker le contenu lexical de nos applications sous une forme hiérarchique et catégorisée. Ainsi, il est possible de déterminer les objets correspondant à une image ou même au libellé d'un bouton. Vous avez également la possibilité de définir des pages d’aide et de créer un lien avec la page applicative concernée. Les utilisateurs de l'application possèdent un profil dit Web et un profil d'accès. Le profil Web permet de définir des traductions pour chacun des objets et des pages d'aide, puis de renseigner différents paramètres régionaux tels que le séparateur de date à utiliser ou encore le nombre de décimales que comprennent les taux. Quant au profil d'accès, il permet de restreindre l'accès à certaines pages ou objets.Le paramétrage de FARMFARM permet de paramétrer nos applications et en particulier tout ce qui concerne les éditions et les tables référentielles de l'application hébergée. Il nous est possible de définir des éditions, leur contenu, de les lier à des profils d'accès et enfin de les lier à des pages spécifiques. Enfin, il est possible de paramétrer le référentiel de l'application en spécifiant quelles sont les tables d'administration de la base de données de l'application à paramétrer. Ceci nous évite de développer des fonctions d'administration (création, modification, suppression) pour une bonne partie des tables de référentiel de n'importe qu'elle autre application, en utilisant une interface générique d'administration du contenu de ces tables.L’application FARMAfin de faciliter les différents paramétrages décrits plus haut, notre base de données est accompagnée d'une application permettant à nos développeurs de renseigner la base et à nos clients de modifier et de personnaliser leur application.Le squelette logicielAfin de normaliser et de faciliter le développement de nos applications, nous avons mis en place un squelette logiciel J2EE. Celui-ci permet à nos développeurs de se retrouver facilement d'une application à l'autre et surtout de ne pas se soucier de la programmation et de l'optimisation de briques fonctionnelles redondantes. Un grand nombre de fonctionnalités est déjà pris en compte par notre architecture, en particulier la gestion des sessions, le cache de données d'application ou de session, la redirection automatique vers la page adéquate en fonction des paramètres de navigation ou encore la remontée des informations contenues dans FARM. Ce squelette a été mis en place en prenant en compte certains concepts objet. Sa structure principale repose sur le pattern MVC-2 (Modèle Vue Contrôleur).Le modèleNotre modèle se concrétise par l'utilisation d'EJB Session Façades au-dessus d'EJB Session eux-mêmes greffés à des DAO. Cette politique a été adoptée alors que la technologie EJB était toute jeune. Elle nous semblait être le meilleur compromis entre la facilité de développement et la performance. En effet, à cette époque, l'utilisation des EJB Entity n'était pas satisfaisante. Notre politique est en train de changer pour l'utilisation de ces Entity avec l'avènement de la norme EJB 2.La vueNotre Vue est réalisée à l'aide de la technologie JSP enrichie d'un système de template et d'une bibliothèque de balises métiers (Tag Library).Le contrôleurNotre contrôleur est un système mono Servlet . Ce Servlet interprète la requête reçue et délègue son traitement au sous-contrôleur concerné qui est une simple classe Java. Ce sous contrôleur interroge le modèle et alimente les données en session.Les bibliothèques transversalesFimasys développe des bibliothèques logicielles regroupant des outils permettant de palier les problèmes les plus fréquents. Ces bibliothèques peuvent se découper en deux catégories, les bibliothèques JavaScript et les bibliothèques Java.Les bibliothèques JavaScriptCes bibliothèques comportent des outils permettant de faciliter la navigation au travers de nos applications. Nous pouvons noter des structures d'aide à la saisie ou de contrôle de format ou de type de champs (numérique, date...)Les bibliothèques JavaElles proposent d'une part des outils de générations HTML pour l'élaboration de structures fonctionnellement complexes telles que des arbres ou des listes multipages.De plus, elles offrent des outils de plus bas niveau tels que des parseurs XML, des systèmes de cache, ou encore des classes facilitant l'accès aux bases de données ou aux arbres JNDI. |