Comparaison des ERP
Ce tableau montre que pratiquement tous les ERP libres ont
été développé avec des langages libres tels que
python, XML, java/J2EE et Php. Ils sont implémentés sur des
serveurs d'applications libres tels que Zope, Tomcat, Jboss, Apache et
utilisent des bases de données libres comme ZODB, Mysql, Postgresql.
Parmi les ERP étudiés ici, il n y a que
Compière qui utilise Oracle comme serveur
d'application et comme SGBD. Ce cas a été
critiqué parce que Oracle est propriétaire et donc si on
utilisait Compière, on était obligé de acquérir
Oracle. Cette situation est maintenant gérée avec l'utilisation
de Jboss et de Postgresql.
Compiere s'adresse davantage aux secteurs financiers et de la
distribution (un module orienté manufacturing devrait cependant voir le
jour).
ERP5 s'adresse par contre davantage à l'industrie
manufacturière, avec une réelle capacité à
gérer des nomenclatures complexes de produits.
Tiny ERP s'adresse aux salles de vente tandis qu'Ofbiz
s'adresse au secteur du commerce avec son orientation e-Commerce.
Pour ce qui est des fonctionnalités, on voit que
chaque ERP a une spécialité avant de s'étendre dans les
autres secteurs de l'entreprise.
ERP
|
ERP5
|
OFBIZ
|
TINYERP
|
COMPIERE
|
ADROIT
|
Principale fonctionnalité
|
Production
|
Commerce
éléctronique
|
Salle de ventes
|
Financiers et Distribution
|
Financiers et Dossiers
|
Editeur
|
ERP/PGI
|
Langage
|
Exemple Serveur
d'applications
|
Exemple BDD utilisée
|
Fonctionalités
|
Nexedi/
Coramy
|
ERP5
|
Python
|
Zope
|
ZODB ( Zope Object Database)
|
Gestion production, Gestion financière, CRM, Chaîne
logistique, E-business, Groupeware
|
Nereide
|
Ofbiz
|
XML
|
J2EE(Tomcat)
|
MySql
|
Gestion clients, Gestion fournisseurs
Gestion employés, Gestion des articles,
Gestion des stocks, Gestion des commandes
Gestion de projet, E-commerce
|
Audaxis
|
Compiere
|
Java/J2EE
|
Jboss, Oracle etc...
|
Oracle/PostgreSql
MySql
|
Gestion des ventes, Gestion des catalogues,
des tarifs, Suivi des commandes, Gestion des achats, des stocks,
Gestion de la logistique
Gestion de la comptabilité, des finances
|
Tiny
|
TinyErp
|
Python
|
Jboss
|
Postgresql
|
CRM, Gestion Stocks, Gestion de la comptabilité
Gestion de projet, Gestion des ventes, des achats.
Gestion de la production, Gestion Ressources humaines,
Marketing
|
Tableau de comparaison des ERP
ERP
Caractéristiques
|
ERP5
|
COMPIERE
|
OFBIZ
|
TINYERP
|
ADROIT
|
Couverture fonctionnelle
|
X
|
X
|
X
|
X
|
X
|
Base de données unique
|
X
|
X
|
X
|
X
|
X
|
Adaptation et paramétrage
|
X
|
X
|
X
|
X
|
X
|
Architecture informatique ouverte
|
X
|
X
|
X
|
X
|
X
|
Présence d'outils d'aide à la décision
|
X
|
X
|
X
|
X
|
|
Tableaux de comparaison sur les
caractéristiques des ERP étudiés.
MQ Series Integrator (Middleware asynchrone
en mode message) : transforme, augmente, applique les règles de "
message based data". Il transfert et distribue les données entre les
différents systèmes.
C'est un outil qui permet l'intégration de nouvelles
applications aux applications déjà existantes et cela même
avec du contenu dynamique. Il permet de visualiser les flux des applications
grâce au développement d'un environnement graphique.
E-biz Integrator : transforme automatiquement les bases
de données dans n'importe quel format requis par le système
informatique de l'entreprise. La technologie utilisée par e-biz
Integrator assure le transfert des données critiques même si les
programmes, réseaux ou SI sont en panne. E biz integrator permet
l'intégration de n'importe quel environnement informatique quelque soit
le matériel, l'OS, les logiciels, les bases de données et les
protocoles de communications, utilisés.
Agha G.A. [I.37] définit ScalAgent comme un exemple de
réalisation d'un Middleware qui fournit un modèle de
programmation de composants applicatifs adapté à la communication
asynchrone et inspiré du modèle d'acteurs.
Dans l'article « Configuration de Middleware
dirigé par les applications - INRIA» Vivien Quema et Luc
Bellissard [I.38] montrent que chaque composant applicatif de ScalAgent est
créé et s'exécute au sein d'un représentant local
du Middleware appelé serveur de composants. Celui-ci assure la
création des composants, leur exécution et leurs communications.
Il héberge une fabrique de composants et un bus local qui est
composé de deux composants principaux. Chaque composant Middleware
responsable d'une propriété non fonctionnelle possède un
ensemble d'attributs qui lui permettent de fournir cette
propriété.
L'environnement Calife permet la
création de deux types d'automates [I.39]. Les automates simples,
représentables sous la forme d'un graphe ; les automates composés
par produit synchronisé d'automates. Par la suite, le terme automate
désignera un automate simple et le terme block désignera un
produit synchronisé d'automates (simples ou eux-mêmes crées
par produit synchronisé). Le terme composant désignera
indifféremment un block ou un automate simple.
L'entrepôt de données , baptisé Gedaw
(Gene Expression DAta Warehouse), [I.40] intègre à ce jour les
données expérimentales du groupe fer de l'Unité 522 (par
l'intermédiaire de la création d'une base de données
relationnelle Transcriptome) et intégrera à terme des
données expérimentales d'autres équipes, des
données pertinentes provenant de grandes banques publiques. Une fois
intégrées, ces données vont être analysées
à l'aide de requêtes et d'outils dédiés,
développés localement et/ou importés des sites Web.
L'entrepôt de données
Gedaw (Gene Expression Data Ware house)
Les objectifs de la réalisation de cet entrepôt
sont doubles :
Ø Fournir aux chercheurs un outil complet et
intégré facilitant ainsi l'accès aux données sur le
transcriptome (analyse simple). Ceci correspond à une simple
interrogation de la base de données.
Ø Permettre par le biais de ce même outil, de
fournir une aide à la décision, permettant d'orienter les
recherches biologiques.
Dans les travaux sur « La modélisation d'un
entrepôt de données dédié à l'analyse du
transcriptome hépatique », Guérin, Moussani et autres
[I.41] ont montré que le GEDAW (Gene Expression Data Warehouse) est un
entrepôt de données orienté objet qui permet
l'intégration de ces données et d'autre part fournit des outils
pour leur analyse, afin de mettre en évidence des corrélations
entre gènes étudiés.
Les apports d'une intégration des données sont
une garantie de la cohérence des données dans les deux
systèmes, l'évitement des redondances inutiles et la
possibilité de manipuler les données de manière
transparente à partir des différents systèmes.
La base de données unique d'un ERP permet les
avantages immédiats suivants :
Ø une donnée est saisie une seule fois au
moment adéquat et par le personnel adéquat ; on évite
les redondances.
Ø une donnée peut être utilisée
par n'importe quelle personne avec autorisation. Les données sont donc
disponibles pour les différents modules applicatifs.
Ø optimisation des processus de gestion (flux
économiques et financiers) ;
Ø cohérence et homogénéité
des informations, intégrité et unicité du système
d'information ;
Ø partage du même système d'informations
facilitant la communication interne et externe ;
Ø maîtrise des coûts et des délais
de mise en oeuvre et de déploiement.
La valeur de l'EAI se situe à trois niveaux
:
Ø l'EAI permet un accès universel et un partage
de toutes les données et composants d'un système d'information,
qu'ils soient normalisés, propriétaires ou incompatibles.
Ø l'EAI nécessite peu ou pas de modifications
des applications ou structures de données qu'il intègre.
Ø une architecture EAI n'est pas figée. Elle
constitue un socle évolutif, réutilisable et dynamique suivant en
cela l'évolution des besoins métier spécifiques comme les
évolutions structurelles de l'entreprise.
L'un des plus gros avantages des web services
est qu'ils reposent sur des protocoles standardisés. Cela permet que
cette technologie soit exploitable par de nombreux langages.
En effet, les web services se reposent sur les protocoles tels
que XML et disposent en effet de fonctions pour lire un fichier XML ( Parseur
XML). Donc un web service développé sous une plate forme .NET
peut être utilisé via le langage Perl, PHP, Python, Delphi,
Cobol .
Les web services sont la base de l'EAI. [I.42] contrairement
à ce qu'on peut voir aujourd'hui, ils ne se limitent pas à la
création de petits composants à destination du Web. C'est un
véritable système de communication qui peut être
utilisé pour l'intégration des applications.
Le principe fondamental de fonctionnement des web services
[I.43] est de morceler les applications et les processus d'affaires en morceaux
réutilisables appelés « Service » de sorte que chacun
de ces segments effectue une tâche distincte. Ces services peuvent alors
servir à l'intérieur et à l'extérieur de
l'entreprise, facilitant l'interopérabilité entre tous ces
services.
D'après Pierre Yves Fourmond [I.34] , les
Middleware Orientés Message, outre les services d'acheminement (envoi,
réception), de stockage, et de recherche des messages etc ..., offrent
des services plus évolués tels que :
Ø Rendre certains messages plus prioritaires que
d'autres
Ø Compresser les données utiles du messsage
Ø Faire expirer un message à une date
donnée et ne rendre un message disponible qu'à partir d'une
certaine date (sur certains MOM uniquement).
Ø Des services de routage des messages d'un noeud
à l'autre (un peu à la manière des serveurs de mails).
Ø Des fonctionnalités de triggering: lancement
d'applications lorsque des messages sont disponibles pour elle.
Un autre avantage des MOM est qu'ils sont insensibles (au
moins temporairement) à l'indisponibilité des applications, en ce
sens que dès qu'un message est envoyé au MOM ou reçu par
l'applicatif, cet applicatif peut s'arrêter, puisque la connexion entre
l'application et le MOM n'est requise que pendant l'échange du
message.
L'EII présente pour principal avantage
de simplifier le travail de développement et de maintenance des
applicatifs nécessitant l'intervention de bases de données
hétérogènes. Il facilite le déploiement
d'applications nécessitant l'accès à diverses bases de
données, notamment en rendant plus simple le travail
d'élaboration et de maintenance des requêtes.
Dans les travaux sur la classification des documents XML,
Mounir Fegas [I.21] donne quelques apports de XML qui
sont : la possibilité de structurer des documents quelque soit leur
complexité - l'extensibilité, en définissant toutes les
balises dont on a besoin - la validation, permettant de vérifier la
conformité de la syntaxe d'un document par rapport à la grammaire
générale du langage XML.
Dans son article « La connectivité des
logiciels doit s'appuyer sur des standard afin d'assurer
l'interopérabilité des systèmes, Olivier Grenet [I.14]
explique que XML présente certains avantages. Il est auto-descriptif
car les balises décrivent la structure et le type des noms des
données ; il est portable puisque codé en Unicode, et il peut
décrire les données sous la forme d'un arbre ou d'un graphe.
L'EDI comporte des avantages déterminants:
Ø il accélère les flux d'informations
Ø il supprime les erreurs de ressaisie et de recopie
Ø il permet l'intégration directe des
données dans l'informatique du destinataire
Ø il préserve la confidentialité des
informations
Ø il donne à l'expéditeur l'assurance
que le destinataire a bien reçu le message.
La conception d'un datawarehouse débouche naturellement
vers une approche multidimensionnelle, donc sur la mise en place de cube qui va
plus loin, encore, dans l'analyse des données. Cela permet que les
données restituées soient : normalisées, de meilleure
qualité, homogènes.
C'est des systèmes très lourds, lents et
coûteux à la mise en oeuvre. Il y a aussi une sensation de perte
d'autonomie et de pouvoir due au partage des informations, au
décloisonnement des fonctions de l'entreprise et aux
réorganisations.
Dans le livre « Making ERP a success, communications
of the ACM - vol. 43» Scheer August-Wilhelm et Habermann F. [I.44]
disent que les ERP requièrent beaucoup de ressources notamment en espace
mémoire, les besoins de réseautique, et en coûts de
formation.
Les ERP / PGI ne sont pas exempts d'inconvénients :
Ø coût élevé ;
Ø lourdeur et rigidité de mise en oeuvre ;
Ø difficultés d'appropriation par le personnel
de l'entreprise ;
Ø nécessité d'une bonne connaissance des
processus de l'entreprise (par exemple, une commande d'achat et une commande de
vente nécessitent deux processus différents;
Ø nécessité d'adapter parfois certains
processus de l'organisation ou de l'entreprise au progiciel ;
Ø nécessité d'une maintenance
continue
Pour la plupart, les outils de EAI ne possèdent pas de
fonctionnalités de workflow qui permettent de prendre en compte les
interactions avec les utilisateurs.
Un inconvénient majeur des web services aujourd'hui est
l'absence de vraie sécurité dans les normes officielles.
Dans son article, Pierre-Yves Fourmond [I.34] explique
que l'inconvénient que l'on peut trouver aux MOM est
précisément de devoir installer et configurer un composant
logiciel supplémentaire pour faire communiquer plusieurs applications.
On critique ensuite les MOM pour leur manque de standards. Cette critique n'est
pas recevable dans la mesure où la plupart des MOM actuels
implémentent tous l'interface JMS, qui est le standard pour la
communication en mode message en Java.
. Dans le cas de l'EII, les requêtes multi-sources
consomment beaucoup de ressources et les temps de réponse s'en
ressentent. En outre, l'EIIl ne dispose pas de fonctions
pour transformer les données, il n'y a pas de fonctions de
transformation et il y a peu de performances sur les requêtes
complexes.
Malgré le fait que la solution EDI Edifact permette de
structurer les segments et les messages qui couvrent les besoins des
entreprises dans leur échanges, il n'est que peu utilisé cela
principalement pour les raisons suivantes :
Ø Les coûts d'une solution EDI. Dans la majeur
partie des cas, les solutions EDI sont délivrés à travers
un réseau à valeur ajoutée. Or les coûts
d'installation, de transaction et de maintenance de ces réseaux sont
trop importants pour les PME.
Ø Rigidité d'une solution EDI. Alors que les
partenaires demandent de la flexibilité, l'EDI demande de leur part une
formalisation très importante et un fonctionnement quasi-statique car
les applications sont personnalisées et spécifiques.
Ø Absence d'interopérabilité. les
solutions EDI sont souvent construites sur une base vierge et ne sont pas
à même de partager les ressources avec des applications autres que
celles initialement prévues.
Dans l'article de Steven Song et Bellant [I.45], on peut voir
la mise en évidence de l'une des faiblesses contre laquelle le langage
XML ne fait rien au vocabulaire.
Olivier Grenet [I.14] cite Ronald Bourret qui
énumère les faiblesses de XML: un stockage inefficace, les index,
la sécurité, les transactions et l'intégrité des
données, l'accès multi-utilisateur, les déclencheurs
(triggers), les requêtes sur plusieurs documents, etc.
Les mises à jour globales d'un datawarehouse demandent
un temps considérable.
Les changements technologiques incluent le déploiement
de tous les modules d'un ERP, et l'intégration de l'ERP avec les
applications de l'entreprise. Cette approche pose des inconvénients : si
les changements technologiques sont réalisés en même temps,
il devient difficile de déterminer l'origine d'une panne technique qui
entraîne des interruptions du travail des employés, enquêtes
du coté des administrateurs système.
L'EAI permettra à terme de créer des liens de
plus en plus étroits entre les différents partenaires. Pour
bientôt les applications EAI permettront la connexion avec des terminaux
mobiles tels que les téléphones portables WAP, les assistants
personnels, les ordinateurs portables et autres applications Peer to Peer et
Wireless.
La notion d'EAI voisine donc avec d'autres concepts :
Ø avec les ETL : bien que différent dans
son objectif, il assure comme un ETL, la connexion aux systèmes
d'information et la conversion des informations,
Ø avec les workflows : puisqu'il assure le suivi
des processus sur des systèmes pré-existants,
Ø avec le BPM à qui il peut fournir, comme
l'ERP, une plate-forme opérationnelle idéale,
Ø enfin, avec les applications sectorielles (CRM,
SCM...) qui exigent un minimum d'intégration des processus.
Gilbert B.F. et Cirano M.L. [I.43] comparent les web services
aux Middlewares en expliquant que fonctionnellement, les web services
n'apportent rien de neuf par rapport aux Middlewares, conçus pour
appeler des services distants, ou par rapport à l'EDI, qui décrit
comment échanger des documents d'affaires. Cependant, la façon
avec laquelle les web services réalisent ces fonctions est
entièrement novatrice, découplant le service lui-même de
son implantation.
En bref, la mise en place d'une solution EDI implique
un haut niveau de technicité et exige une préparation soigneuse ;
elle représente un certain investissement, et induit ensuite des
coûts de fonctionnement qui, tout en étant très
compétitifs par rapport aux transmissions par courrier,
téléphone, télex ou fax, ne sont tout de même pas
nuls.
L'utilisation des composants XML, document XML et feuilles de
style XSL est relativement facile grâce à des éditeurs XML.
Toutefois, l'utilisation unique de ces composants limite l'application du
langage à la création de pages HTML statiques. Pour avoir une
solution dynamique, il faut employer un langage de programmation.
Mohand-Saîd Hacid et Chantal Reynaud [I.46] dans leurs
travaux sur « l'intégration de sources de
données » expliquent qu'un datawarehouse répond aux
problèmes de données surabondantes et localisées sur de
multiples systèmes hétérogènes.
I. 2 Intégration par le modèle ADROIT
La bonne définition d'un modèle de
données générique a été capitale pour
ADROIT.
En effet, si une information de l'entreprise ne peut
être gérée par le système, son efficacité est
remise en question.
Il s'agit alors d'imaginer tous les cas de figure qui risquent
de se présenter d'un domaine à un autre pour déterminer le
niveau de généricité à mettre en place. C'est ainsi
qu'une fois qu'il ait atteint un certain niveau de
généralisation, la base de données résultante du
modèle, sera utilisée pour l'intégration de ADROIT dans
d'autres systèmes.
Le modèle de données de ADROIT est défini
sur six (6) principales classes pour gérer toutes les informations de
l'entreprise. Elles sont : Acte, Document,
Rubrique, Objet, Informations,
Tiers
Pour gérer les informations concernant le
paramétrage et la gestion des accès du système on a
définit trois autres classes, qui sont : Reference,
Paramètre, User
Chacune de ses classes joue un rôle dans le dispositif
conceptuel.
Ø La classe Acte
Cette classe est l'une des plus importantes de notre
modèle. Elle regroupe les informations concernant un acte du
système ; c'est-à-dire une FACTURE, un AVOIR, une
CONSULTATION ou une HOSPITALISATION. Elle est identifiée par le
« NumeroActe » qui est unique et surtout
caractérisée par le « Type » de l'Acte.
Il y a donc certains attributs qui sont spécifiques à certaines
instances d'acte, ce qui prouve la prise en compte de tous les cas de
figure.
Ø La classe Tiers
Cette classe renseigne sur les informations des Tiers
concernés par un Acte. Elle est identifiée par le
« NumeroTiers » et le « NumeroActe »
auquel le Tiers se réfère et caractérisée par le
« Type » du Tiers. Le Tiers peut être de type CLIENT,
PATIENT, MEDECIN, etc.
Tiers
NumeroTiers : BigInteger
NumeroActe : BigInteger
Nom : Character
Type : Character
Adresse : Character
Pays : Character
Ville : Character
Telephone : Character
Boite Postale : Character
Email : Character
Rang : Integer
Supprimer()
Modifier()
Nouveau()
Ø La classe Objet
Dans cette classe, on définit les produits ou services
gérés par l'entreprise. Elle est liée à la classe
Acte et sert en même temps pour la gestion de stock. Les instances de
cette classe sont surtout caractérisées par leur attribut
« Type » qui peut être soit PRODUIT ou SERVICE.
Objet
NumeroObjet : BigInteger
NumeroActe : BigInteger
CodeSecurite : Character
Nom : Character
Type : Character
PrixUnitaireVente : Integer
Unite : Character
Supprimer()
Modifier()
Nouveau()
Ø La classe Rubrique
Cette classe fait plutôt référence au
détail d'une instance Acte de Actes de nature FINANCE. Elle est aussi
liée à la classe Objet.
Rubrique
NumeroRubrique : BigInteger
NumeroActe : BigInteger
CodeSecurite : Character
Type : Character
Nombre : Integer
PrixUnitaire : Integer
Base : Integer
TVA : Integer
Remise : Integer
Supprimer()
Modifier()
Nouveau()
Ø La classe Informations
Dans cette classe on regroupe toutes les autres informations
concernant l'Acte ou le Tiers. Elle est identifiée par le
« NumeroInfos » et le « NumeroActe » et
caractérisée par le « Type »
d'Information.
Informations
NumeroInfos : BigInteger
NumeroActe : BigInteger
Nom : Character
Type : Character
Valeur : Character
Rang : Integer
Supprimer()
Modifier()
Nouveau()
Ø La classe User
Cette classe contient les informations concernant les
utilisateurs du système. Elle est utilisée principalement pour la
gestion des utilisateurs.
User
NumeroUser : BigInteger
Type : Character
Code : Character
Nom : Character
Adresse : Character
MotDePasse : Character
CodeTypeUser : Character
DateMaj : Date
Telephone : Character
Email : Character
CodePostal : Character
Question : Character
Reponse : Character
Actif : Character
Nouveau()
Supprimer()
Modifier()
Rechercher()
Ø La classe Document
Dans cette classe on stock les informations concernant les
documents joints à une instance Acte de la classe Actes. Elle est
identifiée par le « NumeroDoc » et le
« NumeroActe ».
Document
NumeroDoc
NumeroActe : BigInteger
Type : Character
Nom : Character
Nature : Character
NomComplet : Character
Supprimer()
Modifier()
Nouveau()
Ø La classe Parametre
Cette classe regroupe les informations de base du progiciel.
Elle est indispensable pour le paramétrage et le bon fonctionnement du
progiciel.
Parametre
NomProprio : Character
AdresseProprio : Character
Telephone1Proprio : Character
Telephone2Proprio : Character
FaxProprio : Character
PaysProprio : Character
VilleProprio : Character
NomIntegrateur : Character
NomApplication : Character
NomSociete : Character
AdresseSociete : Character
PaysSociete : Character
VilleSociete : Character
TelephoneSociete : Character
FaxSociete : Character
MessageBienvenue : Character
HoteBaseCons : Character
LoginBaseCons : Character
MotDePasseBaseCons : Character
HoteBaseServ : Character
LoginBaseServ : Character
MotDePasseBaseServ : Character
CodePostaleProprio : Character
CodePostaleSociete : Character
Modifier()
Consulter()
Ø La classe Reference
Reference
NumeroOrdre : BigInteger
Code : Character
Type : Character
Nom : Character
Nature : Character
Nouveau()
Supprimer()
Modifier()
Rechercher()
La classe Reference, regroupe toutes les informations
concernant les Type d'Acte, Tiers, Infos, Document et les autres
paramètres permettant de faciliter la saisie et les traitements des
informations du système.
Diagramme de classe global indépendant
Informations
NumeroInfos : BigInteger
NumeroActe : BigInteger
Nom : Character
Type : Character
Valeur : Character
Rang : Integer
Supprimer()
Modifier()
Nouveau()
Rubrique
NumeroLigne : BigInteger
NumeroActe : BigInteger
CodeSecurite : Character
Type : Character
Nombre : Integer
PrixUnitaire : Integer
Base : Integer
TVA : Integer
Remise : Integer
Supprimer()
Modifier()
Nouveau()
Tiers
NumeroTiers : BigInteger
NumeroActe : BigInteger
Nom : Character
Type : Character
Adresse : Character
Pays : Character
Ville : Character
Telephone : Character
Boite Postale : Character
Email : Character
Rang : Integer
Supprimer()
Modifier()
Nouveau()
1..n
1..n
concerner1
Objet
NumeroProduit : BigInteger
NumeroActe : BigInteger
CodeSecurite : Character
Nom : Character
Type : Character
PrixUnitaireVente : Integer
Unite : Character
Supprimer()
Modifier()
Nouveau()
1..n
0..n
contenir
Document
NumeroDoc
NumeroActe : BigInteger
Type : Character
Nom : Character
Nature : Character
NomComplet : Character
Supprimer()
Modifier()
Nouveau()
Actes
NumeroActe : BigInteger
Code : Character
Type : Character
Nom : Character
Date Acte : Date
Description : Character
InfoSupp : Character
Nouveau()
Valider()
Supprimer()
Imprimer()
Créer()
1..n
1
concerner
0..n
1
concerner3
1..n
1
concerner2
0..n
1
concerner4
0..n
1
concerner5
concerner par
1
0..n
Ce diagramme représente les six (6) principales classes
et les relations existant entre elles.
Modèle ADROIT
ADROIT est un logiciel créé par la
société InformatiS. Auparavant conçu pour être un
ERP, les concepteurs ont pensé le doter d'un système
intégrateur pour en faire un système intégré.
Actuellement, [I .78] le modèle ADROIT est
basé sur une approche d'intégration centrée sur les
modèles. Cette approche a l'avantage de gérer
l'interdépendance des plateformes, de permettre un accès temps
réel et une interaction bidirectionnelle entre systèmes.
Par contre l'intégration centrée sur les
modèles a des inconvénients comme la nécessité de
modéliser tous les aspects (sources de données, utilisation des
données, agrégation et insertion des données, le
problème de maintenance), la problématique des cas où
plusieurs structures doivent partager les modèles.
Etant un outil de gestion intégrée du
système d'informations de l'entreprise, ADROIT vise des objectifs
fonctionnels pouvant améliorer ces performances.
Pour modéliser les processus de traitement et de
gestion des informations de processus, les événements, les
relations de causalité et les informations elles-mêmes
(entités, relations, états, etc...), on peut envisager les
approches suivantes [I .78] :
- Intégration poste à poste
Cette approche permet l'accès aux informations
détenues par les sous-systèmes au niveau des postes de travail.
L'utilisateur réalise lui même son intégration.
L'intégration poste à poste peut se faire aussi
en dotant les différents sous-systèmes de serveurs Web et
permettre une consultation facile des informations à partir d'un
navigateur. Dans ce cas, l'utilisateur décide de se connecter au serveur
Web.
Les avantages sont :
o peu coûteuse malgré des développements
supplémentaires
o facile à mettre en oeuvre
o la notion de portail d'accès donne une vision
intégrée des services offerts
Les inconvénients sont :
o aucune interopérabilité entre les
sous-systèmes
o pas d'automatisation des processus de traitement
d'informations
o traitement d'informations par l'utilisateur
o pas de contrôle de cohérence de la part du
système
- Intégrations au niveau données
Les systèmes orientés datawarehouse tels que
EII, les ERP non modélisé, les EDI et les systèmes de
réplication permettent de faire une intégration centrée
sur les données.
Cette approche offre aux utilisateurs un entrepôt de
données virtuel sans déplacement de données capables de
fonctionner en mode événementiel
- Intégration au niveau application
Cette approche pourra être mise en oeuvre à
travers les EAI, les Middleware applicatifs, par workflow ou par BPM (Business
Process Management - gestion des processus métiers).
Cette intégration permet de réduire la
redondance, améliore la cohérence des informations entre les
différents systèmes. Elle est extensible et grâce au
workflow et au BPM, on peut respecter l'architecture et les
développements déjà réalisés.
Son coût s'avère élevé
(modification des sous systèmes existants, développement
d'adaptateurs pour les applications à intégrer. Sa
véritable traduction syntaxique et sémantique des informations
entre les dialectes locaux et le langage commun le rend complexe.
- Intégration par les web services
Les web services permettent à un système
d'offrir à d'autres systèmes d'intégrer ses informations
à leur processus. Ils s'appuient sur un langage ouvert (XML et
dérivés) et fonctionnent avec les EAI qui en sont un
élément de base.
Les avantages sont :
o simplifie le partage d'informations
o diminue le coût de l'activité et augmente la
souplesse
o offre une meilleure visibilité des activités
internes et externes
o permet de coordonner plus efficacement les processus
répartis entre
plusieurs systèmes, services et
entités.
Les inconvénients sont :
o Solution pas complète d'intégration des flux
métier
o adaptation pour des interactions et des volumes de
transactions faible
o sécurité limitée s'agissant d'ouverture
se session à des tiers à travers
internet.
o pas d'architecture événementielle pour de
nombreuses interactions entre les web service
o problème de gestion de la cinématique d'appel
des différents web
services.
L'analyse de certains outils d'intégration nous a
permis de choisir ETL et EAI en tenant compte des avantages et des
inconvénients de chacun.
L'utilisation de ces deux outils nous permettra de
répondre immédiatement aux demandes des clients.
L'EAI a des mécanismes d'acheminement des
données en temps réel mais ne sait pas transformer les
données.
L'ETL est une technologie capable apporter de la
cohérence aux données, de transformer et de les consolider dans
un datawarehouse.
I.3 Critiques
En générale, l'intégration des
systèmes d'informations pose un problème de choix technique vue
la limite des techniques à répondre à toutes les questions
du décideur
Depuis leur détermination à vouloir
mettre en place un système capable de subvenir aux besoins de
l'entreprise industrielle, les concepteurs de ERP5 ont introduit les notions de
transformation et de variantage dans leur système. Cette initiative a
beaucoup joué dans l'espérance de performance souhaitée de
ERP5.
Selon Eric Darras, ERP5 est plutôt un progiciel
sectoriel qu'un PGI générique en considérant qu'un ERP est
sectoriel lorsqu'il est dédié à un secteur
spécifique
Les inconvénients de OfBiz résident sur
sa lenteur, sa consommation mémoire astronomique (à cause de sa
programmation en java/J2EE), et au nombre de tables. Le modèle
Entité-Relation de Ofbiz a l'inconvénient de s'attacher plus aux
données qu'à la dynamique du système.
Le modèle de données de ADROIT
comparé à ERP5 gère la transformation (un produit peut
être transformé ou être obtenu à partir de la
transformation de plusieurs autres produits) et le variantage (un produit peut
avoir plusieurs variantes, par exemple : chaussure taille 12, chaussure taille
20, chaussure taille 23) par le principe du clonage (faire une copie d'un objet
et y apporter des modifications).
La classe Acte (contient les actes) peut représenter la
classe Movement (définit les mouvements de ressources) dans ERP5. Dans
la classe Acte, on retrouve un montant qui peut être un prix, une taxe,
un montant d'une rubrique de salaire etc...Mais un problème se pose si
un fournisseur (type de tiers) a un profil qui lui permet de vendre à un
prix préférentiel ou un client qui doit acheter à un prix
préférentiel.
La classe Tiers correspond à la classe correspond
à la classe Node de ERP5. Les deux classes ont le même contenu
à la différence que dans ERP5, le Stock est un type de Node.
La classe Rubrique correspond à la classe Resource de
ERP5. L'ERP ADROIT intégre le prix du produit ou du service alors que
dans ERP5, il est prévu la possibilité d'avoir plusieurs prix ou
des variations pour une ressource. La classe Ressource du modèle ERP5
contient des objets Profile et Catégorie qui permettent de gérer
les prix, les conditions d'achats et de ventes et le variantage. Un produit
peut être transformé ou être obtenu à partir de la
transformation de plusieurs autres produits donc il y a la notion de
transformation qui n'est pas gérée dans l'ERP ADROIT.
L'historique est une fonctionnalité qui a
des limites dans ADROIT car l'historique des prix des articles en stock n'est
pas pris en compte (dés que le prix d'un article change, il est
remplacé et n'est stocké nulle part).
Au niveau des classes, on voit que la classe
Informations ne prend en compte que les informations de l'Acte et du Tiers
alors que l'Objet peut avoir des informations.
Dans la classe Acte, on retrouve un montant qui peut
être un prix, une taxe, un montant d'une rubrique de salaire etc...Mais
un problème se pose si un fournisseur (type de tiers) a un profil qui
lui permet de vendre à un prix préférentiel ou un client
qui doit acheter à un prix préférentiel.
La classe Objet ne permet pas effectivement de prendre en
charge les différents prix et les conditions de ventes ou d'achats qui
peuvent lui être affectés suivant des profils Tiers bien
définis.
I.4. Propositions d'amélioration du
modèle d'intégration de ADROIT
L'objectif d'un logiciel, en général, est
l'automatisation des tâches auparavant manuelles. Une application
informatique est appelée à évoluer au rythme de la
technologie et de l'importance des informations gérées.
Pour faire de ADROIT un système intégré
capable de prendre en compte les autres logiciels ou de pouvoir intégrer
d'autres systèmes, nous avons pensé à proposer trois
approches intégratives.
Intégration au niveau des
données : Les données sont transmises avec des
transformations éventuelles.
Intégration au niveau
application : Utilisation d'API métier (web services) pour
transférer ou intégrer les flux de données).
Intégration au niveau processus :
Orchestration d'un ensemble de tâches à effectuer par
différentes applications
Pour atteindre cet objectif visant à assurer
l'intégration des données, nous avons proposé les outils
EAI et ETL ( Extract Transform, Load ).
L'EAI est un bus inter-applicatif qui fonctionne en mode
synchrone et traite des charges importantes de données mais n'a pas de
fonctions de transformations.
EAI
NT
NT
NT
NT
NT
NT
Intégration avec un EAI
Extract
Extract
Extract
Transform
Load
Datawarehouse de ADROIT
L'ETL extrait, transforme les données et les charge
dans une nouvelle base de données. Une seule base de données est
interrogée par l'outil de restitution. Il fonctionne en mode asynchrone
et n'est pas flexible aux modifications. On peut considérer l'ETL qui
permet d'alimenter un datawarehouse peut être considéré
comme un sous ensemble d'EAI.
Fonctionnement d'un ETL
Le but de l'extracteur est de prélever le flux de
données. L'extraction peut se faire de deux manières (totale ou
incrémentielle).
La fonction de transformation permet de supprimer des
données de mauvaises qualité (incomplètes, aberrants,
doublons, obsolètes etc ...).
Une fois un ensemble homogène obtenu, le chargement
(Load) consiste à injecter de manière correcte les données
dans le datawarehouse et les rendre disponible.
L'intégration au niveau des
données
Pour atteindre cet objectif visant à assurer
l'intégration des données, nous avons proposé les outils
EAI et ETL (Extract Transform, Load).
La transformation de l'information est assurée par les
services de transformations. Avec ces deux outils, la sécurité et
la fiabilité des informations et des échanges sont
traitées. L'utilisation de XML et/ou des web services par
l'intermédiaire de l'EAI permettra aux applications concernées
par l'intégration de se connecter.
L'échange direct entre bases de données par
l'intermédiaire de l'EAI court circuit la couche métier (les
règles de gestion implémentées ne sont pas
vérifiées). On pourra parer à ce
problème en dupliquant les règles de gestion
dans l'outil EAI mais on aura un autre problème de maintenance dû
à l'évolution du logiciel.
Pour faire une intégration efficace au niveau des
données, il faut une connaissance parfaite et détaillée
des schémas internes de bases de données mis en jeu.
Nous proposerons de faire un datawarehouse (entrepôt de
données) pour permettre à l'ETL de charger les données
extraites de diverses sources. L'utilisation de l'ETL est limitée par
le fait qu'il ne donne pas la photographie en temps réel des
données.
L'intégration au niveau application
L'application ADROIT ne contenant pas d'API (points
d'entrées d'intégration applicative), donc il faut faire d'abord
une structuration. La modification de l'application ne doit pas
nécessiter la modification de l'API métier. Le mode asynchrone
court sera utiliser pour permettre à l'EAI d'appeler l'API en mode
synchrone.
Les couches de l'EAI seront :
- Transport (transporter les infos ou les messages entre les
applications connectées. Elle s'appuie sur la couche transport du
modèle OSI.,
- Connecteurs (responsable de la connectivité entre
applications)
- Transformation (fournit les services de conversion pour
permettre le dialogue
- Routage (assure la gestion des flux entre applications),
- Processus métier (gère la logique de
l'enchaînement des tâches)
Il y aura d'autres couches dont les fonctionnalités
sont transverses :
- Paramétrage (adapte les principales couches)
- Développement (permet d'ajout des
fonctionnalités)
- Administration (gère l'ensemble de la solution
technique et fonctionnelle)
- Reporting (fournit les infos décisionnelles)
- Sécurité (règles les problèmes
d'authentification, d'intégrité, de confidentialité)
Pour ADROIT, nous proposons l'architecture du système
centralisé (Hub and Spoke). Aucun flux d'informations ou de
données ne pourra se faire sans l'entremise du hub.
L'intégration au niveau processus
Cette intégration est fonctionnelle au niveau de
l'application. Le BPI (Business Process Integration ou processus
d'intégration d'affaires) se charge de gérer automatiquement le
code nécessaire aux interactions entre les actions
élémentaires et les instructions permettant au moteur
d'exécuter les processus.
Pour permettre une bonne intégration, nous avons
proposons ce modèle ci-dessus. Il diffère de l'ancien
modèle par la liaison entre les classes Objets et Informations. Nous
considérons qu'à l'instar des classes Actes et Tiers, la classe
Objets peut avoir des informations.
Par exemple : Une CHAISE a plusieurs
caractéristiques telles que la taille, la couleur, poids etc...
Nouveau modèle ADROIT
proposé
II. Généricité
II.1 Etat de l'art
Le mot générique est à la mode, il sous
entend réutilisation possible, simplicité d'utilisation et
unification.
L'introduction de la notion de système
générique a permis une adaptation des logiciels aux besoins de
l'utilisateur.
Un système générique doit
fournir :
Ø un modèle de données
Ø une interface utilisateur entièrement
paramétrable.
Pour avoir une application générique, il faut
certains principes sui sont :
Ø paramétrage sur les types
Ø paramétrage sur les structures, méta
modèles ( c'est à dire en dehors du modèle)
Les PGI sont caractérisés par la
généricité des fonctionnalités qu'ils proposent et
disposent. Ils utilisent une seule base de données pour l'ensemble des
données relatives aux fonctions de l'entreprise
Plutôt que d'ignorer le contexte d'exécution ou
de tenter de le masquer par des couches d'abstraction (intergiciel), nous
pensons que les applications doivent avoir un caractère
générique.
Du point de vue de la technologie, la
généricité est une promesse d'économie de moyens,
et de réutilisabilité.
Pour montrer l'impact du paramétrage dans
la généricité, Pierre Crescenzo dit que [I.52] la
généricité regroupe traditionnellement les
problèmes de variabilité et ceux d'adaptation à un domaine
ou un rôle spécifique. La spécification de modèles,
notamment métiers, implique la prévision de différentes
variantes d'une même entité pour définir des lignes de
produits. En d'autres termes, certaines entités d'un modèle
métier sont génériques et cette
généricité doit permettre une variation aussi bien
structurelle que comportementale des entités.
II.1-1 La généricité par les
modèles
Selon Mathieu Lafourcade [I.1], la conception et la
programmation orientée objet sont imposées comme des
modèles de programmation générique mais on peut voir
derrière ce terme de programmation générique l'utilisation
des patrons de classes.
Les patrons de classes permettent d'atteindre des niveaux de
paramétrage et de factorisation des modèles orientés et du
code qui restent hors de portée des seuls concepts de l'objet.
L'utilisation des patrons de classes ne se limite pas à
la réalisation de conteneurs génériques. La
spécialisation est l'opération qui consiste à utiliser un
patron en renseignant ses paramètres de généricité.
Les classes ainsi construites peuvent être utilisées par du code
exécutable.
L'avantage d'un logiciel générique réside
dans la réduction des coûts et des risques par contre on trouve
ses inconvénients dans la nécessité de
réorganisation des processus métiers, la diminution de son
avantage concurrentiel et la perte de contrôle total.
Philippe Dosch [I.47] écrit dans son document
« Introduction à la conception objet et à
C++ » que la généricité permet de définir
des modules paramétrés par le type qu'ils manipulent. Un module
générique n'est alors pas directement utilisable : c'est
plutôt un patron de modèle qui sera «
instancié » par les types paramètres qu'il accepte. Cette
notion est très intéressante, car elle va permettre la
définition de méthodes (façon de travailler) plus que de
fonctions (plus formelles). Elle permet de définir des modules
paramétrés par le type qu'ils manipulent.
Si la généricité est le moyen de
réaliser l'interopérabilité de façon efficace et
évite l'explosion combinatoire liée au support de multiples
personnalités, la variabilité est définie comme la
capacité d'un système à être changé,
personnalisé et configuré en fonction d'un contexte
spécifique [I.50]
La généricité n'existe pas dans le code
compilée, au niveau de la JVM. Cela entraîne quelques restrictions
dans son usage.
La généricité a pour seul effet de
changer des types pour les variables et méthodes d'une classe. Ces types
sont connus une fois la substitution des paramètres effectuée,
c'est `a dire dans le code qui utilise la classe paramétrée.
Dans une démarche de conception d'un
modèle générique, Michel Chokron, Mireille Des Rochers
[I.15] dit que le concept de modèle générique est
apparenté à celui d'architecture des systèmes
d'information de l'entreprise ou de cadre («framework») de
développement des systèmes. Une architecture des systèmes
est le regroupement, à l'aide d'un critère donné, des
entités et des activités en domaines et des liens entre ces
derniers. En général, chaque domaine est sujet au
développement d'un système d'information. Un modèle
générique est une architecture des systèmes qui peut
s'appliquer à un ensemble donné d'entreprises.
Au niveau des systèmes multi-agents, Maher
EL'ARBI, Ahmed HADJ KACEM, Mohamed JMAIEL [I.64] montrent que la
généricité des modèles et des outils doit donc
s'imposer afin d'évoluer vers la réutilisation.
Selon Eric SARDET [I.56], l'approche orientée objets
propose une solution pour permettre un accès à des
propriétés à un niveau intermédiaire d'une
hiérarchie de classes au moyen du mécanisme de
factorisation/héritage. Cette approche consiste à
redéfinir une propriété ne pouvant être
factorisée au niveau d'une famille générique, car ne
participant pas à la description de toutes les sous-classes de cette
classe générique, dans toutes les classes où elle est
effectivement utilisée.
Pour Philippe Dosch [I.47], le concept de
généricité permet encore d'accroître cette
abstraction, en proposant des classes qui sont
paramétrées par des types de données ;
- extensibilité : les classes sont
définies en terme de services. Dès lors, un changement de
représentation interne de données ou une modification de
celles-ci n'altère pas la façon dont les autres classes les
utilisent.
- lisibilité : l'interface (documentée)
permet d'avoir un mode d'emploi clair et précis de l'utilisation d'une
classe, qui est d'autant plus clair que l'implantation des classes est
cachée.
La notion de généricité permet de
paramétrer les fonctions et les classes par un type de
données.
Pour Frédéric Gava [I.58], avec le
polymorphisme objet, on pouvait notamment mettre dans un conteneur
différents objets de type différents s'il avait un type
père (commun). Mais il était difficile d'exprimer le fait que
l'implantation du conteneur ne dépendait pas des objets contenus. Pour
cela, il fallait passer soit par un »objet abstrait» (avec les
méthodes qui sont utilisées) soit directement par le type Object.
La généricité va remédier à ce défaut
afin d'exprimer plus concisément ce genre de problèmes (on parle
d'expressivité).
Pour Hyacinthe Choury [I.57] la
généricité d'un service doit permettre sa
réutilisation sans excès. L'approche orientée objets
propose une solution pour permettre un accès à des
propriétés à un niveau intermédiaire d'une
hiérarchie de classes au moyen du mécanisme de factorisation /
héritage. Cette approche consiste à redéfinir une
propriété ne pouvant être factorisée au niveau d'une
une famille générique, car ne participant pas à la
description de toutes les sous-classes de cette classe générique,
dans toutes les classes où elle est effectivement utilisée.
Selon Mathieu Lafourcade [I.1] dans sa
thèse « Génie Logiciel pour le Génie
Linguiciel », la généricité est obtenue
d'une part au niveau du modèle en permettant l'ajout de nouveaux types
et opérateurs. Cette généricité est obtenue d'autre
part au niveau des représentations symboliques: elles ne sont pas
fixées et il est donc possible d'en ajouter autant que nécessaire
tant que les interfaces sont respectées.
Dans la thèse
intitulée «Vers un environnement générique d'aide au
développement d'applications interactives de simulations de
métamorphoses », Fabrice DEPAULIS [I.59] dit qu'à
partir d'une application générique, l'utilisateur peut construire
de nouvelles fonctions en se basant sur celles existant et les inclure dans la
présentation de sa nouvelle application ...Une classe
générique est chargée de représenter le «
support de programme ». Il s'agit d'identifier, dans la structure de
données, le point de départ du parcours de la structure.
Mathieu Barcikowski [I.51] dit que l'un de nos objectifs d'
une démarche générique pour l'adaptation des interfaces
dans les applications Web est de fournir un système
générique. Cette généricité commence par le
langage de description des modèles qui permet de représenter
selon un même formalisme le modèle usager, de groupe et de
contexte. [...] Le modèle usager [...] qui permet de stocker, de
modifier et de fournir des informations sur l'environnement dans lequel se
déroulent les interactions, sont des services disjoints avec le service
d'adaptation fourni par notre système.
Dans son mémoire de DEA intitulé
«Une démarche générique pour l'adaptation des
interfaces dans les applications Web», Mathieu Barcikowski explique
que [I.51] le modèle de contexte est un modèle adaptatif. [...]
Le langage de description de modèle est composé de quatre
éléments, qui sont les modèles, les sections, les objets
et les attributs. [...]
Les modèles permettent de séparer les
informations selon l'utilisation auxquelles elles
sont destinées.[...] Les sections permettent
d'organiser de manière arborescente les informations
contenues dans les modèles [...] Les objets
représentent les différentes catégories d'informations
qu'il est possible d'utiliser lors de l'adaptation. Les objets sont
décrits par un ensemble d'attributs qui les qualifient. [...] Les
attributs fournissent les valeurs qui seront demandées et
utilisées lors du processus d'adaptation, et modifiées lors de
l'interprétation des actions de l'utilisateur.
Une interface, quelle soit adaptée ou non, a pour but
de présenter des informations à l'utilisateur.
Le problème de la représentation des
données à afficher se pose alors. L'approche systèmes
adaptatifs [...] permet surtout d'adapter la navigation et rend l'adaptation du
contenu et de la présentation plutôt difficile à
réaliser. [... ] Les systèmes plus récents utilisent une
approche par fragments qui permet de bénéficier, en plus d'une
adaptation de la navigation, d'une adaptation beaucoup plus fine qui peut
porter à la fois sur le contenu et la présentation.
Georges-Louis Baron et Éric Bruillard [I.60] ont
expliqué que la relation étroite entre connaissance et
représentation soulève la question de la
généricité des modèles que l'on peut construire.
[...] du point de vue de la technologie, la généricité est
une promesse d'économie de moyens, et de réutilisabilité.
Le rapport entre spécificité et généricité
des modèles est en fait une question fondamentale que nous devons
aborder comme telle, c'est-à-dire avec méthode et en cherchant un
encadrement théorique du débat qui permette de rendre plus
objectif son issue.
Bertrand Marquet et Laurent Ballester
[I.53] ont montré que l'approche générique mise en place
consiste à appréhender de manière globale le domaine par
un modèle générique s'appliquant à la fois sur les
exigences du domaine et sur le système proprement dit. La méthode
fait apparaître deux grandes étapes : La première
consiste à décrire une solution générique sur la
base des besoins des utilisateurs des systèmes , des technologies
à supporter (bien que, en toute théorie, le modèle devrait
être indépendant des technologies) et enfin des normes en
vigueur ; la seconde étape consiste à appliquer cette
solution générique d'une part à un cadre spécifique
en considérant le domaine applicatif.
Pierre Crescenzo, Philippe Lahire, Emanuel Tundrea [I.52]
parlent de la généricité paramétrée en
expliquant que le concepteur d'un modèle métier doit tout d'abord
identifier les différentes entités du domaine
modélisé et établir le degré de
généricité de chaque entité. Il commence par
décrire les entités qui ne sont pas
génériques.[...] Pour les entités
génériques, le concepteur définit une métaclasse
générique et y décrit des paramètres et des
caractéristiques qui vont permettre de faire varier la structure et le
comportement de ces entités. Ils sont respectivement définis
comme des instances des classes .
Selon Mathieu Barcikowski [I.51], le processus d'adaptation
[...] consiste à générer une description abstraite d'une
interface au moyen d'un langage de description de l'interface. Cette
génération s'effectue en fonction du modèle usager, de
groupe et de contexte, des fragments et en fonction des templates, mais aussi
consiste à traduire l'interface décrite de manière
abstraite vers une description concrète utilisant le langage
utilisé par le terminal de l'utilisateur. »
Pour avoir un haut degré de
généricité, [I.54] les approches orientées
modèles, telles que MDA (Model Driven Architecture), prônée
par l'OMG , deviennent intéressantes. Ces approches de
développement sont souvent appelées "prototypage par
raffinements" (evolutionary prototyping) [I.12]. Le principe est de concevoir
le système en utilisant un modèle exprimé dans un langage
dédié au domaine d'application visé (ici, les
systèmes répartis).
II.1-2 La généricité par les
composants
Un système générique est
décrit par Chouki Tibermacine [I.48] comme un certain
nombre de composants. Le mode de communication et de coordination entre ces
composants est encapsulé par des connecteurs. La configuration du
système est représentée par un assemblage de composants
par le biais de connecteurs.
Pour mieux appréhender l'importance des composants dans
la généricité, Tarak Chaari et Frédérique
Laforest disent que [I.55] pour la généricité, un
composant doit fournir des services utiles, conformes à l'usage courant
de l'entité qu'il modélise ; l'adaptation d' un composant
générique aux besoins spécifiques d' une application doit
coûter moins cher que le développement d' un composant
spécifique.
Cauvet C., SemmakF. [I.61] ont dit que le
développement à base de composants repose sur deux
mécanismes : la production de composants pour la réutilisation et
la production de composants par réutilisation [[I.61], [I.62]].
La qualité principale attendue d'un composant est
d'être réutilisable. Cette qualité est directement
liée à sa généricité : la définition
d'un composant doit être exempte de tout élément
contextuel, lié à une utilisation particulière du
composant, qui restreint sa capacité à être
réutilisé pour d'autres utilisations. [...] La
réutilisabilité d'un composant dépend de la
généricité de son contexte de définition. Cette
généricité dépend à son tour de la
capacité du langage de modélisation à isoler la
définition d'un composant de tout contexte d'utilisation.
Sylvain Vauttier, Christelle Urtado et Eric Mendizabal [I.63]
ont montré que pour être utile au processus de
réutilisation, le contexte de définition d'un composant doit
comporter :
- la définition des classes qui constituent le
composant,
- les relations structurelles (relations de composition)
qu'entretiennent les classes d'objets du composant entre-elles,
- les relations fonctionnelles (collaborations
définies par des relations d'association) qu'entretiennent les classes
d'objets du composant entre-elles.
Dans sa thèse,Thomas Quinot [I.49] montre comment le
polymorphisme et l'héritage facilitent la réutilisation de
composants, l'un en permettant la manipulation générique
d'ensembles d'entités partageant un ensemble minimal de
propriétés, l'autre en autorisant l'ajout de
fonctionnalités à des objets existants, sans modification directe
de ceux-ci.
Mamadou Niang , Mohamed Sidi Farssi, Sissoko
Gregoire, A. Cissé et A.S.T. Sané [I.65]
ont dit que le modèle ADROIT vise la mise en oeuvre des composants d'un
SI grâce à une application générique
paramétrable dotée d'outils décisionnels et de management
de la connaissance.
II.2 ADROIT (Acte - Document - Rubrique - Objet -
Information - Tiers )
ADROIT est développé pour répondre aux
besoins des entreprises Sénégalaises en générale et
surtout pour les centres médicaux dans le domaine de la
Télé médecine, de l'Hôtelerie, de l'Enseignement et
du Commerce en général. Il peut gérer toute
l'activité d'un hôtel ou d'un centre médical.
ADROIT est développé en PHP. Le système
est basé sur 6 principales fonctionnalités :
- La gestion du site
- La gestion du paramétrage
- La gestion de l'administration
- La gestion de domaine
- La gestion des outils
- La gestion du décisionnel
ADROIT permet de faire des saisies, des modifications, des
suppressions, des consultations et des éditions.
L'architecture graphique de ADROIT peut être
représentée comme suit :
L'ordonnancement des tâches suit le niveau
d'informations de la base de données.
Par exemple: on ne peut pas faire une entrée en
stock d'un nouveau article sans pour autant au préalable créer
l'article.
Saisie d'un nouveau article
Mise à jour du stock
Chacune de ses fonctionnalités est le résultat
d'une instanciation d'un formulaire qui aura des caractéristiques
liées au profil de l'utilisateur.
Par exemple : le secrétaire comptable pourra
saisir dans des comptes mais ne pourra pas saisir les infos liées
à la masse salariale.
La généricité de ADROIT est fonction de
sa capacité de paramétrage. Par cette caractéristique, les
modules de ADROIT peuvent être instanciés avec des
méthodes, des fonctions et des propriétés
spécifiques.
Cette procédure permet à ADROIT d'avoir une
généricité simple.
Tiers
Clients
Patients
Employés
Etc...
INSTANCES
Etc...
Acte
Dossier médicale
Facture
Bulletin de paie
I
N
S
TANCE
S
Exemple d'Acte
Exemple de Tiers
Les éditions dans ADROIT sont paramétrées
de la même manière qu'au niveau formulaire.
On tient compte des profils des utilisateurs; ceci permet
d'instancier le module d'impression pour avoir un état ( une facture, un
bulletin de salaire etc...).
Connexion
L'accès au menu principal passe par un formulaire
d'authentification lié à la table stockant les informations
concernant les utilisateurs autorisés du système. Les
règles de contrôle sont définies de sorte que, tout
utilisateur du système dispose d'un profil permettant de
déterminer quels sont les droits qui lui sont octroyés, et
quelles sont les informations auxquelles il a accès. Ce qui fait que
n'importe qui ne peut faire n'importe quoi sur le système. Aussi, pour
éviter des attaques externes comme internes, la technologie de cryptage
md5 a été utilisée pour la transmission des informations
sensibles, telles que les mots de passe, sur le réseau.
Ainsi tout mot de passe fourni sur le réseau est
crypté de façon irréversible de sorte que même si
une personne mal intentionnée récupère l'information, elle
ne puisse pas régénérer le mot de passe en clair.
Paramétrage
Le paramétrage de ADROIT est relativement simple avec
l'interface qu'il offre pour le faire.
L'accès au menu d'administration n'est permis
qu'à l'administrateur ou l'intégrateur du site et pour le faire
il faut s'identifier à l'accueil.
On accède à toutes les autres
fonctionnalités de paramétrage et d'administration du
progiciel.
Le paramétrage permet :
- de gérer les profils des domaines (
c'est le degré d'accessibilité à un domaine particulier),
- de gérer les domaines (
création des domaines d'activités ou des fonctions),
Exemple : Comptabilité, Stock, Finance, Production etc...
- de gérer les listes ( permet de
créer les données de base des tiers, des objets et des
produits),
- de gérer les champs (à chaque
classe, on peut attribuer des champs suivant le domaine ; les
libellés des champs sont susceptibles d'être modifiés)
Gestion des profils
(Paramétrage)
Dans la gestion des Profils, on détermine le niveau
d'accès à un domaine fonctionnel du système. Par exemple
si on attribue « Publique » au domaine Stock, cela veut
dire que Stock est accessible à tout le monde.
Gestion des Outils
(Paramétrage)
Dans la gestion des Outils, l'intégrateur peut stocker
ses outils de travail ( outils de développement, de conception et
d'intégration etc ...).
Gestion des Domaines
(Paramétrage)
Dans la gestion des Domaines, on crée les domaines ou
les fonctions d'une entreprise. Ceci permet de faire une gestion verticale
d'une fonction d'entreprise. Par exemple : La comptabilité existe
dans toutes les entreprises et par conséquent ce domaine pourra
être utilisé par toute entité quelque soit son
activité (médicale, commerciale, production etc...).
Pour chaque domaine, on peut lui attribuer des classes du
modèle. Cette fonctionnalité est un des résultats de la
généricité du modèle ADROIT.
Gestion des SMS
(Paramétrage)
Permet de choisir les actes qui peuvent être
envoyés par SMS, par mail ou par serveur vocal. Dans ce cas chaque acte
est associé à un ou plusieurs types de média. Par
exemple : une facture peut être envoyée par SMS, par mail ou
son montant communiqué par boîte vocal
Gestion des Champs (
Paramétrage)
Pour chaque Acte, on associe les champs qui sont
concernés (les champs d'une facture ne seront pas les mêmes que
ceux d'un acte médical). Il n'a que les champs choisis qui seront
affichés au moment de l'instanciation de la classe. La
généricité réside dans le degré de
paramétrage qui permet l'association d'un acte à des champs sans
limite aucune.
Gestion des Listes (
Paramétrage)
Les listes font parti d'une série de concepts qui ont
donné à ADROIT sa généricité car il y a le
principe de la réutilisation des classes telles que TIERS ou OBJETS ou
PRODUITS dans toutes les fonctions d'une entreprise. Les listes sont des
instances des classes qui participent aux éléments de bases d'une
classe principale (Acte). Par exemple : Création de la liste des
clients d'une entreprise commerciale ; pour facturer un client, il faut
aller récupérer le client dans la liste des clients ou la
créer dans la liste.
Gestion des Utilisateurs
Dans la gestion des utilisateurs, on peut associer à
chaque utilisateur les domaines et les menus où il a accès. Cette
fonctionnalité permet de gérer la sécurité du
système au niveau accès.
Gestion des types d'Actes
Dans la gestion des types d'Actes, on peut créer des
types d'actes qui seront associés à des domaines, des classes
(Tiers, Objets ou Produits, Infos ou Documents). Chaque zone contenant
l'instance d'une classe peut être affichée ou non suivant la
définition et la fonctionnalité du type d'acte
considéré.
Ce paramétrage de la gestion des Actes donne un
caractère générique au modèle ADROIT.
Gestion des type de Tiers
Dans la gestion des types de Tiers, on peut créer des
créer des types de tiers ( par exemple : CLIENTS, FOURNISSEURS,
EMPLOYES etc..). L'instanciation de la classe tiers associée au type de
tiers permet de créer une liste ( par exemple : Clients :
Mamour Ndiaye, Moustapha Diouf etc...)
Gestion des Objets
Dans la gestion des objets, on crée les objets et les
produits. Chaque objet ou produit est lié à un type d'Acte. Les
produits représentent les articles commercialisables et les objets
représentent les immobilisations. Ceci permet par exemple de
gérer séparément la gestion des immobilisations à
la gestion commerciale. Cette fonctionnalité est possible à cause
la généricité du modèle qui à permis de
prendre en compte les objets et les produits dans une même entité.
Gestion des Informations
La gestion des informations permet de définir le
paramétrage des éléments divers ne figurant pas dans les
classes prédéfinies. Ces éléments divers peuvent
être des listes qui pourront servir à alimenter le choix des
rubriques informations. Par exemple : les pays de naissance ou les pays
des adresses clients ou fournisseurs.
Gestion des Documents
La gestion des documents prend en compte les types de
documents tels que les documents scannés, les photos, les textes
attachés etc. Chaque type de documents peut être lié
à un domaine. Par exemple : Le type de document Photo peut
être lié au domaine Ressources Humaines.
|