[2017] Architecture des systèmes d'informations

ENSG, février 2017

Moi

Thibault Coupin

  • §fragment ingénieur au pôle Géoportail de l’IGN
  • §fragment Chef division Services&CDA & DevOps
  • §fragment thibault.coupinign.fr
  • §fragment tcoupin
  • §fragment @thibbojunior

Ce cours est :

Sources :

Sommaire

§id:sommaire§;

Définitions

§id:definitions§;

architecture§fragment:3§; des systèmes§fragment:2§; d’informations§fragment:1§;

Information

Élément de connaissance susceptible d’être représenté à l’aide de conventions pour être conservé, traité ou communiqué.

D’après le Larousse.

Système

Un système est un ensemble d’éléments interagissant entre eux selon certains principes ou règles.

D’après Wikipédia.

Système

Un système est déterminé par :

  • la nature de ses éléments constitutifs ;§fragment
  • les interactions entre ces derniers ;§fragment
  • sa frontière, c’est-à-dire le critère d’appartenance au système (déterminant si une entité appartient au système ou fait au contraire partie de son environnement) ;§fragment
  • ses interactions avec son environnement. §fragment

Système

http://wikimeca.org/images/e/eb/SADT.PNG

Système

Le système peut-être découpé en sous-systèmes autonomes mais pas indépendants : ils communiquent.

Au fur et à mesure du découpage en sous-système, des biais peuvent apparaître car la perception du contexte par le sous-système est de plus en plus limitée.

Système d’information

Ensemble des flux d’information circulant dans l’organisation associé aux moyens mis en œuvre pour les gérer.

  • Flux : collecter, stocker, traiter et distribuer de l’information
  • Moyens : humains, matériel (réseau, serveurs, postes) et logiciel (sgbd, logiciel métier…)

Architecture

L’architecture est l’art majeur de concevoir des espaces et de bâtir des édifices, en respectant des règles de construction empiriques ou scientifiques, ainsi que des concepts esthétiques, classiques ou nouveaux, de forme et d’agencement d’espace, en y incluant les aspects sociaux et environnementaux.

D’après Wikipédia.

Architecture des systèmes d’informations

Conception et structure du SI selon plusieurs axes :

  • l’organisation : procédure (humaine et informatique), politique… §fragment
  • la structuration de l’information : quel modèle de données ?§fragment
  • les logiciels : découpage en couches et modules§fragment
  • le matériel et la technique : quel serveur, quel réseau, quelle baie…§fragment

Retour sommaire

Pourquoi et comment ?

§id:why§;

§id:entreprise§;

Le SI informatique des entreprises

  • 70s : 3e révolution industrielle “révolution informatique” : Arpanet (1969), microprocesseur (1971), ordinateur de bureau (1977) ; §fragment
  • 70s-80s : informatisation de l’entreprise et de son SI, sentiment de modernité. Le changement peut se faire par partie, p2p ou au hasard ;§fragment
  • 2000s : explosion d’internet avec plusieurs impacts : §fragment
    • internet est un nouveau réseau en plus de celui de l’entreprise. §fragment
    • internet impose TCP/IP §fragment
    • internet est un nouveau moyen de se faire du $€£ §fragment
  • Aujourd’hui : urbanisation du SI : diminution des coûts, rationalisation, optimisation (retour sur investissement). §fragment

§id:enjeux§;

Les enjeux

L’organisation de l’information dans l’entreprise est un pré-requis pour faire des profits et être efficace.

Les enjeux

Nature très variée de l’information selon les activités de l’organisation :

  • commande
  • stock
  • annuaire
  • info géographique…

Les enjeux

Données “business” et “méta-données”

  • rapport
  • RH
  • comptabilité analytique…

Le découpage classique de l’entreprise

On peut découper l’entreprise en 3 sous-sytèmes :

  • le système de pilotage §fragment §element:class=grow§;
  • le SI §fragment §element:class=grow§;
  • le systéme opérant §fragment §element:class=grow§;

Le système de pilotage

  • Exploite les informations qui circulent §fragment
  • Organise le fonctionnement du système §fragment
  • Décide des actions à conduire sur le système opérant §fragment
  • Raisonne en fonction des objectifs et des politiques de l’entreprise §fragment

Le système opérant

  • Reçoit les informations émises par le système de pilotage §fragment
  • Se charge de réaliser les tâches qui lui sont confiées §fragment
  • Génère à son tour des informations en direction du système de pilotage §fragment
    • Qui peut ainsi contrôler les écarts et agir en conséquence §fragment
  • Il englobe toutes les fonctions liées à l’activité propre de l’entreprise : §fragment
    • Facturer les clients, régler les salaires, gérer les stocks, … §fragment

Le SI

  • Pour organiser son fonctionnement, le système a besoin de mémoriser des informations : pour comparer, prévoir, … §fragment
  • Diffuser l’information §fragment
  • Réaliser tous les traitements nécessaires au fonctionnement du système §fragment

Schéma d'organisation des systèmes d'une entreprise

G. Rivière

§id:acteurs§;

Les acteurs

§slide:data-transition=fade§; Direction du SI : Piloter, décider en ayant une vision stratégique.

D. Duportal

Les acteurs

§slide:data-transition=fade§; Maitrise d’ouvrage (MOA) : Entitée porteuse du besoin. Elle établit les objectifs, le calendrier et le budget. Son objectif est la réalisation des oeuvres (==ouvrage)

D. Duportal

Les acteurs

§slide:data-transition=fade§; Maitrise d’ouvrage (MOE) : Entitée, chargée par la MOA, d’effectuer la réalisation de l’oeuvre. Assiste et conseille la MOA, dirige l’exécution de l’oeuvre.

D. Duportal

Les acteurs

§slide:data-transition=fade§; Etudes et dévelopement : Entité qui conçoit et produit l’oeuvre. Dirigée par la MOE. (Ce sont les dévelopeurs…)

D. Duportal

Les acteurs

§slide:data-transition=fade§; Production et exploitation : Entité chargée de faire fonctionner les oeuvres, ainsi que les maintenir en conditions opérationnelles. (Ce sont les ops…)

D. Duportal

Les acteurs

§slide:data-transition=fade§; Support : Entité assurant le suivi des utilisateurs des ouvrages. Niveaux 1 / 2 / 3

D. Duportal

Retour sommaire

Les principes d’architectures

§id:principes§;

UML

§id:uml§;

L’UML pour aider à architecturer un système d’information ?

Rappel : Architecture des systèmes d’informations

Conception et structure du SI selon plusieurs axes :

  • l’organisation : procédure (humaine et informatique), politique… §fragment
  • la structuration de l’information : quel modèle de données ?§fragment
  • les logiciels : découpage en couches et modules§fragment
  • le matériel et la technique : quel serveur, quel réseau, quelle baie…§fragment

UML : les 5 vues

§slide:data-transition=fade§; Les 5 vues UML

Source : wikipédia

UML : les 5 vues

§slide:data-transition=fade§;

Les 5 vues UML

  • l’organisation : procédure (humaine et informatique), politique…

Vue des procedure et des cas d’utilisation : acteurs, séquences…§fragment

UML : les 5 vues

§slide:data-transition=fade§;

Les 5 vues UML

  • la structuration de l’information : quel modèle de données ?

Vue logique : modèle de données§fragment

UML : les 5 vues

§slide:data-transition=fade§;

Les 5 vues UML

  • les logiciels : découpage en couches et modules

Vue d’implémentation§fragment

UML : les 5 vues

§slide:data-transition=fade§;

Les 5 vues UML

  • le matériel et la technique : quel serveur, quel réseau, quelle baie…

Vue du déploiement§fragment

Principes de conception

§id:tiers§; La brique de base est appelée tiers.

Un acteur, un élément du déploiement, un applicatif qui a une fonction particulière.§fragment

1 tiers

Un peu seul au monde§fragment Seul au monde

2 tiers : client-serveur

Modèle client-serveur

  1. Le serveur est en attente§fragment:1§;
  2. Le client initie la connection§fragment:1§;
  3. Le serveur répond à la requête du client§fragment:1§;

2 tiers : client-serveur

  • relation maître-esclave
  • même protocole de communication (HTTP ?)
  • le serveur a l’information
  • le serveur est un middleware§fragment

Middleware : intergicielle

Un middleware est une couche logicielle qui permet la diffusion de la donnée.

Middleware

4 familles :

  • §fragmentMessage-oriented Middleware : échange de message (pas des emails )
  • §fragmentRemote procedure call : demande de traitement
  • §fragmentObjects request broker : manipulation d’objet (attributs et méthodes)
  • §fragmentTransactional monitors : une transaction est une suite d’opérations indissociables - qui doivent être réalisées entièrement ou pas du tout (rollback)

2 tiers : répartition des rôles

§element: style=background-color:white§; Répartition dans le modèle 2 tiers §pelement:height=60%§;

Source : Damien Duportal

2 tiers : couplage fort

Pas bien.§fragment

3 tiers

Modèle 3 tiers

  • Présentation§fragment
  • Traitement métier§fragment
  • Accès aux données§fragment

3 tiers : répartition des rôles

§element: style=background-color:white§; Répartition en 3 tiers

Généralisation : N tiers

Diviser la couche métier pour simplifier.

Architecture distribuée

§id:distribuee§;

Architecture distribuée

  • Plusieurs référentiels de données
  • Plusieurs traitements métiers
  • Plusieurs présentations

Architecture distribuée

§element: style=background-color:white§; Archi distribuée §pelement:height=60%§;

Source : Damien Duportal

Architecture distribuée

  • Rationalisation et rentabilisation des composants
  • Distribution des données et des traitements
  • Découpage par unité métier

Problèmes inhérents à la distribution

  • Cohérence de l’information
  • Concurrence des actions
  • Complexité de l’architecture

Problèmes inhérents à la distribution

Cohérence de l’information

Quelque soit le chemin emprunté, la donnée doit rester cohérente.

Problèmes inhérents à la distribution

Concurrence des actions

Plusieurs éléments manipulent en même temps la même donnée.

Qui gagne ?

Problèmes inhérents à la distribution

Complexité de l’architecture

Multiplication des éléments de l’architecture.

Pourquoi distribuer ?

Distribution = scalabilité horizontale

VS

Scalabilité verticale = grossir les machines

Damien Duportal : Notions de répartition des ressources§fragment:1§;

Pourquoi distribuer ?

Mise en place de la Haute Disponibilité (HA)

Damien Duportal : Notions de HA§fragment:1§;

Exemple de système distribué

Le Géoportail

  • des serveurs web exposés sur Internet §fragment
  • selon la requête, on transfert vers : §fragment
    • des serveurs WMS Raster
    • des serveurs WMS Vecteur
    • des serveurs de géocodage
  • les données sont stockées selon leur nature dans : §fragment
    • une base de données Postgis
    • un “gros” disque dur pour les données raster

Exemple de système distribué

Stockage distribué

  • Le stockage objet (Amazon S3, OS Swift, Ceph…)
  • Le stockage bloc (OS Cinder, Ceph RBD, Infinit…)

Les capacités de stockage d’un pool de machine sont mises en commun pour assurer la disponibilité de la donnée (disponibilité, cohérence).

Exemple de système distribué

Calcul distribué

Le principe du map-reduce.

  • Be4 : création de pyramide de donnée raster pour diffusion WMTS
  • Boinc : utiliser les ressources de particuliers pour la recherche

Architecture orientée services

§id:services§; En anglais SOA.

SOA : concepts

L’application globale est découpée en sous-éléments communiquant entre eux.

  • couplage faible pour réduire les dépendances (matérielles et d’environnement)
  • rationalisation des services
  • découverte des services

SOA : communication entre éléments

  • interface publiée sur le réseau avec un protocole (ex: SOAP)
  • interopérabilité, langage (ex: WSDL)
  • annuaire de service

SOA : intégration des services

Comment intégrer les services dans mon SI ?

§pelement:height=60%§;

SOA : intégration des services

Comment intégrer les services dans mon SI ?

  • Enterprise Application Integration
  • Enterprise Service Bus
  • Web-Oriented Architecture

SOA : variante EAI

  • l’EAI est un intermédiaire de communication
  • l’EAI centralise la communication
  • connecteurs entre l’EAI et les applications.
  • l’EAI réceptionne/transmet les OMS des applications (ang. : ASBO)
  • l’EAI transforme les OMS en OM pour son mapping interne (ang. : BO)
  • pas d’annuaire externe, l’EAI connaît les services

SOA : variante EAI

§pelement:height=70%§;

SOA : variante EAI

  • interfaces : rationalisation grâce aux OM
  • Coût initial élevé mais rentabilisation
  • Centralisation : métier + mais SPOF

SOA : variante ESB

  • middleware pour le rôle de bus
  • pas d’OMS => travail de traduction
  • orienté MoM : échange de message asynchrone avec un système de file d’attente
  • routage intelligent qui découple l’expéditeur du message de son destinataire
  • découverte des services

SOA : variante ESB

§pelement:height=60%§;

SOA : variante ESB

  • Pas de SPOFs
  • Même avantages que l’EAI (hub, interfaces, etc.)
  • Coût initial + complexité du messaging

SOA : variante WOA

  • chaque service est une application web
  • le web joue le rôle de bus (DNS+TCP/IP)
  • interopérable
  • SPOFs limités, couplage faible

SOA : variante WOA

Le service web :

  • old school : SOAP, WSDL…
  • REST : Representational State Transfer

SOA : variante WOA

REST :

  • URL : Uniform Resource Locator
  • HTTP : GET, POST, PUT, DELETE… + fonctionnalité d’en-tête
  • Stateless

Architecture micro-services

§id:microservices§;

Généralement du WOA avec un découpage beaucoup plus fin :

  • une seule fonction par service
  • le projet doit être proprement mené : automatisation, déploiement et tests
  • service élastique

Architecture micro-services

Avantages :

  • scalabilité facilitée§fragment:1§;
  • isolation des développements§fragment:1§;
  • rapidité des cycles de release§fragment:1§;

Inconvénients :

  • complexes§fragment:2§;
  • explosion du nombre de composants§fragment:2§;

C’est déjà fini

Retour sommaire