lundi 24 février 2025

Architecture logicielle des SI, des équipements

 Des choix d’architecture logicielle sont à faire si nécessaire par les entreprises pour les SI, les équipements qui les constituent.

Pour les fonctions attendues des SI, des équipements numériques, différentes solutions logicielles sont envisageables.

Les logiciels nécessaires sont selon les cas :

- mis à la disposition de l'entreprise, dans le cas de l'utilisation de SI, de réseaux appartenant à des fournisseurs externes ;

- achetés avec les équipements matériels ;

- à implanter par l'entreprise sur les SI mis à sa disposition, les équipements matériels qu'elle a achetés (logiciels standard ou spécifiques).

Des choix sont à faire sur l'ensemble des logiciels à mettre en place. Un des objectifs est de structurer l'ensemble des logiciels de façon logique, rationnelle, afin qu’il soit maîtrisable, qu’une mise au point progressive soit possible, que les logiciels présentent une bonne cohésion et soient faiblement couplés.

Les architectures logicielles orientées services (SOA) facilitent l'interopérabilité des logiciels.

Les architectures en couches (par exemple applications, middleware, gestion des données, système/réseau) facilitent les évolutions : une modification sur une couche n'a que peu d'impact (voire pas du tout) sur les couches supérieures et inférieures.

Les logiciels interopèrent en local, sur un même équipement, ou au niveau d'un SI. En général un logiciel demande des services à d'autres logiciels. Des interfaces normalisées (API) sont de plus en plus souvent définies pour les logiciels standard. Les logiciels applicatifs spécifiques doivent prévoir des solutions équivalentes.

Dans les architectures client/serveur, certains logiciels sont des clients, demandeurs de services, et d'autres sont des serveurs.

Si des services de cloud sont prévus, des choix sont à faire entre l'utilisation de systèmes incluant tous les logiciels nécessaires (SaaS), de plateformes (PaaS) ou d'infrastructures (IaaS). Il faut bien sûr d'abord que les logiciels proposés répondent aux besoins. Du point de vue technique, il est préférable de laisser le fournisseur de services gérer l'interopérabilité entre les logiciels, les changements de versions, si les conditions proposées sont compétitives. 

Les caractéristiques des logiciels implantés sur les SI, les équipements matériels, sont parfois un critère de choix. Entre plusieurs SI, équipements dont les fonctions sont comparables, on tient compte de la cohérence entre les logiciels et l'environnement numérique de l'entreprise, de la solidité des éditeurs, de la qualité des services associés, de la sécurité, de la protection des informations de l'entreprise...

Les équipements de type boîte noire, contenant les logiciels nécessaires et ne permettant pas l'implantation de logiciels supplémentaires (appliances), sont évidemment moins évolutifs, mais sont plus robustes ; leur fonctionnement est totalement garanti par le constructeur.

Logiciels standard, spécifiques, solutions intermédiaires

Pour obtenir les fonctions attendues des SI, des équipements matériels, des logiciels supplémentaires sont parfois à implanter. Des choix sont à faire entre logiciels standard, spécifiques, ou solutions intermédiaires, telles que les frameworks, s’il existe plusieurs solutions répondant aux besoins de façon acceptable.

Les conditions techniques et juridiques de mise à disposition des logiciels standard diffèrent (par exemple entre logiciels "propriétaires" et logiciels "libres"). Les logiciels standard sont plus ou moins paramétrables. Il est possible ou non de les compléter par des développements spécifiques. Le recours à de tels développements doit être prudent : c’est parfois un facteur de complexité dans les changements de version des logiciels.

Les frameworks comportent une architecture et des composants logiciels, sur la base desquels il est possible de construire des solutions spécifiques.

Pour les fonctions générales des SI (OS, SGBD, middleware, traitement de texte, tableurs...), les solutions à choisir sont des logiciels standard, ou des architectures, des composants standard permettant la construction de solutions spécifiques. Pour les fonctions applicatives spécifiques aux différents domaines d'activité, l'utilisation de logiciels spécifiques, en totalité ou en partie, est à envisager pour créer ou préserver une différenciation concurrentielle, par exemple pour fournir des services numériques aux clients, ou pour exercer un métier selon des processus plus performants que la moyenne, ou lorsqu'aucune solution standard ne répond de façon satisfaisante aux besoins de l'entreprise.

1) Le choix de logiciels standard, de loin le plus fréquent, offre de nombreux avantages, surtout si les logiciels choisis offrent d'importantes possibilités de paramétrage.

A fonctionnalités utiles équivalentes, ces logiciels sont souvent moins coûteux, même en ajoutant le coût des paramétrages et celui des développements spécifiques. Le choix de logiciels complètement spécifiques présente des risques plus importants d’échec technique, de dépassement des budgets et des délais.

Les logiciels standard sont souvent de meilleure qualité, car leurs coûts de conception, de construction initiale et de maintenance peuvent être amortis sur une base plus large.

Le nombre des professionnels qui connaissent les logiciels standard est un critère de choix important. S’il est élevé, cela apporte une sécurité supplémentaire.

2) En contrepartie les logiciels standard sont parfois moins bien adaptés aux besoins, à la conception d’ensemble des SI mis en place par l’entreprise. Leur choix implique une dépendance par rapport à l'éditeur. Leurs spécifications ne sont pas toujours clairement définies.

3) L'assemblage de logiciels standard et spécifiques, dans une architecture logicielle orientée services, est parfois un bon compromis.

4) Les logiciels très répandus présentent plus de risques du point de vue de la sécurité. Une vulnérabilité dans un de ces logiciels peut avoir des conséquences catastrophiques.

5) Des choix sont à faire sur les changements de versions des logiciels standard.

Certains logiciels standard regroupent et intègrent un ensemble important de fonctions. Dans une telle solution, l’éditeur prend à sa charge les interfaces entre fonctions, la gestion des bases de données communes.

Des choix sont parfois à faire entre ce type de logiciel et plusieurs logiciels couvrant ensemble les mêmes fonctions. Dans une solution non intégrée, chaque logiciel peut être plus conforme aux besoins pour les fonctions qu'il traite (best of breed), mais les interfaces entre logiciels et la gestion des bases de données communes sont à la charge du client.

Pour les logiciels applicatifs de gestion des entreprises, la bataille est finie. Elle a été gagnée par les ERP.

Les logiciels de gestion de réseau, de parc de micro-ordinateurs regroupent de façon intégrée un ensemble de fonctions pour l’ingénierie et l’exploitation des réseaux : pilotage des réseaux, administration, maintenance, provisioning (allocation automatique des ressources : bande passante, fréquences, espace disque, puissance, mémoire, installation et configuration de logiciels à distance). Ils intègrent également des traitements de routage manuel des flux d’information, de gestion de la sécurité, de la configuration du réseau, des performances, de comptabilité, d’analyse, de reporting. Ils portent sur des réseaux de communication, d’ordinateurs.

Les entreprises cherchent en général à limiter le nombre des logiciels standard qu'elles utilisent pour des fonctions identiques ou comparables (OS, SGBD, ERP...).

Certains équipements matériels, certains logiciels fonctionnent avec un seul OS : si cet équipement, ce logiciel est choisi, le choix de l’OS s’impose. Lorsque le choix est possible, il doit porter de préférence sur des OS très répandus, implantés sur un grand nombre d’équipements, permettant l’exploitation d’un grand nombre de logiciels standard, ou sur un type d’OS déjà choisi par l’entreprise pour l’ensemble de ses SI. Le même raisonnement s'applique aux autres logiciels techniques.

La mise en place de certaines catégories d’ERP est tellement complexe que les entreprises ont souvent intérêt à en choisir un seul, et à chercher à maîtriser aussi bien que possible son utilisation.

Les logiciels correspondant aux fonctions à exécuter sur les systèmes locaux, mobiles, sont chargés en permanence sur les systèmes, ou seulement avant leur utilisation. Le téléchargement des logiciels nécessite la mise en place d'un système d'administration centralisée et de réseaux de télécommunications.

La deuxième solution simplifie l'administration des systèmes. L'utilisation d'interfaces graphiques téléchargées à la demande, comme dans le cas des applications web, permet plus de souplesse, d'éviter de devoir installer une nouvelle application sur le système.

1) La gestion de nombreuses interfaces entre applications devient vite extrêmement complexe. Les solutions à retenir sont fondées sur la rationalisation des échanges, par exemple par la mise en place de plateformes dédiées, de bus applicatif, de formats communs, sur le paramétrage des traitements.

Les architectures logicielles de type EAI (enterprise application integration, ou integrator) permettent l'échange d'informations entre applications hétérogènes en pseudo temps réel. Elles sont fondées sur la mise en place d'une plateforme construite à partir de middleware.

2) La gestion des informations (interrogation, consultation, accès aux données, structuration, gestion des accès concurrents, préservation de l’intégrité, optimisation des performances des accès, exploitation des informations en très grand nombre, etc.) est réalisée par le logiciel qui en a besoin ou par des logiciels spécialisés.

Les logiciels spécialisés (SGBD, entrepôts de données, big datablockchaindata lakes…) permettent des évolutions efficaces et rapides, par exemple de la nature et de la structure des informations stockées, simplifient le développement des logiciels applicatifs, en prenant en charge des traitements communs.

Des modèles de données sont à choisir (hiérarchique, relationnel…).

Dans les architectures logicielles à base de microservices indépendants, il est en général prévu que chaque microservice gère ses données de façon indépendante. Cela complexifie considérablement le maintien en cohérence des données fonctionnellement associées. Le principe de cohérence absolue (« absolute consistency ») des SGBD est mis en cause, remplacé par un principe de cohérence finale (« eventual consistency »).

3) Des logiciels de sécurité sont utilisables, pour les fonctions de sécurité retenues (antivirus, chiffrement/déchiffrement, contrôle des communications avec l’extérieur…).

Aucun commentaire:

Enregistrer un commentaire