Présentation générale de HOPEX IT Architecture
Pourquoi modéliser l'architecture d'un système d'information ?
Face aux exigences de compétitivité, de réactivité et d'efficacité, les entreprises ont besoin de systèmes d'information toujours plus performants.
La technologie offre aujourd'hui une grande richesse de possibilités qui ouvre la voie à la construction des architectures de systèmes d'information les plus complexes et diversifiés. Les besoins toujours plus importants de communication entre applications, notamment avec Internet, requièrent une réflexion plus globale et plus approfondie de l'organisation des composants logiciels.
Par une représentation schématique et structurée, détaillée ou synthétique, la modélisation aide à concevoir et décrire l'architecture des systèmes d'information, et facilite ainsi la maîtrise des évolutions ultérieures.
Il existe de multiples raisons de modéliser l'architecture d'un système d'information : l'architecte peut s'intéresser à la description de l'existant, en focalisant son analyse sur l'architecture logicielle et son intégration dans l'organisation, ou sur l'infrastructure technique et matérielle du système d'information ; il peut également étudier les évolutions nécessaires d'un système d'information, qu'il s'agisse d'intégrer une nouvelle application, un nouveau site Internet, ou un progiciel tel que SAP, ou d'optimiser une architecture client/serveur, en recherchant la meilleure répartition des données et des traitements.
L'architecte peut également être amené à représenter de manière précise les interactions entre les applications de l'entreprise et celles de ses partenaires, ou entre des entités autonomes à l'intérieur d'une même entreprise comme lors de la mise en place d'un moteur de workflow.
Par rapport à de simples représentations graphiques ou documents de présentation, la modélisation permet la constitution progressive d'une base d'information complète et parfaitement cohérente, facile à maintenir.
Présenter un système d'information complexe et étendu
Pour décrire l'architecture d'un système d'information complexe, la première étape consiste souvent à établir des représentations géographiques synthétiques et explicites qui mettent en évidence les principaux sites d'implantation de l'entreprise, ainsi que l'organisation des communications entre ceux-ci.
Selon le niveau de détail de ces cartes, la modélisation présentera le système d'information dans son ensemble, ou des sous-ensembles particuliers plus détaillés.
Par exemple, pour un système d'information réparti sur plusieurs continents, vous pouvez dresser une planisphère présentant les sites régionaux (ou par pays) qui composent le système, puis des cartes régionales spécifiques décrivant les implantations locales (siège national, agences départementales, etc.). Pour chaque carte, vous pouvez représenter les moyens de transmission entre les différents sites ainsi que leur équipement applicatif et matériel respectifs.
Réaliser une cartographie des applications et des bases de données
Un système d'information se construit par étapes. Généralement, les entreprises ont développé ou acquis leurs applications au fur et à mesure des besoins, des progrès des technologies de l'information, des ressources financières disponibles, etc.
Après l'informatisation des fonctions comptables, les entreprises ont mis en place des outils informatiques spécialisés centrés sur la gestion de leur(s) métier(s). Ultérieurement sont arrivés les outils de management, et on constate actuellement la progression fulgurante des applications tirant profit d'Internet, couplant des technologies de consultation et de mise à jour de bases de données géographiquement éloignées.
Ces multiples applications informatiques, développées par étapes et parfois indépendamment les unes des autres, sont aujourd'hui appelées à communiquer entre elles et avec l'extérieur, à partager des données, à synchroniser leurs traitements et leur ergonomie.
Face à ces défis, l'entreprise qui souhaite maîtriser son système d'information et le faire évoluer doit être capable de dresser un inventaire de ses applications, des sites Internet/Extranet et des bases de données associées, ainsi que de les situer. Elle doit également cerner le périmètre fonctionnel et organisationnel des applications (fonctions et utilisateurs concernés, informations échangées), ainsi que les interdépendances entre elles.
Dans ce contexte, la réalisation d'une cartographie des applications, des sites Internet et des bases de données constitue une démarche extrêmement bénéfique pour l'entreprise.
Tout d'abord, l'analyse de l'existant informatique qu'elle inclut révélera les points faibles du système d'information : lacunes, applications concurrentes, saisies multiples des mêmes données, hétérogénéité. L'entreprise en déduira les actions d'amélioration de l'efficacité de l'organisation et de la productivité à mener.
Ensuite, la cartographie obtenue se révélera un outil de travail puissant dans le cadre de projets d'évolution du système d'information : études d'impact d'une nouvelle application ou d'un progiciel dans son futur environnement, formalisation des flux d'information dans un contexte d'échange de données informatisé (EDI), optimisation d'une architecture Client/Serveur.
Urbaniser un système d'information
Les systèmes d'information des entreprises se sont développés dans une grande disparité au fil du temps et au gré des projets. Dans ces conditions, il devient de plus en plus difficile d'intégrer de nouvelles applications dans les systèmes d'information existants ou de faire face à des changements technologiques. L'urbanisme informatique consiste à définir les différents composants d'un système d'information et leurs modalités d'assemblage de façon à faciliter l'intégration de ces nouvelles applications.
De la même façon que pour une ville, vous pouvez concevoir le système d'information d'une entreprise comme un plan d'urbanisme et définir un découpage durable du système d'information en quartiers indépendants.
Représenter le découpage fonctionnel d'une application
L'intérêt de fractionner une application en composants se manifeste tout au long du cycle de vie des applications. Cette démarche est essentielle dans la phase de spécification. Les différents besoins à couvrir sont étudiés dans le cadre de sous-projets fonctionnels complémentaires.
La décomposition en modules fonctionnels permet de maximiser les chances de succès de l'intégration d'une nouvelle application dans l'entreprise. Lors de cette phase cruciale de la vie d'une application, il est intéressant d'attribuer les fonctionnalités de l'application aux différents acteurs de l'entreprise pour étudier finement l'impact sur l'organisation et organiser les formations nécessaires.
Enfin, la représentation du découpage fonctionnel d'une application facilite la gestion de la réutilisation des composants logiciels dans le système d'information de l'entreprise.
Décrire les interactions entre applications
Les interactions définies au niveau international par des organismes tels que l'OAG (Open Applications Group) ou IFX (Interactive Financial Exchange), ainsi que la description des schémas XML associés (disponibles avec le produit HOPEX System Blueprint) permettent d'automatiser les échanges entre des applications appartenant à des entreprises différentes. L'utilisation d'interactions et de messages standard permet à ces entreprises de communiquer sans forcément se connaître à l'avance. C'est ce qui permet le fonctionnement des places de marché qui connaissent une expansion grandissante. Les mêmes mécanismes peuvent être utilisés à l'intérieur d'une entreprise comme lors de la mise en place de certains moteurs de workflow, ou pour automatiser les échanges entre une entreprise et ses filiales.
Optimiser une architecture client/serveur
Les architectures client/serveur se généralisent. Les possibilités offertes par ces approches en terme de réutilisabilité de composants logiciels élémentaires, de portabilité et d'évolutivité des applications permettent d'envisager des systèmes d'information efficaces et souples malgré la complexité des besoins à couvrir.
Cependant, toutes les architectures applicatives réalisables ne sont pas équivalentes sur le plan des flux d'information transportés, sur les délais, sur les risques, sur les coûts.
Face aux questions soulevées par ces approches, la modélisation détaillée des architectures client/serveur, incluant la décomposition des applications en modules client ou serveur et une réflexion sur l'implantation des données utilisées, permet d'optimiser la répartition des données et des traitements, à partir d'une appréciation qualitative du volume des flux d'information générés par les applications.
La modélisation introduit la possibilité d'étudier plusieurs scénarios d'organisation, dès la phase de conception, en offrant au concepteur les moyens de réaliser des simulations successives centrées sur des solutions alternatives d'implantation et de réplication des bases de données, ou de partage des ressources applicatives.
Décrire une infrastructure technique
Sur le plan technique, les systèmes d'information des entreprises héritent de l'hétérogénéité que l'on observe au niveau logiciel. Souvent, la coexistence de plusieurs générations d'équipements et de matériels informatiques vient encore en amplifier la complexité.
La modélisation de l'architecture du système d'information sous l'angle technique apportera donc souvent beaucoup à la connaissance et à la maîtrise qu'en ont les architectes et les responsables de l'entreprise.
Les diagrammes réalisés permettent d'identifier et de représenter les matériels existants (serveurs, postes de travail, etc.), les réseaux qui relient ces machines, et de décrire leurs caractéristiques. Ces diagrammes indiquent sur quelles machines sont installées les bases de données et les applications.