SOMMAIRE Pages
Introduction 2
I. Intégration 4
1. Etat de l'art 4
2. Intégration par le modèle ADROIT
44
3. Critiques sur l'intégration
52
4. Propositions d'amélioration du modèle
d'intégration de ADROIT 53
II. Généricité du modèle
application 58
1. Etat de l'art 59
1. Généricité par les modèles
59
2. Généricité par les composants
63
2. ADROIT ( Acte - Document - Rubrique - Objet -
Information - Tiers) 65
3. Critiques sur la généricité du
modèle application 75
4. Propositions et amélioration du
modèle application de ADROIT 76
III. Plateforme ADROIT : Comment gérer un
hôtel 78
1. Vue d'ensemble des fonctionnalités d'une
gestion d'hôtel 78
2. Les cas d'utilisation 79
3. Diagramme de classe 81
4. Intégration de gestion d'hôtel dans
ADROIT 82
IV. Conclusion 85
INTRODUCTION
Depuis des années, les systèmes d'information
deviennent de plus en plus complexes. On parle désormais de
système obéissant à la généricité des
données et des fonctionnalités.
Un système générique doit
fournir :
Ø un modèle de données
générique utilisable par un utilisateur final autorisé et
contenant les données les plus souvent présentes dans la
majorité des services.
Ø Une interface utilisateur documentée
entièrement paramétrable par le même utilisateur.
Dans les grandes entreprises et organisations, les besoins de
l'utilisateur peuvent être complètement différents d'un
site à l'autre et d'une fonction d'entreprise à une autre. L'un
des défis majeurs pour aboutir à l'informatisation de tels
systèmes est de fournir des outils génériques et pratiques
qui conviennent à de multiples cas de figures et aux acteurs
impliqués dans les fonctions d'entreprise correspondantes.
Les entreprises et organisations tous secteurs confondus, doivent
s'attacher à :
· Tirer profit des infrastructures existantes pour faire
des économies.
· Prolonger la durée de vie de leurs
systèmes.
· Moderniser tout en maintenant une activité
normale.
Conscients de ces enjeux et de leur incidence majeure sur
l'activité de l'entreprise, les acteurs du génie logiciel se
penchent de plus en plus sur l'intégration et la
généricité des systèmes qui permettront de
concevoir, déployer et exploiter des solutions pratiques.
Notre travail consiste à analyser l'intégration
de systèmes déjà existants tels que ERP5, OFBIZ, COMPIERE
et TINYERP, à étudier la généricité du
système ADROIT et à faire une mise en oeuvre en intégrant
la gestion d'hôtel dans ADROIT.
A cause de la nécessité pour les entreprises de
mettre en place des systèmes d'informations paramétrables, le
système que nous allons concevoir doit remplir toutes les conditions
pour être utilisé dans n'importe quelle structure ou domaine.
Ce mémoire comporte un ensemble de recherches qui
s'inscrivent dans le cadre d'une problématique portant sur
l'intégration des systèmes et la généricité
des modèles. D'une part, il établit les fondements
théoriques d'une intégration et d'une
généricité. D'autre part, il rassemble les meilleures
pratiques et démarches pour faire une bonne intégration par
généricité.
Ce document permet, en effet, de bien définir les
objectifs que nous voulons atteindre, la démarche que nous adoptons et
les moyens dont nous disposons pour les atteindre.
Dans un premier temps, nous chercherons
à comprendre comment intégrer ou faire intégrer notre
système à d'autres. Pour cela, nous verrons d'abord les PGI (
Progiciels de Gestion Intégré) avant de mettre en évidence
les différents outils d'intégration tels que les EAI (Entreprise
Application Intégration) et les EII (Entreprise Information
Intégration). Pour illustrer l'utilisation de ces outils, nous
exposerons des exemples de réalisations de PGI, d'EAI et d'EII.
Dans ce chapitre, nous étudierons le modèle
ADROIT ( Acte, Document, Rubrique, Objet, Information, Tiers) en passant en
revue ses aspects génériques. ADROIT est un modèle
générique conçu par InformatiS pour apporter une solution
à l'épineux problème de l'intégration et de la
généricité. Ce modèle sera comparé à
d'autres modèles tels que ERP5, OFBIZ, COMPIERE etc.. A l'issue de cette
étude comparative, nous ferons des critiques sur les différents
modèles étudiés et apporterons des propositions sur le
modèle ADROIT.
Dans un deuxième temps, nous
étudierons la généricité dans son ensemble en se
basant sur deux aspects qui sont : la généricité par
les modèles et la généricité par les composants.
Nous verrons aussi le modèle d'application de ADROIT
qui nous permettra de comprendre son degré de
généricité.
Nous ferons des critiques sur la
généricité du modèle d'application de ADROIT et y
apporterons des propositions d'amélioration.
Dans un troisième temps, pour mettre
en oeuvre notre travail de recherche, nous ferons l'intégration de la
gestion d'hôtel dans le modèle ADROIT. Pour cela, nous donnerons
une vue d'ensemble sur la gestion d'un hôtel, les cas d'utilisations
permettant de structurer les besoins des utilisateurs et les objectifs
correspondants, le diagramme de classe qui donnera structure du modèle
à intégrer et l'intégration de la gestion d'hôtel
proprement dite.
Nous finirons enfin par la conclusion dans
laquelle nous ferons un aperçu global de notre travail.
I. Intégration
I.1 Etat de l'art
De nos jours, de larges volumes de données sont
disponibles publiquement, les types de données sont divers, et les
ressources très nombreuses. Souvent les données provenant de
différentes sources se complètent mais se recoupent
également
Un système intégré est un système
qui organise les interactions avec les utilisateurs humains en
privilégiant la saisie et l'utilisation en temps réel des
informations, qui minimise les saisies multiples et facilite la
réutilisation des données au profit des différentes
activités de l'entreprise (délivrance des soins, gestion
administrative et financière, pilotage, autoévaluation et audit,
recherche, enseignement). Un système intégré est capable
de faire abstraction d'un découpage en sous-systèmes
dédiés aux différentes unités fonctionnelles (
fichier central des patients, facturation des soins, etc...).
Il convient tout d'abord de distinguer le concept
d'intégration en tant que propriété d'un système
(on parle de système intégré), du concept
d'intégration au sens d'un processus tendant à transformer un
système pour en faire un système intégré.
L'intégration des applications consiste en la
combinaison de plusieurs applications métiers, créant ainsi une
valeur ajoutée pour les entreprises car cela permet l'échange et
le partage des données.
L'expansion du nombre de sources d'informations disponibles
sur le Web a fait de l'intégration de données un domaine de
recherche de plus en plus important. Les sources d'informations sont autonomes,
réparties et hétérogènes. Pour optimiser
l'exploitation des informations, les systèmes d'intégration de
données offrent à l'utilisateur une vue uniforme et une
interrogation transparente des contenus de ces différentes sources.
Selon Mathieu Lafourcade [I.1], l'intégrabilité
d'un système est sa faculté à pouvoir accepter un nouveau
composant. Un composant est d'autant plus intégrable qu'il est facile de
le rajouter comme nouvel élément d'un système.
On peut définir un ERP comme un système
d'informations unique (englobe toutes les autres applications). Dans ce cas,
l'ERP contient des fonctions ; une fonction manipule des objets
métiers; les objets métiers sont décrits par une base de
données unique.
L'ERP est un sous ensemble d'informations capable de prendre
en charge la gestion intégrale de l'entreprise, incluant la gestion
comptable et financière, la production et la logistique, la gestion des
ressources humaines, la gestion administrative ainsi que la gestion des ventes
et des achats.
On peut définir l'organisation d'un ERP comme
suit :
Base de Données
Marketing
Gestion de la Production
Logistique
Finances
R & D
Achats/Appro
Commercial
Ressources Humaines
Organisation d'un ERP
PGI dont l'acronyme est Progiciel de Gestion
Intégré, est l'équivalent des ERP, c'est à dire
Enterprise Ressource Planning, en anglais. Ce sont des logiciels centralisant
toutes les informations concernant certaines fonctions d'une entreprise. Ils
s'articulent autour d'une base de données unique, un jeu de code et une
interface utilisateur intégrée.
En effet, les ERP se proposent de gérer les ressources
de l'entreprise, mais encore faut-il les faire fonctionner correctement avec
les systèmes déjà en place. Les progiciels de gestion
intégrés (ERP) sont des applications qui, fonctionnant à
travers une organisation et grâce à leur intégration,
automatisent les processus d'affaires de l'organisation.
Philippe Louchet et Frédérique Brossillon
expliquent que [I.2] « La caractéristique première du
PGI est son organisation autour d'une unique base de données et son
rôle d'unification des systèmes d'informations.
L'EAI est un logiciel qui permet la
compatibilité et l'interopérabilité entre des applications
déjà existantes, non compatibles à l'origine. Elle
permet de synchroniser et de faire communiquer
des applications hétérogènes qui
n'avaient pas été conçues pour dialoguer entre elles par
échange
d'informations indépendamment des plates-formes et du
format des données.
Il permet de fédérer des applications mais aussi
il limite le nombre des interfaces et facilite l'évolution du
système.
L'EAI à trois fonctionnalités qui sont :
Ø la connexion aux applications,
Ø la conversion des informations dans un langage
commun,
le transport et le routage des informations, de l'application
émettrice à l'application réceptrice.
Les web services sont
considérés comme des outils de connectivité au sein des
EAI. C'est une application qui permet à client de se connecter à
d'autres applications
Le web service étant donc une fonctionnalité de
l'EAI, F. Casati et M-C Shan le définissent comme [I.3] une application
mise à disposition sur Internet par un fournisseur de service, et
accessible par les clients à travers des protocoles Internet
standards.
Les web services sont des protocoles qui font
communiquer des programmes écrits dans des langages de programmation
différents. C'est ainsi que Patrick Kellert et Farouk Toumani ont
définit techniquement un service web [I.4] comme étant une
interface décrivant une collection d'opérations accessibles via
le réseau à travers des messages XML standardisés.
Le MOM signifiant « Message Oriented
Middleware », est également appelé Middleware asynchrone. En
fait, c'est une technologie qui permet de transporter et de transformer les
messages d'un point à un autre et facilite la communication entre
applications.
Le concept de Middleware désigne des services
destinés à faciliter l'intégration des applications au
sein des systèmes d'informations. La démarche
d'intégration fondée sur l'utilisation d'un Middleware consiste
donc à modifier les produits existants pour permettre leur inter
fonctionnement via une plateforme d'intégration.
Moisdon J-C et Seli-Arslan définissent le Middleware
à messages ou MOM ( Message-Oriented Middleware ) [I.5] comme une
infrastructure logicielle de communication asynchrone qui prend à sa
charge les problèmes transitoires de réseau, de connexion de
machine, voire de disponibilité de machines. Ils sont utilisés
pour interconnecter des applications d'entreprise
L'EDI est un concept d'échange de
données informatisé visant à transférer
d'application à application, à l'aide d'ordinateurs,
connectés sur un ou plusieurs réseaux des données
structurées selon un langage normalisé via un mode de
communication électronique.
L'EII (Enterprise Information Integration)
permet de coordonner des transactions impliquant différentes sources de
données. Elle permet aussi à une application métier
d'accéder à un ensemble de bases de données par le biais
d'une vue logique unique et une interface de programmation unique.
XML est un langage à balises
permettant de décrire des documents à destination du Web, qui
contiennent à la fois des données ( des mots, des images ...) et
les indications sur leur rôle.
Un datawarehouse est une plateforme avec des
données de très bonne qualité qui supportent des
applications de type informationnel, comme les applications d'aide à la
décision, ainsi que les processus dans l'entreprise.
W.H. Inmon [I.6] définit le datawarehouse comme
étant une collection de données orientées sujet,
intégrées, non volatiles et historisées, organisées
pour le processus d'aide à la décision. En 2003, Jeff Konnen
[I.7] précise que la motivation des datawarehouses, ou entrepôts
de données, est de transformer des données stockées dans
des systèmes d'information opérationnels en informations.
L'intégration ad hoc consiste à modifier les
sous-systèmes existants pour permettre la communication des
données entre les sous-systèmes à intégrer. Cette
approche n'est pas antinomique de l'utilisation de standards.
On peut distinguer trois approches de l'ERP :
L'adoption complète « Comprehensive
» : Dans cette approche, un ERP quasiment au
complet est adopté à travers une organisation multi nationale,
qui comporte plusieurs sites.
L'adoption moyenne « Middle road »
: Dans cette catégorie, l'organisation qui adopte l'ERP
peut y avoir un site principal ou plusieurs sites.
L'adoption vanille « Vanilla » :
Cette catégorie est plutôt peu ambitieuse et peu
risquée. On déploie le système dans un seul site et avec
un nombre d'usagers. On n'adopte qu'un nombre restreint de modules clés.
C'est l'organisation qui s'adapte à l'ERP et non l'inverse.
Philippe Louchet et Frédérique Brossillon
explique comment le terme « processus » revient fréquemment
quant il est question de PGI. [I.2] et pour cause : [...] `approche
processuelle de l'organisation de l'entreprise est basée sur l'analyse
en termes de « facteurs clés de succès » et de «
chaîne de la valeur » développée notamment par Michael
Porter [I.8].
Dans son livre « La mise en place des
systèmes d'informations », Rigaud Louis [I.9] montre que
l'approche systémique et modulaire de l'entreprise qui présente
celle-ci comme la réunion de trois sous-systèmes (systèmes
opérant, d'information, de décision) peut également
être mobilisée pour penser l'intégration à laquelle
prétend le PGI.
L'essence même de l'EAI est de décorréler
les applications entre elles. Chaque application communique directement avec
l'EAI, qui se charge d'acheminer les informations qu'il reçoit vers les
applications destinatrices. L'EAI peut être vu comme un bus à
travers lequel différentes entités vont communiquer. Ce bus va
assurer diverses fonctions (transport, transformation, routage et workflow)
ainsi que les services de sécurité.
L'EAI répond à un besoin de mise en oeuvre d'une
solution d'intégration rapide. Il ne nécessite pas de modifier
l'architecture du SI ni les applications qu'il intègre.
Pour fonctionner, l'EAI intègre les
éléments suivants :
Ø un référentiel des objets métier
de l'entreprise, un moteur de gestion de règles,
Ø des connecteurs applicatifs permettant l'interface
avec les applications et les données de l'entreprise,
Ø un système de transport des informations.
Pour le transport des informations, on parle de :
Ø hub : le point central ou convergent les
informations du système,
Ø Middleware : d'une manière
générale, la couche logicielle qui s'intercale entre des
applications et un système,
Ø MOM (Middleware orienté messages) : il s'agit
d'une organisation où une application A n'attend pas la réponse
de l'application B, avec laquelle elle communique, pour continuer à
travailler. Dans ce cas, les communications sont gérées à
l'aide de files d'attente, la communication est asynchrone.
Ø message broker : le système
qui traduit les données échangées, gère les
adresses et les files d'attentes des messages porteurs d'informations entre les
applications.
Les approches des web services sont des approches de
connectivité des EAI.
Ardissono L. Goy A. et Petron G. dans le livre intitulé
« Enabling Conversations with web services » [I.10]
définissent l'approche web services comme une approche
basée sur les modèles théoriques de la gestion du
dialogue.
L'approche web services a un objectif qui est définit
dans le livre « Semantic Web Enabled Web Services. » de D.
fensel C. Bussler et A. Maedche [I.11] comme étant de transformer le Web
en un dispositif distribué de calcul où les programmes (services)
peuvent interagir de manière intelligente en étant capables de se
découvrir automatiquement, de négocier entre eux et de se
composer en des services plus complexes.
Les approches des MOM sont des approches de transport
des EAI.
Dans un article intitulé « Approche
coopérative de l'adaptabilité des applications mobiles
basées sur MobileJMS » de Mejdi Kaddour et Laurent Pautet
[I.12] montrent que le faible couplage entre les entités communicantes
dans un MOM, en terme de disponibilité et de logique fonctionnelle,
permet d'incorporer à un système d'information global les
applications et les données patrimoniales de l'entreprise, et ouvre la
voie à de nouveaux types d'accès comme le Web.
EII a trois dispositifs principaux :
Ø C'est une infrastructure de logiciel, pas
une application. EII soutient la création des applications comme
portails d'entreprise qui montrent et analysent des données
combinées à travers des sources de données.
Ø L'EII est un logiciel simple qui donne une large
étendue des applications sur la deuxième rangée d'une
architecture e-business qui accède à des bases de données
et des systèmes de fichiers fonctionnant sur la troisième
rangée sans données de réplique.
Ø Elle fournit une approche
intégrée. EII fournit une infrastructure commune
sur ce que tous les liens peuvent être construits.
L' EDI a trois approches qui sont
défini par Denis Gerard et J-R Caron [I.13]
Ø L'EDI en mode autonome est la forme la plus simple
à mettre en place. Les applications d'EDI fonctionnent sans liens avec
les autres applications de l'entreprise. L'EDI en mode autonome se
concrétise de façon plus courante sous trois formes : le
formulaire électronique, la télécopie à EDI et le
bureau de service.
Ø Le mode intégré suggère une
harmonisation entre les applications existantes et le logiciel d'EDI. L'EDI, en
mode intégré, entraîne une automatisation de certaines
tâches. L'application d'EDI peut converser avec les applications de
l'utilisateur.
Ø L'EDI en mode intégré et
transformation se distingue du mode intégré non pas sur le plan
du matériel ou du logiciel, mais plutôt par le fait que l'EDI est
intégré aux processus d'affaires de l'entreprise.
Olivier Grenet dans « la connectivité des
logiciels doit s'appuyer sur des standards afin d'assurer
l'interopérabilité des systèmes » montre le
caractère presque indispensable de XML au sein des SGBDR [I.14] en ces
termes : « Le développement croissant des contenus XML a
incité les SGBDR de dernière génération à
intégrer au moins des fonctions d'importation/exportation d'XML et au
mieux à stocker et gérer nativement les données XML.
Le datawarehouse ou entrepôts de
données a trois principales approches : OLAP, MOLAP et ROLAP.
Ø Le concept OLAP (On Line Analytical Processing)
repose sur une base de données multidimensionnelle, destinée
à exploiter rapidement les dimensions d'une population de
données. La plupart des solutions OLAP reposent sur un même
principe : restructurer et stocker dans un format multidimensionnel les
données issues de fichiers plats ou de bases relationnelles.
Ø Les outils MOLAP sont conçus exclusivement
pour l'analyse multidimensionnelle, avec un mode de stockage optimisé
par rapport aux chemins d'accès prédéfinis.. MOLAP
agrège tout par défaut.
Ø Les outils ROLAP superposent au dessus des SGBD/R
bidimensionnels un modèle qui représente les données dans
un format multidimensionnel.
Dans l'article « Une démarche de conception
générique », Michel Chokron et M. Des Rochers [I.15]
ont précisé que la technique de conception des ERP
nécessite l'existence d'une architecture de base à partir de
laquelle l'ERP et ses différentes options sont établis. Cette
architecture de base devrait être le commun dénominateur de
l'architecture des systèmes des entreprises clientes car ainsi on
minimiserait l'effort de paramétrage.
Dans leur recherche, Losavio et al. [I.16], étendent
un modèle conceptuel d'intégration d'outils CASE pour avoir une
conception unique et cohérente au niveau des processus et des services
dans une organisation.
|
Intégration montante
|
Intégration arrière
|
Intégration frontale
|
|
"Upward"
|
Backward
|
"Forward"
|
Processus
|
|
|
|
Exemple :
|
Planification de l'approvisionnement
|
Approvisionnement
|
Approvisionnement avec les
|
Gestion de
|
de la haute direction
|
Pour les producteurs
|
fournisseurs, et vendeurs
|
l'approvisionnement
|
|
|
|
Services
|
. Systèmes d'aide à la décision
|
Outils CASE
|
. Systèmes de gestion
|
|
. Systèmes à base de
|
Systèmes
|
des données clients
|
|
connaissances
|
Patrimoniaux ERP
|
. Systèmes de gestion
|
|
. Systèmes d'audit ou
|
|
des données fournisseurs
|
|
d'assurance qualité
|
|
. Systèmes de e-commerce
|
|
|
|
entre entreprise
|
|
|
|
. Systèmes de e-commerce
|
|
|
|
entre vendeur et client
|
Technologie
|
Matériel
|
|
|
|
Logiciel
|
|
|
|
BD
|
|
|
|
Technologie de communication
|
|
|
D'un autre côté, dans l'article de Toussaint P.J.
[I.17], l'intégration centrée sur les applications utilise deux
groupes de technologies. L'approche Middleware applicatif qui est une
démarche d'intégration fondée sur l'utilisation d'un
Middleware consistant à modifier les produits existants pour permettre
leur inter fonctionnement via une plateforme d'intégration.
Ainsi l'EAI assure trois fonctionnalités, en effet
c'est à la fois : un service de connectivité des applications
Middleware, un gestionnaire de processus workflow, un transformateur de
données.
Pour interconnecter plusieurs applications à travers
les EAI, les web services ont des technologies telles que : SOAP, WSDL,
UDDI, WSFL, WSCL, ebXML.
P. kellert et F. Toumani [I.4] ont montré que du point
de vue technique, la description d'un web service inclut tous les
détails nécessaires à l'interaction avec le service comme,
par exemples, le format des messages, les signatures des opérations, le
protocole de transport et la localisation du service. Les web services
s'appuient sur des mécanismes et des protocoles standards et sont donc
indépendants des langages de programmation (Java, J#, C++, Perl, C#,
etc.), du modèle objet (COM, EJB, etc.) ainsi que des plates-formes
d'implémentation (J2EE, .NET, etc.).
Dans sa thèse sur « la conception d'une
plate-forme électronique basée sur les rapports commerciaux de
vente de produits de luxe », Nikia Filipovic [I.18] montrent les
principaux protocoles, technologies et standards dans les web services
Ø The simple Object access Protocol (SOAP) combine XML
et Multipart Internet Mail Extensions (MIME) pour créer un "extensible
packaging format". Message SOAP peut être transporté par beaucoup
de mécanismes de transport, comprenant http, SMTP et le transport
traditionnel des messages.
Ø The Web Services Description Language(WSDL) est un
vocabulaire XML utilisé pour décrire les Web Services. Il
définit les opérations, les types de données et "binding
information". Artefact.
Ø Universal Description, Discovery, and Integration
(UDDI) fournit le modèle pour organiser, régistrer et
accéder l'information sur les web services.
Ø The Web service Flow Language (WSFL) et le Web
Service Collaboration Language (WSCL) sont concernés par la description
du workflow entre les services, ainsi leurs rapports peuvent être
encapsulés faisant la partie de l'application.
Ø Electronic Business XML(ebXML) fournit le framework
pour e -commerce qui inclut le "inter-application workflow" et la description
et la découverte des services. Il utilise le SOAP comme le
mécanisme du transport mais n'utilise pas directement WSDL, UDDI ou
WSFL.
Pour transporter les messages entre applications les MOM
utilisent des technologies telles
que [I.19] :
Ø Le modèle de programmation des invocations
distantes : l'entité appelante (client), avant de demander un
service à une autre entité (serveur), doit connaître
l'existence d'un tel serveur capable de satisfaire/exécuter sa
requête et doit obtenir sa référence.
Ø Le modèle d'une architecture basée sur
des événements : les composants coopèrent par l'envoi
et la réception d'événements, un type spécial de
messages. L'émetteur du message (la source) transmet un message à
un aiguilleur de message qui se charge de le distribuer à tous les
composants ayant déclaré leur intérêt dans la
réception de ce message. Ce type d'infrastructure s'appelle souvent MOM
(Message Oriented Middleware).
Modèles de
programmation
Les solutions d'EII s'adossent à
différents modes d'interfaçage pour s'affranchir de
l'hétérogénéité technologique des serveurs
de données de l'entreprise. Il peut s'agir de connecteurs (JDBC, ODBC ou
encore JCA) ou encore de web services (interfaces SOAP/WSDL).
La transmission à l'application de données
structurées selon un format normalisé peut se faire de diverses
façons selon Lucy Bottomley [I.20] et les méthodes les plus
couramment utilisées sont les suivantes :
Ø EDI direct ou point à
point : L'EDI direct assure une liaison directe
entre deux ordinateurs.
Ø Réseau à valeur ajoutée
(RVA) : Le RVA met à la disposition de l'abonné une
boîte aux lettres électronique permettant l'enregistrement et la
retransmission des messages, et un certain nombres de services
supplémentaires.
Ø Internet : Le réseau
Internet constitue une méthode rapide et peu coûteuse à
laquelle on pourrait éventuellement faire appel pour la livraison des
messages par courrier électronique ou par transfert de fichiers.
Selon mounir Fegas [I.21], les documents XML sont
représentés par un ensemble de leurs paths et sous-paths, qui
sont classées par longueur. Cette représentation nous permet
d'aplatir ces documents, tout en conservant leurs structures.
Sur le plan conceptuel, un document XML a deux
parties:
Ø le document proprement dit, obligatoirement
présent,
Ø une description formelle optionnelle, appelée
Document Type Definition (DTD).
Cette description contient les règles syntaxiques que
doit respecter le document. Tout se passe comme pour un programme que l'on
écrit dans un langage de programmation: le langage a une grammaire qui
décrit les structures syntaxiques permises pour un programme et les mots
réservés que l'on emploiera.
Les outils APL de Veys [I.22] utilisent une mesure de ratio
d'interaction qui crée des domaines selon le degré
d'échanges d'information de part et d'autre des fonctions. Elle comprend
une étape d'analyse de l'organisation et de sondage auprès des
utilisateurs sur les processus d'affaires, les classes de données et les
unités organisationnelles. Cette méthode de conception
d'architecture ne cherchait pas à créer un modèle
générique. »
Le logiciel d'EAI offre par ailleurs [I.23] un ensemble de
composants architecturaux qui facilite grandement les échanges entre les
bases de données. Parmi ces composants figurent les services de
transformation de données, la sécurisation et la fiabilisation
des échanges, l'utilisation de connecteurs standard d'accès aux
sources de données.
Dans leur recherche, Losavio et al. étendent [I.16] un
modèle conceptuel d'intégration d'outils CASE pour avoir une
conception unique et cohérente au niveau des mécanismes
dans une organisation.
Mécanismes
|
|
Architecture
|
Styles architecturaux
|
Patrons
|
|
. Invocation par évènements
|
. Courtier
|
|
. Niveaux en couche
|
. Réflexion
|
|
. Dépôts d'archives
|
. Façade d'encapsulation
|
|
|
. Intercepteur
|
L. Avignon et T. Brethes dans « Le livre blanc de
l'EAI- Intégration des applications d'entreprise » [I.24]
citent trois principales architectures EAI, par ordre d'importance
décroissant dans les systèmes actuels qui sont :
Ø Le transfert de fichier représente l'immense
majorité des flux d'information. Quand deux applications communiquent,
le premier mécanisme mis en oeuvre consiste à extraire une partie
de l'information contenue dans l'application, puis, pour chaque destinataire,
la formater et la transmettre.
Ø Les systèmes d'extraction orientés
datawarehouse ( Extract -Transform-Load : ETL) constituent une avancée
dans le domaine puisqu'ils prennent en charge la gestion d'un dictionnaire
mettant en relation les données sources (qui peuvent être sous
différentes formes : fichiers, bases relationnelles, etc.) et les
données cibles du datawarehouse.
Ø Les systèmes de réplication SGBDR sont
optimisés pour répliquer en mode fil de l'eau ou en mode batch
des données issues de SGBDR. »
L'architecture de référence des web
services s'articule autour des trois rôles suivants [I.4]:
Ø Le fournisseur de service : correspond au
propriétaire du service. D'un point de vue technique, il est
constitué par la plate-forme d'accueil du service.
Ø Le client : correspond au demandeur de service. D'un
point de vue technique, il est constitué par l'application qui va
rechercher et invoquer un service. L'application cliente peut être
elle-même un web service.
Ø L'annuaire des services : correspond à un
registre de descriptions de services offrant des facilités de
publication de services à l'intention des fournisseurs ainsi que des
facilités de recherche de services à l'intention des
clients. »
Client
Recherche/localisation
Lier ( bind)/connecter
Invovation
service/méthodes
Fournisseurs de services
Implémentation
Déploiement
Description et
publication
Annuaire de
Service
(e.g. UDDI)
2 - Rechercher WSDL
4 - Invoquer (SOAP)
1 - Publier (WSDL)
3 - Lier/
connecter
Architecture des services web
Philippe Laumay dans « Déploiement d'un bus
à message sur un réseau à grande
échelle » [I.25] montre qu'il existe trois types
d'architectures qui assurent une modularité de déploiement des
MOM sur n'importe quel type de topologie réseau et applicative :
Ø La topologie hub and spoke est une architecture
centralisée représentée par un seul serveur
représentant le MOM.
Ø La topologie snow flake
est une architecture distribuée représentée
par un ensemble de serveurs interconnectés (mais pas complètement
maillés).
Ø La topologie en Bus est une
architecture distribuée représentée par un ensemble de
serveurs interconnectés à la manière d'un LAN (c'est
à dire un graphe de serveurs complètement
maillés). »
On peut citer trois types d'architecture MOM : Hub and
spoke, Snow flake, Bus.
L'architecture hub and spoke est
appelée ainsi car elle se présente comme une roue de vélo,
où tous les rayons (spoke) sont reliés au même moyeu
central (hub). Cette architecture est constituée d'un serveur principal
unique qui centralise tous les messages .
L'envoi de message est très simple à
réaliser, l'émetteur lance son message au serveur central
(broker) puis celui-ci le transmet dans la boîte aux lettres du
destinataire.
Le deuxième type d'architecture est appelée snow
flake à cause de sa topologie en flocon de neige (voir Figure
). Contrairement à l'architecture précédente, ici le
gestionnaire de messages est distribué sur plusieurs sites. Le MOM est
donc représenté par un ensemble de serveurs qui constitue le
gestionnaire global, chaque serveur étant une partie (un sous-module,
une subdivision, etc.) de l'ensemble. Lorsqu'un client (une application)
s'adresse au gestionnaire de messages il s'adresse en fait à l'un des
"serveurs de messages". L'émetteur envoi un message au gestionnaire de
messages via un serveur appelé point d'accès, puis le message est
transmis par le serveur soit directement au destinataire si celui-ci est
associé au même serveur, soit à un autre serveur auquel est
associé le destinataire.
Dans le livre « MTS & MSMQ » de Alex
Hormer et D. Sussman [I.26] et dans l'article « A case for Message
Oriented Middleware » de G. Banavar [I.27], les auteurs disent que la
topologie de l'architecture « Snow flake » permet
de réaliser plus facilement une application à grande
échelle. Dans l'architecture précédente, le passage
à l'échelle était limité à cause du nombre
restreint de clients associés à l'unique serveur gestionnaire de
messages. Dans cette configuration, il est aisé de relier un grand
nombre de serveur et de déployer les clients sur ces différents
sites. Ainsi tous les clients ne s'adresseront pas toujours au même
serveur.
P. Reiss a dans son article « Connecting Tools Using
Message Passing in the Field Environment » [I.28] dit que
l'architecture en Bus est la plus récente des
architectures répartie, elle est employée dans les MOM les plus
récents. Le modèle de bus à messages n'est pas
forcément une architecture définie au niveau physique. Le bus
logiciel est en fait une vision logique d'une architecture distribuée
dont le but est d'acheminer les messages à leurs destinataires. La
vision réelle de l'architecture d'un bus est une architecture snow flake
qui serait complètement maillée.
L'architecture d'une solution EDI est constituée de 3
composants [I.29] :
Ø Le système d'information. Celui-ci
représente l'ensemble des applications amenées à
échanger des messages.
Ø Les logiciels EDI, ou traducteurs. Leur principal
rôle est d'assurer la transformation des
données d'un format applicatif, propre à
l'entreprise, à un format d'échange standard, reconnu
par le partenaire.
Ø Les interfaces de communication. Ceux-ci permettent
l'envoi et la réception de messages EDI sous différents
protocoles et sur différents réseaux.
XML (eXtensible Markup Language) est similaire à HTML
(HyperText Markup Language), dans le sens où il utilise un
système de balises ouvrantes/fermantes. Cependant, XML va beaucoup plus
loin dans la définition des règles syntaxiques associées
au langage, et constitue un langage stricte et standardisé pouvant
être réutilisé et adapté aux besoins
spécifiques d'applications.
XSL
WSDL
SOAP
UDDI
Web services
EAI
Quelques langages de l'univers XML
XQUERY
BPML
Les constituants de base d'un document XML sont les «
éléments », et les « attributs » [I.30]
.
Un document XML est dit `bien-formé' s'il respecte le
formalisme XML (éléments-attributs) et les règles
associées (encodage ...)
Le Model Driven Architecture (MDA) [I.31] est une
démarche de développement proposée par l'OMG. Elle permet
de séparer les spécifications fonctionnelles d'un système
des spécifications de son implémentation sur une plate-forme
donnée.
Cécile Bourreau dans son mémoire
« Développement sur l'ERP libre OfbizNéogia »
explique que [I.32] l'utilisation de l'ERP est très marquée dans
le monde industriel avec la gestion de stocks et de fabrication, mais
également dans les activités tertiaires avec la gestion de
commandes et les sites E-commerces. Actuellement le marché des ERP est
dominé par des applications de type propriétaires tel que SAP,
BAAN, ORACLE, etc. Cependant il immerge de nouvelles technologies basées
sur les logiciels Libres comme les projets GNU Enterprise, Ofbiz ou bien
Compiere.
L'intégration au niveau des processus métier,
également appelée BPI ( Business Process
Integration), permet de concevoir des processus métier
et de les relier aisément aux applications sous-jacentes.
L'intégration au niveau des applications est un bon
départ en vue d'une exposition des API métier des applications en
tant que web services.
L'intégration de la couche métier n'est
cependant pas toujours une tâche aisée. En effet, toutes les
applications ne fournissent pas des API métiers. La notion de couche
n'existe pas et les seules interfaces qu'elles exposent sont constituées
par des grilles d'écran.
Pour mettre en évidence l'utilisation des web
services, Mathieu Nicolescu [I.33] dit qu'une entreprise qui veut mettre en
place un système de messagerie au sein de son intranet, voire par la
suite Internet pourra donc opter pour la technologie des web services en
développant le serveur de messagerie en web service .NET. L'avantage
est que l'application cliente pourra être développée sous
n'importe quel langage.
IBM a conçu une plateforme nommée WebSphere
Everyplace qui permet l'accès des utilisateurs mobiles aux
données de l'entreprise. Cette plate-forme est conçue comme une
extension du serveur d'application WebSphere qui intègre la
spécification JMS. Parmi les points intéressants de cette
technologie est sa capacité à fournir l'accès à des
utilisateurs utilisant des protocoles de communications différentes (
GPRS, SMS, WAP, Wifi, Bluetooth ...). Everyplace utilise pour cela des services
pour l'adaptation du contenu suivant les capacités et les formats de
données pris en charges par les terminaux mobiles.
Pierre-Yves Fourmond [I.34] montre comment les Middleware
Orientés Message sont très utilisés dans le domaine de
l'EAI (Enterprise Application Integration).
Les autres secteurs utilisateurs de MOM incluent, par exemple, le
datawarehouse, les messageries inter-bancaires ainsi que la diffusion
d'informations.
L'EII est utilisé dans des projets impliquant la
consolidation de données ( dans le cas de la relation clientèle
ou plus généralement lors de la mise en oeuvre d'un portail
d'entreprise. Il est encore utilisé dans le champ de la Business
Intelligence (BI) - qui effectue des traitements divers (prédictifs,
multidimensionnels, etc.) sur des données issues en
général de systèmes internes variés - en vue de
proposer des rapports de suivi de l'activité de l'entreprise.
Le développement des EDI est
présenté comme devant apporter l'ouverture contrôlée
des systèmes d'information internes aux communautés des
professionnels du droit et aux grands partenaires de l'institution judiciaire,
l'accès sécurisé en consultation et mise à jour aux
bases de données (casier judiciaire, fichier national des
détenus, statistiques), l'enrichissement des fonctions d'accueil et de
renseignement, les moyens d'une mise en place d'un accueil de proximité,
de juridictions spécialisées, de travail déporté,
en accompagnement des décisions qui interviendraient au titre de la
réforme de la carte judiciaire, et ceux d'une alimentation automatique
du fichier de jurisprudence.
Mounir FEGAS [I.21] illustre l'utilisation de
l'intégration à travers Oracle qui proposera en 1999, avec Oracle
8i, une offre d'interopérabilité XML intéressante. On
pourra stocker des documents XML dans la base de données, accéder
à ses éléments, effectuer des conversions entre
modèles XML et relationnel.
Dans son mémoire intitulé « Mise en
place d'un système d'information décisionnel dans un
environnement médical », A.S.T Sané comment
l'intégration peut être utilisé dans le domaine
médical en ces termes [I.35] « les besoins du corps
médical en terme de reporting - requêtes, statistiques, analyse de
données peuvent être vus selon deux grands métiers :
la gestion., la recherche.
L'intégration en général pourrait
être représentée sur le schéma ci-dessous
ERP5
Dans le site de ERP5, on peut trouver la définition
suivante [I.36] « ERP5 est un progiciel orienté production
(utilisé en industrie de production : automobile par exemple), il
est édité par la société NEXEDI et est
développé en langage PYTHON avec comme serveur d'application
ZOPE.
ERP5 comporte 3 problématiques :
Ø Un modèle d'unification des flux
informationnels de l'entreprise
Ø Un système de base de données d'objets
actifs
Ø Un mécanisme de distribution des
données fondé sur la synchronisation
La première
problèmatique qui consiste en un modèle
d'unification des flux informationnels (modèle théorique)
comporte cinq concepts (classes) qui sont : Ressource
(resource), noeud (node), mouvement
(movement), élément (item),
chemin (path).
Path (Chemin)
Planification
Approvisionnement
Resource (Ressource)
Argent
Matériaux
Service
Compétence
Item (Elément)
Logistique
Traçabilité
Node (Noeud )
Machine
Personne
Organisation
Movement (Mouvement)
Commande
Livraison
Transaction
Ordre de production
Modèle d'unification des flux
informationnels
( modèle de gestion intégré
).
Une ressource (Resource) décrit
une ressource abstraite dans le processus de gestion. Elle est un descripteur
d'objets tangibles (matière première, papier, eau,
électricité.) ou intangibles
( argent, compétence, temps ).
Un noeud
(Node) définit l'identité
d'un acteur d'un processus de gestion. Il peut aussi définir un lieu ou
un emplacement qui peut recevoir une quantité de ressources et en
recevoir. Il peut représenter une personne, une organisation, un stock,
un compte, un atelier etc.... Il peut stocker ou transformer des ressources,
exemple : dans un atelier de métallurgie, une matière
première peut être transformer en un produit fini. Le stock est un
type de noeud. Un compte bancaire peut recevoir de l'argent mais il peut aussi
en donner.
La classe Node (Noeud) est l'une des plus importantes classes
de ERP5.
Chaque noeud à une capacité et une
capacité consiste en :
Ø Définir la quantité maximale de
ressources qu'un noeud peut garder. Il est définit par un ensemble
d'inéquations qui doivent être satisfaites par le stock. Chaque
équation prend une quantité d'une ressource donnée comme
variable et la capacité du noeud comme paramètre.
Ø Définir la quantité maximale ou
minimale de ressource qu'un noeud peut produire. Il est aussi définit
à travers un ensemble d'inéquations.
Exemple : Pour
l'organisation au niveau noeud, il faut prendre en considération les
mouvements qui viennent ou partent du noeud.
Ø un mouvement qui arrive au noeud augmente le niveau
du stock.
Ø un mouvement qui part du noeud diminue le niveau du
stock.
Ø un mouvement qui part du noeud et ne va nulle part
est une consommation de ressource.
Ø un mouvement qui part de nulle part et arrive au
noeud est une production de ressource.
Pour calculer le niveau du stock, il faut voire l'historique,
ajouter les quantités sorties et soustraire les entrées.
Il existe la notion de méta noeud qui
représente une collection d'autres noeuds. Par exemple une compagnie est
un noeud, un projet est en même temps un noeud et une ressource.
Un méta noeud peut recevoir des mouvements en
entrées et envoyer des mouvements en sorties comme un noeud le fait.
Le méta noeud est principalement pratique si l'on veut
implémenter une organisation au niveau méta sans affecter les
détails de l'organisation au niveau noeud. L'organisation de la
compagnie devrait alors requérir un changement de source et de
destination de mouvements à partir du niveau méta noeud à
chaque fois qu'une organisation plus détaillée est requise.
Les méta noeuds sont une agrégation de
règles pour des mouvements à côté du comportement
habituel d'un noeud.
Une agrégation de mouvements de méta noeud
consiste en un ensemble de mouvements qui sont reliés dans un noeud ou
à un noeud qui ne sont pas contenus dans un méta noeud.
Le mouvement (Movement) décrit le
mouvement de ressources entre deux noeuds en un moment donné et à
une heure donnée. Par exemple, on peut avoir un envoi de matière
première du stock vers le magasin; un mouvement autre mouvement peut
représenter le transfert de l'argent d'un compte vers un autre.
Les mouvements peuvent inclure des sous mouvements
générés par des règles de gestion (le coût
pour l'obtention d'un mouvement entre noeud source et un noeud stock).
Les mouvements peuvent aussi être associé
à d'autres mouvements à travers des causalités. La
collection complète de mouvements avec des dates passées et des
dates futures représente l'organisation complète de l'entreprise
parce que les mouvements ont un commencement et une fin.
Toutefois, les mouvements sont des objets ERP5 de bas niveau.
Par conséquent, les mouvements sont rassemblés ensemble dans des
livraisons. Les livraisons sont des documents qui sont utilisés en
pratique pour gérer l'organisation d'une compagnie.
La classe Movement permet d'implémenter un
modèle ERP5 de comptabilité universel. Les instances de la classe
Movement sont utilisées dans différentes situations.
Ø orders : ces instances utilisées comme
objet documentaire pour définir des quantités dans des orders.
Ø deliveries : les mouvements suivent la trace de
l`actuel transfert de ressources dans le passé (comptabilité) ou
dans le futur (planning/ budgétisation)
Par exemple : Les objets suivants sont des orders:
Ø Bon de commande (document envoyé à un
fournisseur quand il a besoin de marchandises).
Ø Ordre de vente (document envoyé à
un client pour lui signifier la confirmation d'une vente).
Ø Ordre de production document envoyé
à un magasin pour confirmer que nous avons besoin d'une opération
ou d'un service).
Les orders permettent de décrire une cible, mais
peuvent être utilisée pour compter la réalité d'un
actuel transfert de quantité.
Les cas suivant ne sont pas des délivrances : une
délivrance de monnaie entre deux comptes abstraits, une
délivrance de marchandises expédiées, une
délivrance de marchandises reçues, une délivrance de
service, une délivrance de monnaie entre deux comptes réels
Le chemin (Path) correspond au chemin pour un
noeud d'accéder à la ressource dont il a besoin
éventuellement. Le prix et les profiles commerciaux peuvent être
attachés à un noeud afin de définir le prix par
défaut d'une ressource achetée à un fabricant
donné.
Il peut aussi définir le chemin pour un atelier
d'obtenir des ressources d'un stock. Un path a toujours une
date de début et une date de fin. Le chemin peut aussi
représenter la tâche attribuée à une personne dans
un projet temporaire.
Dans certaines entreprises, en particulier dans les compagnies
de services, les personnes sont attribuées à des projets pour une
certaine période (consultation) ou les personnes sont envoyées
à des clients pour une certaine période donnée
(exemple : un centre de réparation d'ordinateur).
Ces situations peuvent être représentées dans ERP5 par
l'utilisation de Path temporaire avec une date de début et une date de
fin données.
L'élément (Item) est une
instance physique d'une ressource. Les mouvements de ressources sont
décomposés en éléments ayant chacun un
numéro de série.
Un mouvement peut être étendu en une série
de mouvements traçables à travers des items. Les
items permettent aussi de définir comment une quantité de
ressources donnée est actuellement expédiée ou
transportée (traçabilité d'une ressource). Exemple :
colis, numéros de série d'items dans chaque conteneur.
La deuxième
problématique consiste en un système de base de
données d'objets actifs, au lieu de stocker des données dans une
base de données relationnelle, ERP5 utilise la base de données
Zope. On peut donc interroger la base d'objets ERP5 au moyen de requêtes
SQL.
La troisième
problématique est le mécanisme de distribution des
données fondé sur la synchronisation, on trouve que le
fonctionnement de ERP5 est distribué et permet la répartition des
données sur plusieurs sites.
Ainsi la combinaison des trois innovations décrit en
haut et le caractère libre de ERP5 forment son caractère
générique.
Dans ERP5, le modèle abstrait inclut les notions de
variations et de transformations qui
permettent la mise en oeuvre de modifications complexes.
Les variations sont utilisées par ERP5 pour
représenter les possibles modifications d'une ressource
donnée : par exemple : couleur, la taille, la vitesse
etc...
ERP5 a la possibilité de gérer plusieurs
variations pour une ressource donnée. Par exemple : un ordinateur
peut être construit avec 128 Mo ou 256 Mo. La notion de variations permet
avec une simple description de ressources et une collection de
paramètres optionnels pour définir des millions de variations
d'un produit sans créer des millions d'enregistrements dans la base de
donnée et sans avoir à créer un numéro de produit
pour chaque produit.
Le variantage permet de parer à toute complication
induite par la législation de chaque pays.
Les variations sont très pratiquées dans les
industries telles que : les ordinateurs (taille mémoire, taille
disque dur, vitesse processeur), costumes (couleur et taille), bus (couleur,
moteur, options)
Les variations sont particulièrement utilisées
pour définir des ressources complexes résultant de
transformations successives. Chaque transformation est
représentée comme une collection de transformations.
Une transformation est utilisée pour représenter
une ressource complexe fabriquée à partir de la transformation de
plusieurs ressources. Plutôt que de suivre un modèle
hiérarchique, ERP5 utilise un modèle de diffusion.
Ainsi, afin de d'implémenter le choix d'une ressource,
l'équivalence de ressources permet de définir une ressource parmi
un groupe de ressources. L'équivalence de ressources est très
utilisée pour implémenter l'équivalence de classes de
ressources obtenues à partir de plusieurs sources.
Les transformations dans le modèle ERP5 sont
instanciées par les causalités de mouvements réels entre
noeuds. La seule causalité qui existe dans un processus de fabrication
complexe est la causalité résultante de la définition
d'une transformation. En particulier, le stock qui est un type de noeud n'a
pas de causalité.
Le contenu du modèle ERP5
Le système ERP est une base de données de
documents qui contient une collection de dossiers dont chacun implémente
un module de gestion.
Chaque dossier contient une documentation autonome et
éventuellement des sous- dossiers.
L'expérience de ERP5 est basée sur la
métaphore d'un gros fichier avec beaucoup de feuilles dont chacune
contient toutes les infos nécessaires pour décrire le type de
transaction ou de gestion d'un document. Les documents sont comme des objets
simples avec peu d'attributs. Des objets pourraient agir comme des conteneurs
afin de tenir d'autres objets simples.
Il existe une relation entre la gestion du contenu du
modèle ERP5 et le modèle abstrait de ERP5.
ERP5 fonctionne avec un serveur d'application ZOPE, donc il
est nécessaire de connaître le fonctionnement de ce serveur.
Nous donnons ci-dessous le tableau de correspondance des
documents ERP5 et les objets instanciés à partir des 5
classes.
Classes
|
Objets
|
NODE
|
N
|
Node
|
Amount
|
Profile
|
MetaNode
|
MOVEMENT
|
M
|
Movement
|
Delivery
|
Order
|
Transformations
|
RESOURCE
|
R
|
Resource
|
MetaRessource
|
|
|
PATH
|
P
|
Path
|
|
|
|
ITEM
|
I
|
Item
|
Container
|
Tracking
|
|
Avantages
L'ERP5 a l'avantage de n'utiliser que cinq classes qui
représentent le modèle de classe. Avec ce modèle, ERP5
représente toute l'entreprise sauf le coté gestion de la
clientèle ( CRM).
OFBIZ
Le projet Ofbiz a été lancé en 2001,
suite à une demande client, pour offrir une solution eCommerce. Le
modèle de données est basé sur une
référence, the Data Model Resource Book. Lui même issu de
très nombreuses expériences clients. Dés le départ,
les composants catalogue, acteur et commande ont été
conçus pour être extensibles et s'adapter à des
environnements complexes. Au fur et à mesure que les besoins augmentent,
l'apparition d'autres composants devient une nécessité :
Stock, GPAO (Production Service et Projet ), comptabilité.
Ofbiz est écrit en java et utilise une approche
entité-relation par soucis de simplicité et de
généricité au niveau de la couche de données Entity
Engine. Aux liaisons qui existent entre les différentes tables.
L'entité dans Ofbiz correspond aux tables d'une base de
données. Les entités sont représentées par des
classes dont le stéréotype est « entity ».
L'attribut dans Ofbiz correspond aux champs de la table.
L'association correspond aux relations entre tables.
Ce modèle a l'inconvénient de s'attacher plus
aux données qu'à la dynamique du système. Pour pallier
à cet inconvénient, un projet nommé Néogia dont
l'objectif est de fournir des outils de génération permettant de
développer des applications Ofbiz à l'aide d'une
modélisation UML dont l'avantage est d'avoir une vision globale de
l'architecture du composant à créer.
Ofbiz intègre les modules de gestion suivants :
Supply Resource Management (SCM), Customer Relationship
Management (CRM), Manufacturing Resource Planning
(MRP), Content Management System (CMS),
eCommerce .
OfBiz (Open for Business) est un progiciel métier de
gestion d'entreprise. Il est orienté
e-commerce et est organisé suivant un modèle
client/serveur. Son interface graphique est séparée de la partie
métier et utilise une interface de type web dynamique.
Son architecture est de type modulaire. Ces composants sont
réutilisables et un composant est le plus petit élément de
l'architecture OfBiz. Un composant peut fournir un ensemble de ressources
permettant de construire une application OfBiz. Les ressources peuvent
être un jeu de données, un modèle de données, des
services, une application web ou du code java. L'architecture de OfBiz est
composée de plusieurs composants. Ces composants regroupés entre
eux forment un progiciel de gestion intégré et sont
classés en trois niveaux d'abstraction (le framework, les applications
de base, et les applications de haut niveau).
Cette approche composant a permis une meilleure
réutilisation des composants logiciels, un développement
modulaire plus rapide. Ce type d'architecture permet aussi de remplacer un
composant par un autre dans le cas où il existe plusieurs
implémentations différentes.
Ofbiz se décompose en deux parties : le serveur et
les composants.
Ø Le serveur, ou base, propose un environnement
d'exécution homogène et performant pour les applications qu'il
fait tourner. Il fournit tout un ensemble de mécanismes de gestion de
cache et de pools de connexions qui permettent une meilleure montée en
charge et une meilleure réactivité du système.
Ø Les composants, quant à eux,
représentent les plus petites briques logicielles gérées
par le serveur. Ils fournissent un ensemble de ressources permettant de
construire tout ou une partie d'une application Ofbiz. Ces ressources peuvent
être : un jeu de données, un modèle de données,
des services, une application web. Un composant est en général
spécialisé pour une fonctionnalité donnée.
Le composant composant Entity Engine se charge de la gestion
des données de tous les autres composants Ofbiz. Les données sont
représentées selon un modèle entité-relation
compatible avec des bases de données relationnelles. Le principal
objectif de ce composant est d'éliminer tout code spécifique
à la persistance des données dans un système
transactionnel. Les deux principales caractéristiques de ce composant
sont :
L'accès aux données via une interface unique, le
« GenericDelegator ». supporte l'accès transparent
à plusieurs bases de données.
Le « GenericDelegator » est le coeur de
l'Entity Engine. Il est considéré comme une interface qui permet
d'effectuer des opérations de création, d'enregistrement, de
suppression, de recherche et de mise en cache des données. Les
définitions des entités sont lues au démarrage du serveur
et ce dernier vérifie leur validité et leur cohérence par
rapport aux bases de données sous-jacentes. Si des différences
existent, l'Entity Engine peut créer automatiquement les tables, les
champs et les relations manquantes.
Le Service Engine est l'équivalent de l'Entity Engine
pour les traitements des composants Ofbiz. Il permet de lancer des services
sans avoir besoin de connaître leur localisation et leur
implémentation.
Le ControlServelet est l'élément clé de
la communication entre les utilisateurs et les applications web Ofbiz. Il est
implémenté selon le modèle MVC (
Modèle-Vue-Controleur).
L'architecture de OfBiz en composants est
représentée ci-dessous.
Comptabilité Générale
Comptabilité Analytique
Comptabilité Tiers
Trésorerie
Gestion Commerciale
Gestion Maintenance
Employé-Ressource
Humaine
Gestion Projet
Relation Client
Relation Fournisseur
Gestion du Service
E-Commerce
Catalogue produit
Gestion d'Achat
Gestion de Production
Article
Acteur
Ordre
Stock
Tâche
Comptabilité
Commun
Contenu
Services
Entity
ECA
Workflow
J2EE Container
SGBD
Java OS
Sécurité
Composants applicatifs de base
Composants applicatifs techniques
Composants techniques de base
Architecture de OfBiz
détaillée
Les principales entités de OfBiz qui permettent la
modélisation pour chaque composant sont :
Ø Content ou Contenu
gèrent les documents. Cette entité est utilisée pour
enregistrer et manipuler les contenus généraux et les bases de
connaissances. Cette entité inclut la séparation de l'information
et l'organisation des données utilisées dans les structures comme
les arbres, les listes ou les maps d'objets.
Ø Security ou
Sécurité : Cette entité sert à contrôler
l'accès aux données. Elle inclut les mots de passe, les logins et
les permissions. La gestion plus complète de la sécurité
est réalisée par l'entité « Party »
permettant à un groupe d'utilisateurs de voir et modifier certaines
données, à un autre d'interdire tout accès ou encore de ne
lui autoriser qu'un accès en lecture.
Ø Party ou Acteur : Cette
entité peut représenter une personne, un groupe (entreprise,
fournisseur, client ...). Un acteur a un rôle (client, fournisseur,
employé etc...).
Type d'acteur
Groupe d'acteurs
Personne
Nom de la société
Raison sociale
NINIEA
------
Nom, Prénom
Adresse
Profession
--------------
Rôle d'acteur
Client
Fournisseur
Fournisseur
Organisation des
acteurs
Un type de données en relation avec
« Party » est le mécanisme des numéros de
téléphone, adresses de courriels ou les URL.
Ø Product ou Produit : Cette
entité contient les informations sur les produits (biens et services)
commercialisés ou utilisés dans l'entreprise. Les biens peuvent
être des matériaux bruts, des produits semi-finis ou finis.
Product définit un produit et non l'instance d'un produit.
Pour cela il y a les éléments d'inventaire ou
éléments du stock. Ceux-ci indiquent où un produit est
entreposé, le statut du produit et un numéro de série ou
une quantité disponible et une quantité dans le stock.
La figure suivante montre les relations entre les
produits.
Types d'articles
Produits finis
Produits immatériels
Services
Matière première
Sous-ensemble
Mots-clef
Catégories
Références
Contenu
Emplacements
Stock
Magasins de stock
Caractéristiques
Attributs
Articles associés
Fig : Organisation des
produits
Un produit peut être organisé en
catégories ou en nomenclatures. Il peut appartenir à une
catégorie et une catégorie peut être membre d'une
catégorie mère. Un produit peut aussi être associé
avec un autre pour donner des packages ou des variantes.
Les catégories de produits peuvent être
associées à différents catalogues. Un catalogue de produit
est un point de départ pour toutes les informations sur un ensemble de
produits à commercialiser.
Plusieurs produits peuvent être associés
à un produit comme peuvent l'être les coûts.
Différents prix peuvent être définis pour
différentes monnaies, différents stocks ou magasins et pour
différentes périodes de l'année (période normale et
période des fêtes de Noël pour les jouets par exemple).
Ø Order ou Commande : Cette
entité permet de gérer les ventes et les achats et toutes les
informations relatives à une commande. Elle permet
aussi la gestion des retours de marchandises.
Une demande pour un produit peut être suivie et
être éventuellement transformée en nécessité
qui peut être utilisé pour créer un « Work
Effort » défini ci-dessous, qui va satisfaire le besoin. La
demande faite, une demande de confirmation peut être établie qui,
une fois acceptée par le client, peut être utilisée pour
créer une commande. Une fois la requête satisfaite, une facture
peut être créée à partir de la commande. Les
factures font partie de la comptabilité (entité Accounting).
Une commande consiste en un entête et des lignes qui
décrivent les détails et les ajustements (taxes, frais de ports,
réductions et autres).
Type d'ordre
Vente/atcat
Suivi statut avec
le workflow
Paiement
- Compte client
- mode paiement
Lignes d'ordre
- Statut
- Calcul du prix
- Promotions
- Quantité
- .......
Acteur
- coordonnées
- destinataires
Expéditions
- Dates
- Transporteur
- conditions
Gestions des ordres
Réf. ordre n° xxx
Statut
date
Facturation-Paiement
Mode de paiement xxx
Acteurs
Coordonnées livraison
Données d'ordre commercial
Expédition
Transporteur
Condition
Date
Lignes d'ordres
Article Statut Quantité Prix
Solde total
xxx xxxx 1 99
Total ligne
Frais d'expédition
999
99
TVA
99
Gestion des Ordres
Facility ou contact : peut être
un bâtiment ou un emplacement physique ( stocks, magasins, docks,
bureaux, pièces de bâtiments ). Un facility aura un contact
associé comme une adresse et un numéro de
téléphone.
Ce composant gère aussi la gestion dynamique des stock
tel que l'inventaire, les mouvements de stock. L'inventaire du stock est
réalisé par un ajustement des quantités réelles
pour chaque ligne de stock.
Ø Shipment ou Expédition
: Cette entité gère les réceptions et les
expéditions ainsi que les entrées et sorties de stock. Un
Shipment est composé de ShipmentItem, chacun représentant une
certaine quantité d'un produit à expédier. Shipment fait
aussi le lien avec les services des transporteurs pour le suivi des colis et
des livraisons.
Ø Accounting ou
comptabilité : Cette entité est organisée par date et
sur les principes sur la comptabilité analytique et le plan
comptable.
Clients
Compte client
Commande
Expédition
Acteurs
Rôle :
- Facture
-
Facture
Paiement
Limite de crédit
Terme de paiement
Coordonnées
Gestion de la Comptabilité
Ø Marketing : Permet de suivre
les campagnes de marketing et les informations reliées tels les contacts
(courriels, listes de diffusions ou téléphoniques).
Ø Work Effort ou Tâche :
Elle est une tâche, une phase d'un projet, quelque chose à faire
et même, une gamme (un processus semi-automatique qui implique des
activités automatiques réalisées par la machine et
manuelles réalisées par une personne ou par un dispositif externe
contrôlé par une personne) ou une activité d'une gamme.
Une gamme est un type particulier de « Work
Effort ».
Stock Stock
OF : ordre de fabrication
Découpe
Perçage
Assemblage
Sortie de composant entrée de
l'article fabriqué Nomenclature
Lancement
o manuel
o proposition du MRP
(organisation des ressources industrielles )
GAMME DE FABRICATION
calendrier
Gestion de gamme
Ø Human Ressources ou Ressources
humaines : Cette entité permet de gérer et de suivre les
responsabilités, les compétences, salaires et autres informations
en relation avec la gestion du personnel.
Avantages
L'avantage de OfBiz réside dans sa flexibilité.
La disponibilité des sources et la possibilité de les modifier
permet de l'adapter dans n'importe quelle entreprise. Son approche
entité-relation permet la simplicité et la
généricité au niveau de son entité Entity
Engine.
Inconvénients
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. Son approche
entité-relation s'attache plus aux données qu'à la
dynamique du système. Il faut savoir que chaque composant utilise son
modèle qui peut générer plusieurs tables qui seront
reliées aux autres tables. Il y a beaucoup de tables ou des attributs
qui sont inutiles.
COMPIERE
Compiere est un progiciel de gestion intégré (
PGI) et est fournie sous licence CPL ( Compiére Public License) une
variante de la MPL ( Mozilla Public License). Il est entièrement
basé sur le concept d'Active Data Dictionnary ( ADD) ou dictionnaire
actif de donnée. Le dictionnaire de données de compiere contient
les définitions des entités de données de base (type,
validation, etc...), la manière dont elles sont visualisées (
étiquettes sur les écrans, rapports, aide, ordre d'affichage et
position relative par rapport aux autres champs), de même que les
règles d'affichage. Il contient aussi les règles de
sécurité et d'accès.
Compiere est développé à l'aide de Java
J2EE et peut être utilisée sur des bases de données telles
que Oracle, MySQL, PostgreSQL et Sybase. Il utilise JBOSS comme serveur
d'application.
Compiere est plus qu'un logiciel mais intégre un outil
de développement qui permet de développer pour faire des
changements, des personnalisations et de créer de nouveaux modules.
Compiere comporte plusieurs modules : gestion des ventes
( tarification, facturation, CRM) , portail de ventes ( gestion des catalogues
gestion des tarifs et suivi des commandes), fonctions achats (
fournisseurs...), de stock et de logistique ( gestion par lots),
comptabilité, finances, production, CRM, Gestion de projets, Gestion de
la logistique.
Il gère plusieurs langues ( 15 à l'an 2004),
plusieurs devises plusieurs plans comptables simultanément.
TINYERP
Tiny Erp est un progiciel de gestion intégré qui
fournit une solution qui automatise les processus de l`entreprise
suivants : Finance, gestion de caisse, achats et ventes, production,
logistique, relation client et fournisseur. Il est spécialisé
salles de vente.
Base
Marketing
Account
Contrats
Network
CRM
Product
Stock
HR
MRP
Purchasse
Sale
MRPII
Project
Cartes des modules de TinyErp
TinyErp est multi langue, multi compagnie, multi
département, multi utilisateur. Il est flexible et fonctionne sur les
plates fores GNU/Lunix et Windows.
Il est écrit avec le langage python et utilise
postgreSsql comme gestionnaire de base de données.
TinyErp intégre un moteur de requêtes qui est
utilisé pour le suivi de tous types de requêtes.
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.
Le MENU PRINCIPAL
Dans ce menu, on peut voir tout ce qui a été
défini au niveau des modules Administration et Paramétrage : Les
domaines, les Actes et leur contenu, les autres fonctionnalités (
listes, réglement, transfert, décisionnel, Webmail, Optimisation,
archivage, Outils).
Par cette technologie de généricité, le
modèle applicatif de ADROIT permet d'avoir une vue d'ensemble de la
gestion globale ( horizontale et verticale ) dans tous les domaines. On voit
ici qu'on peut créer n'importe quel domaine et l'associé aux
classes du modèle ADROIT par le paramétrage.
II.3 Critiques sur la
généricité
Malgré sa fonction de généricité,
ADROIT traîne certains problèmes :
- Limites de certaines fonctionnalités
- Inexistence d'autres fonctionnalités
- Inadaptation d'une interface graphique pour certains cas.
ï Limites de certaines
fonctionnalités
Le clonage qui permet de gérer les notions de
variations et de transformations est insuffisant pour prendre en compte un
groupe d'articles ou de services. Ceci augmente la quantité
d'informations à stocker et par conséquent agit sur la
performance du système.
La notion de variations permet avec une simple description
d'une rubrique et une collection de paramètres optionnels pour
définir des millions de variations d'un produit sans créer des
millions d'enregistrements dans la base de donnée et sans avoir à
créer un numéro de produit pour chaque produit.
ï Inexistence de certaines
fonctionnalités
L'internationalisation du système (multi langue) n'est
pas pris en compte.
Toujours au niveau fonctionnalités, ADROIT ne
gère pas les aspects marketing, le CRM, la gestion de projet, production
et le e-commerce. Il se limite à gérer les Stocks, les Finances,
la comptabilité, les ventes et les achats.
La gestion de planning est aussi une fonctionnalité non
prises en compte par ADROIT.
ï Inadaptation d'une interface graphique pour
certains cas
L'interface graphique n'intègre pas l'option de
reporting qui pourrait permettre la création d'états
paramétrés à partir de conteners.
Une interface web adaptée au paiement en ligne serait
un point important pour la gestion commerciale e-commerce.
II.4 Propositions et amélioration du
modèle d'application de ADROIT
Nous proposons un système composé de couches que
nous présentons ci-dessous :
- la couche présentation (GUI) avec une sous couche
logique de présentation (fonction du matériel, des profils
utilisateurs, de la version du logiciel)...
- la couche business qui effectue le job de l'application
- la couche persistance, avec une logique de persistance qui
peut choisir le mode d'enregistrement ou s'adapter.
- la couche de communication qui prend en charge les
problèmes réseaux
- la couche d'interopérabilité
Une telle vision architecturale d'une application (en terme de
service en faite) permet de mieux organiser son code, mieux le
packagé.
Dans le module gestion des outils de ADROIT, nous proposons la
mise en place d'outils qui permettront de faire une intégration
complète du système. Ces outils d'intégration pourront
être des Middlewares ( intergiciels ) , des web services ou de XML.
III. Plateforme ADROIT : Comment gérer
un hôtel
Pour illustrer ce travail de recherche, nous allons
intégrer un modèle de gestion d'un hôtel au modèle
ADROIT. Ce logiciel permettra de gérer les réservations, la
facturation et le suivi des clients dés leur arrivée
jusqu'à leur sortie de l'hôtel. Pour ce faire, nous
présentons d'abord le modèle de la gestion d'hôtel. Ce
modèle a été conçu sous l'AGL Windev version 8.0 de
PCSOFT.
III. 1 Vue d'ensemble des fonctionnalités d'une
gestion d'hôtel
- Création et mise à
jour :
1 - Enregistrement des chambres, des bars et des
restaurants
2 - Enregistrement des réservations
3 - Validation des réservations ( cette validation
pourra se faire par SMS ou par mail, par
fax ou par téléphone)
4 - Enregistrement des services ( les consommations sont
enregistrées au jour le jour)
5 - Validation facture ( Cette validation de la facture se
fait à la fin du séjour du client)
6 - Sécurité avec code d'accès
- Consultation :
1- Consultation et édition des clients
arrivées
2 - Consultation et édition des clients
départs
3 - Consultation et édition de la configuration des
chambres
4 - Consultation et édition de la main courante
5 - Consultation et édition du planning d'occupation
des chambres
6 - Consultation et édition du planning de
réservation
7- Consultation et édition du relevé du bac(
factures impayées)
8 - Consultation et édition de la situation caisse
utilisateur
9 - Consultation et édition de la situation
journalière caisse
10 - Consultation et édition de la situation
journalière des statistiques
11 - Consultation et édition de la situation
journalière des consommations diverses
12 - Consultation et édition de la situation
journalière des consommations restaurant
13 - Consultation et édition de la situation
journalière de l'hébergement
14 - Consultation et édition de la situation
journalière par segmentation
15 - Consultation et édition de la situation
journalière des consommations du bar par période
16 - Consultation et édition de la situation
journalière des consommations du restaurant par période
III.2 Les cas d'utilisations
Les cas d'utilisations permettent de structurer les besoins
des utilisateurs et les objectifs correspondants d'un système. Ils
centrent l'expression des exigences du système sur ses utilisateurs. Ils
se limitent aux préoccupations réelles des utilisateurs ; ils ne
présentent pas de solutions d'implémentation et ne forment pas un
inventaire fonctionnel du système. Ils identifient les utilisateurs du
système et leur interaction avec le système.
Titre
|
Auteur
|
Description
|
Enregistrement des chambres, des bars et des restaurants
|
Commercial, Gestionnaire bar, Gestionnaire restaurant
|
Permet de saisir les chambres à réserver, les
restaurants et les bars qui existent dans l'hôtel
|
Enregistrement des réservations
|
Commercial, Organisme payeur, Client
|
Permet de faire des réservations sur les chambres
susceptibles d'être libérées avant la date d'arrivée
du client
|
Enregistrement des services
|
Comptable, Gestionnaire bar, Gestionnaire restaurant, Caissier
principal
|
Permet d'enregistrer les consommations faites dans les bars et
les restaurants mais aussi les services de chambre
|
Facturation
|
Comptable, Gestionnaire bar, Gestionnaire restaurant, Caissier
principal
|
Permet de valider les consommations faites dans les bars et les
restaurants mais aussi les services de chambre
|
Sécurité avec code d'accès
|
Administrateur
|
les utilisateurs sont paramétrés par
l'administrateur. Il leur attribut un code d'accès pour se connecter au
système
|
Consultation et édition des clients arrivées
|
Commercial
|
A une date donnée, le commercial doit savoir le nombre de
clients arrivés
|
Consultation et édition des clients départs
|
Commercial
|
A une date donnée, le commercial doit savoir le nombre de
clients partis
|
Consultation et édition de la configuration des chambres
|
Commercial
|
A une date donnée, le commercial doit connaître la
configuration des chambres
|
Consultation et édition de la main courante
|
Comptable, Gestionnaire restaurant, Caissier principal
|
A une date donnée, on doit pouvoir connaître la main
courante du restaurant
|
Consultation et édition du planning d'occupation des
chambres
|
Commercial
|
Le commercial doit connaître à une date
donnée le planning d'occupation des chambres
|
Consultation et édition du planning de réservation
|
Commercial
|
Le commercial doit connaître à une date
donnée le planning de réservation des chambres
|
Consultation et édition du relevé du bac( factures
impayées)
|
Comptable, Caissier principal
|
Le caissier principal doit connaître les factures
impayées à une date donnée
|
Consultation et édition de la situation caisse
utilisateur
|
Gestionnaire de bar, gestionnaire restaurant
|
Chaque caissier ( bar ou restaurant ) doit pouvoir
connaître la situation journalière de sa caisse
|
Consultation et édition de la situation journalière
caisse
|
Comptable, Caissier principal
|
On doit pouvoir connaître la situation
général des caisse à une date donnée
|
Consultation et édition de la situation journalière
des statistiques
|
Comptable, Caissier principal, Commercial
|
Connaître le nombre de chambres ( disponibles,
occupées, bloquées) et le taux d'occupation
|
Consultation et édition de la situation journalière
des consommations diverses
|
Comptable, Caissier principal, Gestionnaire bar, Gestionnaire
restaurant
|
A une date donnée, connaître la situation
journalière des consommations diverses
|
Consultation et édition de la situation journalière
des consommations restaurant
|
Comptable, Caissier principal, Gestionnaire restaurant
|
A une date donnée, connaître la situation
journalière des consommations au restaurant
|
Consultation et édition de la situation journalière
de l'hébergement
|
Comptable, Caissier principal
|
A une date donnée, connaître la situation
journalière de l'hébergement ( téléphone,
blanchisserie etc...)
|
Consultation et édition de la situation journalière
par segmentation
|
Commercial, Comptable, Caissier principal
|
Connaître la situation journalière des consommations
par segmentation
|
Consultation et édition de la situation des consommations
du bar par période
|
Comptable, Caissier principal, Gestionnaire bar
|
Connaître la situation période des consommations
faites au bar
|
Consultation et édition de la situation des consommations
du restaurant par période
|
Comptable, Caissier principal, Gestionnaire restaurant
|
Connaître la situation période des consommations
faites au restaurant
|
III.3 Diagramme de classe
Un diagramme de classes est une collection
d'éléments de modélisation statiques qui montre la
structure d'un modèle.
III.4 Intégration de gestion d'hôtel dans
ADROIT
Nous avons utilisé les cinq classes du modèle
ADROIT :
Les tables du modèle UML de l'application gestion
d'hôtel sont intégrées dans ADROIT comme suit :
- TIERS (Clients, Bar_Resto)
- OBJET (Chambre, Segmentation)
- ACTES (Réservation, Facture)
- INFORMATIONS (Position, Situation, Nationalité, Mode
de paiement, Type règlement, date règlement)
- RUBRIQUES ou FINANCES (Ligne_Facture, Ligne_Reservation)
Par exemple :
- Pour un Acte de type Réservation, on aura un Tiers de
type Client, un Objet de type Segmentation ( pour la tarification à
appliquer) et une Rubrique de type Finances qui contiendra la chambre et le
prix.
Pour obtenir une facture provenant d'une réservation,
il faut faire un clonage. Pour cela, les informations de la réservation
doivent être les mêmes que celles de la facture. Dés que la
clonage est fait, on aura un Acte Facture.
Par exemple :
- Pour un Acte de type Réservation, on aura un Tiers de
type Client, un Objet de type Segmentation ( pour la tarification à
appliquer) et une Rubrique de type Finances qui contiendra la (chambre, les
services consommés et leur prix respectifs).
Pour le paramétrage des éditions, nous avons
adopté l'option d'utiliser la classe objet qui nous permettra de
créer des états. Chaque champ de la classe objet devra contenir
un champ de l'état dont sa mise à jour se fera à partir de
requêtes.
Pour y parvenir, les requêtes seront stockées
dans des champs spécifiques à ce besoin. Ils pourront être
modifier à chaque fois que les règles de gestion et de calcul
changent.
De cette manière, le modèle ADROIT a pu
intégré le modèle d gestion d'hôtel grâce
à son caractère fortement générique.
IV. Conclusion
Ce travail de mémoire a permis de comprendre
l'intégration et la généricité. Nous avons durant
ce travail fait des recherches sur des systèmes d'intégration
tels que les ERP, les EAI, les EII, les datawarehouses, les web services, les
ETL etc...et ensuite sur la généricité des
applications.
A l'issue de la recherche que nous avons mené sur
l'intégration des systèmes, nous pu voir que :
ï Les notions d'EAI et de web services ne sont donc pas
concurrentes mais bien complémentaires, l'EAI pouvant servir de
plateforme de déploiement de web services (exposition des ressources du
SI en tant que web services de manière rapide et simple ou consommation
de web services). De plus, les web services sont encore très loin de
répondre à l'ensemble des enjeux de l'intégration. Ils ne
peuvent prétendre remplacer intégralement l'ensemble des
fonctions offertes par un EAI.
ï A la différence de l'EII qui se contente
d'orchestrer et d'organiser des requêtes adressées à
différents systèmes cibles sans agrégation de contenu
préalable, un entrepôt commence par regrouper les données
nécessaires avant de les exposer aux applications clientes. Pour ce
faire, il s'appuie généralement sur des mécanismes
d'intégration assez complexes, tels l'EAI (intégration
d'applications d'entreprise) ou l'ETL (extraction, transfert et chargement de
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.
Concernant les recherches faites sur la
généricité, nous avons pu trouver qu'un modèle
générique permet d'élaborer un modèle
indépendant de tout domaine d'application et que cette
généricité permet de modéliser les concepts et les
cas d'utilisation.
On a vu aussi que pour résoudre le problème de
génération automatique des interfaces graphiques, on pouvait
concevoir et la réaliser un outil de génération
d'interfaces graphiques basé sur un modèle XML
générique.
Nous avons pu voir la différence entre la
généricité par les composants et la
généricité par les modèles. Le premier permet
d'adapter un composant suivant le contexte dans lequel il sera utilisé
et le second permet de mettre générer un modèle entier en
s'appuyant sur des classes génériques.
L'objectif de généricité est atteint en
proposant des règles générales qui interprètent les
structures représentant les connaissances du domaine.
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. Il
s'agit là d'une question centrale dans la mesure où, du point de
vue de la technologie, la généricité est une promesse
d'économie de moyens, et de réutilisabilité. Mais, par
ailleurs, la spécificité est un gage d'efficacité des
systèmes et de leur pertinence dans un procès d'apprentissage. Le
rapport entre spécificité et généricité des
modèles est en fait une question fondamentale qui doit être
abordée comme telle.
L'utilisation de ces outils a permis à
l'industrie du génie logiciel à participer activement à la
globalisation et à la mondialisation. L'interopérabilité
des outils de modélisation passe également par ces technologies.
Avec les outils d'intégration et de
généricité, nous sommes moins liés aux
spécificités des
besoins qu'à la généralisation et l'inter
connectivité. Donc la conception serait l'étape essentielle dans
un travail d'intégration.
De nouveaux standards restent à définir
si l'on ne veut pas être constamment lié à une solution
propriétaire.
La généricité et la
réutilisation des formalismes et des traitements ont donc constamment
orienté les différents choix.
Avec le modèle ADROIT, nous avons pu apporter des
propositions au niveau intégration et généricité.
Ces propositions tant au plan modèles de données que
modèle d'application pourront améliorer les
fonctionnalités de ADROIT applicatif.
Au niveau données, nous avons pu mettre en ouvre un
modèle de gestion d'hôtel qui s'est adapté dans les
meilleures conditions à cause de la généricité du
modèle ADROIT. Cette intégration nous a permis de
générer un modèle d'application de gestion
d'hôtel.
La principale perspective est de pouvoir adapter ADROIT à
toutes les situations de l'entreprise, tant au niveau horizontale que
verticale.
Comme perspectives, nous pensons à la résolution
de certains problèmes auxquels sont confrontés les modèles
génériques :
A court terme :
- Comment intégrer la comptabilité des
matières dans ADROIT ?
A long terme :
- Comment prendre en compte l'évolution du
modèle ADROIT ?
- Comment tenir compte des relations entre ADROIT et d'autres
modèles ?
Bibliographie
[I.1] Mathieu Lafourcade
«Génie Logiciel pour le Génie
Linguiciel » 1er décembre 1994
[I.2] Philippe Louchet, Frédérique
Brossillon . « PGI: A la
recherche de l'intégration »
[I.3] F. Casati & M-C. Shan (2001).
«Models and Languages for Describing and Discovering
E-Services.» In ACM SIGMOD, Santa Barbara, USA.
[I.4] Patrick Kellert et Farouk Toumani.
« Les Web services sémantiques ».
Laboratoire LIMOS - UMR (6158) du CNRS ISIMA - Campus des Cezeaux - B.P. 125
63173 AUBIERE Cedex . pages 5
[I.5] Moisdon J-C. , Seli-Arslan
(1997) : « Du mode d'existence des outils de
gestion ».
[I.6] W. H. Inmon (Wiley 2002) . «
Building the Data Warehouse »
[I.7] Jeff Konnen. « Couplage
d'un ERP et d'un datawarehouse avec un SIG. Le mariage d'un monde
multidimensionnel avec la cartographie. ». 2003-2004
[I.8] Porter Michael,
« L'Avantage concurrentiel », Paris,
InterEditions, 1986.
[I.9] Rigaud Louis, « La Mise
en place des systèmes d'information », Paris, Dunod,
1979.
[I.10] ARDISSONO L., GOY A., PETRON G.,
« Enabling Conversations with Web Services », Proc AAMAS03 :
The Second International Joint Conference on Autonomous Agents and Multi-Agent
Systems, Melbourne, Australia, July 2003, ACM, p. 819-826.
[I.11] D. Fensel, C. Bussler, & A. Maedche
(2002). «Semantic Web Enabled Web Services. In International
Semantic Web Conference », Sardinia, Italy, pages 1-2.
[I.12] Mejdi Kaddour, Laurent Pautet.
« Une Approche Coopérative de l'Adaptabilité des
applications Mobiles basées sur MobileJMS ». Ecole
Nationale Supérieure des Télécommunications
[I.13] Denis Gerard, Jean-Rene Caron.
« Cet outil de gestion est une initiative conjointe de la
Direction du commerce et de la Direction du développement des
entreprises et des affaires d'entreprises, du MDER, réalisée dans
le contexte du projet Comment vendre aux grandes
chaînes ». ( 2000- 2003)
[I.14] Olivier Grenet, directeur
technique de Datox: «La connectivité des logiciels
doit s'appuyer sur des standards (Web Services SOAP par exple) afin d'assurer
l'interopérabilité des systèmes. »
[I.15] Michel Chokron, Mireille Des Rochers
« Une démarche de conception d'un modèle
générique ». - HEC, Montréal - Cahier du GReSI
no 00-03 Avril 2000
[I.16] Losavio, Francisca, Ortega, Dinarle; and Perez,
Maria. «Modeling EAI [I.Enterprise Application Integration],
Proceedings. 12th International Conference of the Chilean Computer Science
Society », 2002, 6-8 November (2002) pp: 195-203, ISSN: 1522-4902
[I.17] Toussaint P.J., Bakker A.R.,and Groenewegen
L.P.J. : «Integrating information systems in medicine: a
reference model for Middleware, Informatics Medical», Vol. 22,
n°3, 227-235, 1997.
[I.18] Nikica FILIPOVIC (2001-2002)
« Conception d'une plate-forme électronique basée
sur les rapports commerciaux de vente de produits de luxe: étude de
cas. »
[I.19] B. Gibaud - « HDR -
Document de synthèse »
[I.20] Lucy Bottomley.
« Introduction à l'EDI (Échange
de données informatisé). » Flash Réseau
Numéro 6 ISSN 1200-5304 Fév. 1995
[I.21] Mounir FEGAS.
« Classification de documents XML. Application au corpus d'INEX
et aux rapports d'activité INRIA »
[I.22] [I.Veys 1981] Veys, M.,
«Information System Study Am APL-Tool for BSP», IBM Belgium,
1981;
[I.23] David ROUSSE (DSI/BEST) .
« Panorama d'une infrastructure EAI ».
[I.24] L. Avignon, T. Brethes, C. Devaux, P.
Pezziardi. « Le livre blanc de l'EAI -
Intégration des applications d '
Entreprise ». 1999 OCTO
Technology
[I.25] Philippe Laumay.
« Déploiement d'un bus à messages sur un
réseau à grande échelle ». Thése de
DEA. Juin 2000. Page 12.
[I.26] Alex Hormer and David Sussman. In book
: « MTS & MSMQ », Chapitre 5, Eyrolles, Paris, France,
février 1999. ISBN 1-8610046-0.
[I.27] G. Banavar, T. Chandra, R Strom and D.
Sturman. « A case for Message Oriented Middleware
». Distributed Computing 13th International Symposium, Bratislava,
Slovak Republic, September 27-29, 1999, Proceedings. Lecture Notes in Computer
Science, Vol. 1693 : 1-18, Springer, 1999, ISBN 3-540-66531-5
[I.28] P. Reiss. « Connecting Tools
Using Message Passing in the Field Environment ». IEEE Software,
pages 57-66, juil 90.
[I.29] Nathalie Ndjependa.
« Utilisation d'XML dans les entreprises Le cas d'un cabinet
d'architecture du paysage ».
[I.30] Daniel Weck - Peter Hewat .
« Player SMIL 2.0 pour PocketPC `PocketSMIL2.0.
» Version : 2.0. 25 Août 2002
[I.31] John D. Poole. "Model-Driven
Architecture : Vision, Standards And Emerging Technologies".ECOOP 2001,
Workshop on Metamodeling and Adaptive Object Models, April 2001.
[I.32] Cécile Bourreau.
« Développements sur l'ERP libre
OfbizNéogia ».
[I.33] Mathieu Nicolescu.
« Webservices ». version 1.1 - 3
novembre
[I.34] Pierre-Yves Fourmond
« Les Middleware Orientés Messages.Une
introduction aux Message Oriented Middleware (MOM) ». Copyright
2005 - 2006
[I.35] Ahmed Sékou Touré SANE.
« Mise en place d'un Système d'Information
Décisionnel dans un Environnement Médical ».
[I.36]
http://www.erp5.org
[I.37] Agha G. A., « Actors : A
Model of Concurrent Computation in Distributed Systems », The MIT
Press, ISBN 0-262-01092-5, Cambridge, MA, 1986.
[I.38] Vivien Quema, Luc Bellissard.
« Configuration de Middleware dirigée par les
applications ». INRIA Rhône-Alpes ; Sardes
Project2ScalAgent Distributed Technologies
[I.39] B. Tavernier, A. Croixmarie.
« Architecture, intégration. Représentation XML au
sein de l'envirinnement Calife ». AVERRROES Ver. 1.0
[I.40] Guérin, E., Marquet, G., Moussouni, F.,
Burgun, A., Mougin, F. and Loréal, O. «Deployment of
heterogeneous resources of genomic, biological and medical knowledge on the
liver to build a datawarehouse.» ECCB, European Conference on
Computational Biology, Paris, France, 2003.
[I.41] Guérin, E., Moussouni, F., Courselaud,
B. and Loréal, O. « Modélisation d'un
entrepôt de données dédié à l'analyse du
transcriptome hépatique. » JOBIM, Journées
Biologie, Informatique et Mathématique, Saint Malo, France, 2002.
[I.42] Georges-Louis Baron et Éric Bruillard,
« Les technologies en éducation, Perspectives de recherche et
questions vives.» Actes du Symposium international francophone, Paris, 31
janvier 2001 - février 2002, Éditions Fondation MSH, INRP, IUFM
de Basse-Normandie.
[I.43] Gilbert Babin Fellow, CIRANO Michel
Leblanc « M.Sc. commerce électronique
Associé », Adviso Conseil Inc. (Août 2003)
2003RB-07
[I.44] Scheer August-Wilhelm , and Habermann
Frank, «Making ERP a success,Communications of the
ACM», Vol. 43, No. 4, April (2000) 57 - 61, ISSN:0001-0782
[I.45] Steven Song,
Bellant, CIEA . «Outils techniques et
organisationnels servant à la gestion des connaissances et à
leurs réseaux ». 2002
[I.46] Mohand-Saïd Hacid* et Chantal Reynaud,
« L'intégration de sources de
données ».*LIRIS, UFR Informatique
Université Claude Bernard Lyon 1 43, Blvd du 11 novembre 1918
69622 Villeurbanne . LRI, Bâtiment 490 Université
Paris-Sud 91405 Orsay cedex
[I.47] Philippe Dosch . " INTRODUCTION
À LA CONCEPTION OBJET ET À C++ " UNIVERSITÉ NANCY 2
INSTITUT UNIVERSITAIRE DE TECHNOLOGIE 2 ter boulevard Charlemagne CS 5227 54052
· NANCY cedex . Janvier 2001
[I.48] Chouki Tibermacine. " Un
méta-modèle pour la description de contraintes architecturales
sur l'évolution des composants ". Laboratoire VALORIA. Centre de
recherche Yves Coppens Université de Bretagne Sud F-56000 Vannes
Cedex
[I.49] Thomas Quinot. " Conception et
réalisation d'un intergiciel schizophrène pour la mise en oeuvre
de systèmes répartis interopérables ". pour obtenir
le grade de Docteur de l'Université Paris VI - Pierre-et-Marie-Curie. le
24 mars 2003
[I.50] Nicolas Arnaud - Agnès Front - Dominique
Rieu. " Expression et usage de la variabilité dans les
patrons de conception ". LSR-IMAG, équipe SIGMA 681 rue de la
passerelle BP 72 38402 Saint Martin d'Hères Cedex
[I.51] Mathieu Barcikowski «Une
démarche générique pour l'adaptation des
interfaces
dans les applications Web». DEA JUILLET
2003
[I.52] Pierre Crescenzo* -- Philippe
Lahire* -- Emanuel Tundrea**
« SmartModels : la généricité
paramétrée au service des modèles
métiers »
[I.53] Bertrand Marquet, Laurent Ballester,
" Vers une nouvelle architecture des services de
sécurité ". Alcatel Corporate Research Center Route de
Nozay, F-91461 Marcoussis Cedex
[I.54] D. Regep,Y. Thierry-Mieg, F. Gilliers, F.
Kordon, " Modélisation et vérification de
systèmes répartis : une approche intégrée avec
LfP "
[I.55] Christelle Urtado / Sylvain Vauttier
« Programmation par composants »
- Année 06-07
[I.56] Eric SARDET . " Une approche pour
la représentation des catalogues de composants industriels : le
modèle P-Lib ". Rapport de recherche N° 00 003. ECOLE
NATIONALE SUPERIEURE DE MECANIQUE ET D'AEROTECHNIQUE Site du Futuroscope - BP
40109 - 86961 FUTUROSCOPE Cedex - France Tél : +33 (0) 5 49 49 80 72 -
Fax : +33 (0) 5 49 49 80 64
[I.57] Hyacinthe Choury. " Architecture
Orientée Services : gagner en rapidité, flexibilité
et
Réactivité Architect Leader ".
Capgemini France
[I.58] Frédéric Gava. "
Introduction à la Programmation Java : généricité,
le polymorphisme paramétrique " L.A.C.L Laboratoire
d'Algorithmique, Complexité et Logique
[I.59] Fabrice DEPAULIS «Vers un
environnement générique d'aide au développement
d'applications interactives de simulations de
métamorphoses ». Thèse 29 Novembre 2002
[I.60] Georges-Louis Baron et Éric
Bruillard, « Les technologies en éducation,
Perspectives de recherche et questions vives.» Actes du Symposium
international francophone, Paris, 31 janvier 2001 - février 2002,
Éditions Fondation MSH, INRP, IUFM de Basse-Normandie.
[I.61] CAUVET C., SEMMAK F., "La
réutilisation dans l'ingénierie des systèmes
d'information", Génie Objet - Analyse et Conception de l'Evolution,
C. OUSSALAH et alii, Hermès, 1999.
[I.62] FRONT-CONTE A., GIRAUDIN J.P., RIEU D.,
SAINT-MARCEL C., " Réutilisation et patrons
d'ingénierie" , GénieObjet - Analyse et Conception de
l'Evolution, C. OUSSALAH et alii, Hermès, 1999.
[I.63] Sylvain Vauttier, Christelle Urtado, Eric
Mendizabal. " La relation d'association dans les approches
dirigées par les modèles : besoins et usages pratiques ".
LGI2P / Ecole des Mines d'Alès, Site EERIE - Parc Scientifique G. Besse
- F30035 Nîmes - France
[I.64] Maher EL'ARBI, Ahmed HADJ KACEM, Mohamed
JMAIEL. " Une plate-forme de conception et de mise en oeuvre de
systèmes multi-agents à base de modèles d'interaction
". Université de Sfax Laboratoire LARIS B.P. 1088, 3018 Sfax,
Tunisie
[I.65] Mamadou Niang , Mohamed Sidi Farssi, Sissoko
Gregoire * , A. Cissé, A.S.T. Sané :
« ADROIT Modèle d'intégration et de
Management de la Connaissance. » ESP, *UCAD -FASET.
|