7

Click here to load reader

Architecture (Informatique)

Embed Size (px)

DESCRIPTION

Architecture Informatique

Citation preview

Page 1: Architecture (Informatique)

7/18/2019 Architecture (Informatique)

http://slidepdf.com/reader/full/architecture-informatique-569244285970a 1/7

Architecture (informatique)

Pour les articles homonymes, voir Architecture (ho-monymie).En informatique, architecture désigne la structure géné-

Exemple de diagramme d'architecture

rale inhérente à un système informatique, l'organisationdes différents éléments du système (logiciels   et/oumatériels et/ou  humains  et/ou  informations) et des re-lations entre les éléments. Cette structure fait suite àun ensemble de décisions stratégiques prises durant laconception de tout ou partie du système informatique,par l'exercice d'une discipline technique et industrielle dusecteur de l'informatique dénommée elle aussi architec-ture, et dont le responsable est l'architecte informatique.

La structure d'un système informatique n'est à ce jourassujettie à aucune norme. En matière de logiciels, elle

est représentée sous forme de graphiques tels que desorganigrammes, des diagrammes de workflow ou des dia-grammes entité-relation. Le diagramme peut concernerun logiciel, une pièce de matériel, un réseau informa-tique, un groupe de machines, un sous-système, voirel'ensemble des dispositifs informatiques d'une entrepriseou d'une institution.

Un diagramme d'architecture est une perspective qui dé-pend du point de vue adopté par son auteur, en fonctiondes éléments qu'il recherche à mettre en évidence. Le dia-gramme omet volontairement certains détails pour rendrela perspective plus visible. Il peut y avoir plusieurs dia-

grammes d'architecture pour un même système, tels que :architecture des informations, architecture métier, archi-tecture applicative et architecture technique[1].

1 Étymologie

Architecture est un mot qui n'a pas toujours été trèspopulaire en informatique : la preuve en est l'absenced'ouvrages traitant de ce thème avant les années 1990.

Martin Fowler dans son récent ouvrage "Patterns of enter-

 prise application architecture”  (datant de 2003) déclare :

« L'industrie du logiciel brille dans la dé-

formation des mots, les étirant dans toutes lesdirections jusqu'à leur donner une myriade desens subtilement contradictoires. Le mot archi-

tecture est un de ceux qui ont le plus souffert dece phénomène. Je suis tenté de dire que archi-

tecture est un de ces mots ronflants utilisé avanttout pour indiquer qu'on est en train de parlerde quelque chose d'important. Mais je vais memontrer pragmatique et ne pas laisser mon cy-nisme nuire à l'intérêt de mon livre :-)[2] »

2 HistoireL'effet de mode débute seulement à partir des années1980-1990, où le terme “architecture” était encore consi-déré comme un buzzword. Ceci coïncide avec la multipli-cation des types de langages de programmation, et avecl’essor de la micro-informatique.

À ce jour, le nombre d'ouvrages traitant d'architectureinformatique n'a guère augmenté, preuve en est la petiteliste d'ouvrages cités en référence.

Depuis les années 2000, si certains standards ou mé-

thodes de développement ont été adaptés au monde del'informatique, ce domaine d'activité manque toujourscruellement de normes et de modèles fiables.

C'est dans ce contexte que ce sont développés les coursd'architecture des systèmes informatiques au   CNAM(Conservatoire National des Arts et Métiers) (voir plu-sieurs ouvrages récents en référence, tels “Architecturelogicielle” ou “Architecture des machines et des systèmesinformatiques”, datant de 2003 à 2011 pour les éditionsles plus récentes).

Actuellement, savoir construire (et reconstruire après dé-gâts) un système informatique (ou de façon plus large un

système d'informations) est devenu un tel enjeu national,que certains pays ne sont pas prêts à communiquer leursavoir-faire ... preuve en est le peu de liens relatifs aux

1

Page 2: Architecture (Informatique)

7/18/2019 Architecture (Informatique)

http://slidepdf.com/reader/full/architecture-informatique-569244285970a 2/7

2   3 LES PERSPECTIVES 

méthodes de développement en matière d'architecturesinformatiques.

À ce jour, l'entreprise ou l'organisme qui maîtrise parfai-tement l'architecture de ses systèmes d'informations estparée pour survivre aux risques majeurs du XXIe siècle

que sont les dégâts, les falsifications ou les vols relatifsaux informations (pertes immatérielles non couvertes parles polices d'assurances) et les pertes de disponibilité dessystèmes d'informations (la perte de confiance des clientsn'étant couverte par aucune compagnie d'assurance !).

En ce début de XXIe siècle, les solutions passent par laSSI et plus particulièrement la résilience.

3 Les perspectives

En théorie des systèmes, un système est une collection depièces et un ensemble de principes qui une fois mis en-semble forment une unité. Unité qui peut à son tour êtreun élément d'une collection. La structure d'un système in-formatique – représentée sous forme de graphiques – estune perspective, et dépend du point de vue adopté et deséléments que le graphique met en évidence. Il peut parconséquent y avoir plusieurs diagrammes d'architecturepour un même système[1].

•   L´architecture métier  est un point de vue tourné surles politiques, les stratégies et les procédures opéra-

tionnelles propres à une organisation et les différentséléments du système informatique en rapport aveceux.

•   L´architecture des informations  est un point de vuetourné sur l'organisation, le classement et la présen-tation des informations propres à une organisationen accord avec la manière dont les gens vont inter-préter, retrouver ou modifier ces informations.

•   L´architecture logicielle   est une vue tournée sur

l'organisation interne et le découpage en couches etmodules du ou des logiciels du système informa-tique. Les responsabilités de chaque module et lanature et la structure des relations entre modules.

•   L´architecture technique est une vue tournée vers lesdifférents éléments matériels et l'infrastructure danslaquelle le système informatique s’inscrit, les liaisonsphysiques et logiques entre ces éléments et les infor-mations qui y circulent[3].

•   L´architecture matérielle est une vue tournée sur lechoix et l'organisation des différents composantsélectroniques d'un appareil informatique.

Architecture métier 

3.1 Architecture métier

L'architecture métier décrit les   applications informa-tiques, les principales bases de données du système in-formatique d'une institution ou d'une entreprise, les utili-sations faites de ces éléments dans le cadre de l'activité del'institution et leur alignement à l'organisation générale del'institution. La vue  métier  fait ressortir les éléments his-toriques et en fin de vie, les interfaces avec des élémentsappartenant à des tiers, ainsi que les possibilités d'ajouterdes nouveaux éléments[3].

Le diagramme d'architecture métier servira à guiderla direction de l'institution dans le choix de créationde nouveaux éléments, et aidera les ingénieurs à créer

des produits informatiques en ligne avec les activités etl'organisation générale de l'institution. Il permettra éga-lement d'informer les collaborateurs de l'institution surson organisation générale, ses buts, sa stratégie, et les fluxd'informations au sein de l'institution[4].

3.2 Architecture des informations

Architecture des informations 

L'architecture des informations concerne la manière dont

les informations sont organisées et agrégées : ordrealphabétique, chronologique, taxinomie. Les manièresd'accéder à ces informations, la compréhension qu'ont les

Page 3: Architecture (Informatique)

7/18/2019 Architecture (Informatique)

http://slidepdf.com/reader/full/architecture-informatique-569244285970a 3/7

3.4 Architecture technique   3

lecteurs et comment ils manipulent et s’échangent les in-formations ainsi que l'organisation de la base de donnéesqui contiendra les informations. L'architecture repose surtrois axes clés :

1. le contexte : commercial, politique, et culturel qui

entoure ces informations.

2. le type d'informations : le  format de données, laquantité, et les éventuelles structures existantes.

3. les personnes : l'audience, les tâches deslecteurs/rédacteurs, leurs habitudes et leurexpérience[5],[6].

Les sites web contenant de nombreuses informations, telsque les sites de  e-commerce, les médias, les  bases deconnaissances ou les encyclopédies en ligne sont les pre-miers concernés par l'architecture des informations.

3.3 Architecture logicielle

Architecture logicielle

Article détaillé : Architecture logicielle.

L'architecture logicielle est une vue tournée sur

l'organisation interne et le découpage d'un logicielen modules. Dans les logiciels les caractéristiquescommunes concernent les   interfaces, c'est-à-dire laconnectique qui permet la communication entre lesmodules, ainsi que les caractéristiques du matérielinformatique et du   système d'exploitation   sur lequelle logiciel s’exécutera et les caractéristiques du réseauinformatique qui sera utilisé[7].

Le diagramme d'architecture logicielle décrit la naturedes différents modules d'un logiciel, les responsabilitéset les fonctionnalités de chaque module, quelle machineva les exécuter, et quand. Il décrit également la nature des

relations entre les modules, vont-ils s’échanger des infor-mations, un module en pilote-t-il un autre, lui envoie desinformations, ou lui fait des demandes[8]. En ingénierie

informatique le diagramme d'architecture donne une pre-mière série de réponses sur comment sera le futur logiciel,avant le début du travail de programmation.

3.4 Architecture technique

Architecture technique

Article détaillé : Architecture physique.

L'architecture technique est une vue tournée surl'organisation logique de la plateforme informatique,c'est-à-dire les moyens techniques clés qui seront uti-lisés par tous les  logiciels applicatifs. La vue contientle   matériel informatique, les   logiciels systèmes, les

middlewares, ainsi que les réseaux de télécommunicationet les relations entre ces différents éléments[9].

Pour une entreprise ou une institution, le choix del'architecture technique vise à maximiser les possibilitésd'implantation de logiciels du commerce ainsi que de réa-lisation de logiciels sur mesure. Il vise également à renta-biliser l'utilisation du matériel et des logiciels déjà acquispar l'institution.

Pour une entreprise ou une institution qui transforme sonarchitecture technique, le plan d'architecture est accom-pagné d'un planning et d'un budget des acquisitions, desventes et desopérations de migration nécessaires pour ali-

gner le système informatique avec le plan[10].

3.5 Architecture matérielle

Article détaillé : Architecture matérielle.

Le mot architecture matérielle est parfois utilisé pour dé-signer l'architecture du jeu d'instructions d'un processeur.L'architecture matérielle comprend toutes les caractéris-tiques générales, la conception, le choix et l'organisationdes différents dispositifs électroniques des appareils in-

formatiques (ordinateurs personnels, serveurs, assistantspersonnels, téléphones portables, consoles de jeu, ...).L'architecture est fonction du type d'appareil, du client

Page 4: Architecture (Informatique)

7/18/2019 Architecture (Informatique)

http://slidepdf.com/reader/full/architecture-informatique-569244285970a 4/7

4   4 LA DISCIPLINE 

Architecture matérielle

cible, de l'espace d'adressage - qui est fonction du nombrede bits utilisés pour les  adresses mémoire, du systèmed'exploitation et du langage de programmation cible.

L'architecture matérielle est un premier élément de ré-ponse sur la manière de concevoir le futur ordina-teur, recherchant la performance tout en respectant lescontraintes de coût, de consommation électrique et de fia-

bilité. Le choix de l'architecture est inspiré par le marché,en particulier par les logiciels applicatifs existants et pourlesquels l'appareil est destiné. La conception d'une ar-chitecture matérielle requiert la connaissance d'une largegamme de technologies concernant les compilateurs, lessystèmes d'exploitation, les circuits logiques et l'isolation.

L'architecture du jeu d'instruction est le point de ren-contre entre le matériel et le logiciel informatique. Se-lon son architecture, le jeu d'instruction peut être de typeregister-memory - chaque instruction peut être effectuéesur le contenu d'une adresse mémoire ou d'un registre - oudu type load-store - toutes les instructions sont effectuées

sur des registres sauf les instructions   load   et   store  quicopient des informations de et vers une certaine adressemémoire[11].

4 La discipline

Article connexe : Architecte informatique.

L'architecture est une discipline de conception et de ré-

solution théorique d'un problème informatique. Le travaildel'architecte informatique - la personne chargée de créerune architecture - consiste à explorer l'éventail des be-soins d'un client ainsi que l'éventail des moyens technolo-giques à disposition. D'identifier les points clés parmi lesbesoins du client et d'y apporter une solution théorique,puis de décrire schématiquement la solution en questionsous forme de diagrammes.

Pour un problème donné il existe toujours plusieurs so-lutions. Une des activités de l'architecte informatique estd'anticiper les qualités, les défauts et les coûts des dif-férentes solutions envisageables, et de proposer celle qui

est le mieux adaptée aux besoins du client en fonction despoints clés que celui-ci a relevés. Pour cela l'architecte in-formatique se base sur le savoir-faire - tel que les styles etpatrons, son expérience et les recommandations en rap-port avec les différentes solutions envisageables.

L'architecture demande un important travail de commu-nication avec les clients, les ingénieurs, les fournisseurset les directeurs. Le principal travail de communicationest l'écoute des besoins des clients et des recommanda-tions des ingénieurs. Le résultat du travail de l'architecteinformatique sont des diagrammes, des plannings, des re-commandations et des exemples qui expliquent le quoi , le

 pourquoi  et le comment  de la solution[12]

.

4.1 Les styles et patrons d'architecture lo-gicielle

Modèle

Contrôleur

Vue

 patron modèle-vue-contrôleur 

Les patrons d'architecture (en anglais :  design patterns )sont des modèles de référence de résolution des pro-blèmes courants d'architecture. Ils sont utilisés commesource d'inspiration dans de nombreux produits informa-tiques. L'héritage d'un patron se reconnait par le style ca-ractéristique du diagramme d'architecture du produit.

Dans le style à  filtres et tubes  une série de programmes

sont reliés entre eux par des tubes. Le produit del'exécution d'un programme est transmis par le tube oùil servira de matière première pour le programme sui-

Page 5: Architecture (Informatique)

7/18/2019 Architecture (Informatique)

http://slidepdf.com/reader/full/architecture-informatique-569244285970a 5/7

5

vant, et ainsi de suite. Un programme donné n'a pas be-soin d'attendre que le précédent ait terminé le travail,et commence dès lors que des informations lui sont en-voyées par le tube. Ce style est utilisé dans l'architecturede nombreuses applications de manipulation du son et dela vidéo[13].

Dans l'architecture de style client-serveur , l'applicationin-formatique est décomposée en deux sous-systèmes dif-férents prévus pour résider sur des ordinateurs diffé-rents. Les deux sous-systèmes communiquent selon desprotocoles réseau normalisés[13].

Le patron  modèle-vue-contrôleur  est un modèle souventutilisé dans l'architecture de l'interface graphique des lo-giciels. Il est fait de trois composants : le modèle, la vueet le contrôleur. Le contrôleur prend en charge les opéra-tions effectuées par l'utilisateur à la souris et au clavier,et les transforme en messages destinés au modèle et à lavue. Le modèle stocke les informations à traiter et en-voie des messages à la vue lors de modifications. La vuereçoit alors les messages et effectue les modifications né-cessaires de l'interface graphique[13].

Dans une architecture en  couches , les composants sontregroupés en sous-systèmes placés les uns au-dessusdes autres. Chaque composant d'un sous-système don-né est en relation uniquement avec des composants dessous-systèmes placés immédiatement au-dessus ou endessous[13].

Dans le style dit   architecture trois tiers , les composantssont regroupés en trois couches qui concernent respecti-

vement l'affichage sur l'interface graphique, la logique etle stockage en base de données. Chaque couche peut ré-sider sur un ordinateur différent[14].

L´architecture orientée services   est souvent considéréecomme un patron. Elle est souvent associée au conceptdu   Enterprise Service Bus   (abrégé ESB), une ligne decommunication publique à laquelle se connectent à lademande, différents logiciels fournisseurs et consomma-teurs de services[15].

Les  antipatterns sont des modèles de référence de  mau-

vaises réponses  à des problèmes d'architecture. Il s’agitde modèles de référence réputés inefficaces et décon-seillés. Ils sont souvent utilisés comme exemples pourmettre en évidence les défauts d'organisation d'un sys-tème informatique[12]. Le plat de spaghetti et l'usine à gazsont des exemples d'antipatterns .

5 Exemples

•   Architecture matérielle dite “de von Neumann"

•   Exemple d'architecture interne de processeurs :Reduced instruction set computer

•   Exemple d'architecture de systèmesde disques durs :RAID

6 Cadre de conception informa-tique (architecture)

Article détaillé : Cadre d'architecture.

Afin de répondre à ces différents besoins de descriptionde la conception informatique, il est apparu vers la fin desannées 1980 (cadre Zachman, 1987) qu'il devenait néces-saire de décrire des cadres de conception afin de décrireles concepts selon différentes vues ou différents points devue.

7 Notes et références

[1] (en) Karl Eugen Kurbel,   The Making of Informa-

tion Systems : Software Engineering and Management 

in a Globalized World , Springer Verlag, 2008 (ISBN9783540792604)

[2] (en) Martin Fowler,   Patterns of enterprise appli-

cation architecture, Addison-Wesley, 2003 (ISBN9780321127426)

[3] (en) Col Perks et Tony Beveridge, Guide to enterprise IT 

architecture, Springer, 2003 (ISBN 9780387951324)

[4] (en) Marc Lankhorst, Enterprise Architecture at Work : 

Modelling, Communication and Analysis , Springer Verlag,2009 (ISBN 9783642013096)

[5] (en) Wei Ding et Xia Lin,   Information Architec-

ture, Morgan & Claypool Publishers - 2009, (ISBN9781598299595)

[6] (en) Louis Rosenfeld et Peter Morville,Information archi-

tecture for the World Wide Web, O'Reilly Media Inc., 2002(ISBN 9780596000356)

[7] (en)H. J. Reekie & R. J. McAdam, A Software Architec-

ture Primer , Software Architecture Primer - 2006 (ISBN9780646458410)

[8] Len Bass, Paul Clements & Rick Kazman,   Software

architecture in practice, Addison-Wesley, 2003 (ISBN9780321154958)

[9] (en) Andy Carmichael, Developing business objects , CUPArchive, 1998 (ISBN 9780521648257)

[10] Daniel Minoli, Enterprise architecture A to Z , CRC Press,2008 (ISBN 9780849385179)

[11] (en) John L. Hennessy, David A. Patterson & An-drea C. Arpaci-Dusseau,   Computer architecture : a

quantitative approach, Morgan Kaufmann, 2007 (ISBN9780123704900)

[12] (en) Varma Vasudeva,   Software Architecture, PearsonEducation India (ISBN 9788131707494)

[13] (en) Frank F. Tsui & Orlando Karam,   Essentials of software engineering, Jones & Bartlett Publishers, 2006(ISBN 9780763735371)

Page 6: Architecture (Informatique)

7/18/2019 Architecture (Informatique)

http://slidepdf.com/reader/full/architecture-informatique-569244285970a 6/7

6   8 VOIR AUSSI 

[14] (en) Michael Jesse Chonoles & James A. Schardt,UML 2 for dummies , For Dummies, 2003 (ISBN9780764526145)

[15] (en) Zoran Stojanovic et Ajantha Dahanayake,  Service-

oriented software system engineering : challenges and prac-

tices , Idea Group Inc (IGI), 2005 (ISBN 9781591404279)

8 Voir aussi

•   Architecture logicielle, Jacques Printz et Yves Caseau(Ed. Dunod - 11 mars 2009) -  (ISBN 210052674X et978-2100526741)

•   Architecture des machines et des systèmes informa-

tiques , Joëlle Delacroix et Alain Cazes - (Ed. Dunod4e édition : 15 juin 2011) - (ISBN 2100563289 et 978-2100563289)

8.1 Articles connexes

•  Client-serveur

•  architecture trois tiers

•  architecture orientée services

•  Cadre d'architecture

•  Cadre Zachman

•   Architecte informatique•   Representational State Transfer

•   The Open Group Architecture Framework

•   Ministry of Defense Architecture Framework

•   Urbanisation (informatique)

8.2 Liens externes

•   Architecture applicative   : concepts généraux

d'architecture logicielle•  Centre d'Excellence Sur l'Architecture, le Manage-

ment et l'Economie des Systèmes : concepts géné-raux d'architecture de systèmes

•  Centre d'Excellence en Architecture d'Entreprise  :ressources sur l'architectures d'entreprise (CentraleParis)

•   Enterprise Architecture   : ressources surl'architecture d'entreprise mises à dispositionpar le MIT (Massachusetts Institute of Technology)

•   Portail de l’informatique

Page 7: Architecture (Informatique)

7/18/2019 Architecture (Informatique)

http://slidepdf.com/reader/full/architecture-informatique-569244285970a 7/7

7

9 Sources, contributeurs et licences du texte et de l’image

9.1 Texte

•   Architecture (informatique) Source :  https://fr.wikipedia.org/wiki/Architecture_(informatique)?oldid=118003586 Contributeurs :  R4f,Nataraja, Oz, HasharBot, Fabiform, Phe, MedBot, Nyco, Fcrozat, Phe-bot, Romainhk, Ollamh, Ste281, T~frwiki, Chobot, Stéphane33,Zetud, Arnaud.Serander, Gzen92, RobotQuistnix, FlaBot, YurikBot, Eskimbot, Jerome66, BMR, Loveless, Pban, Silex6, Freewol, Pau-tard, Sylenius, JmG, Thijs !bot, Escarbot, Piglop, Rémih, JAnDbot, Arkanosis, Sebleouf, Jmgdoc, Kituse, Analphabot, Speculos, Alnokta-BOT, Medfa, VolkovBot, Chicobot,AlleborgoBot, Orthomaniaque, STBot~frwiki, LordAnubisBOT, Vlaam, Dhatier,DumZiBoT, Ir4ubot,BodhisattvaBot, King Willan Bot, WikiCleanerBot, ZetudBot, AkhtaBot, Luckas-bot, Cantons-de-l'Est, Alex-F, Skull33, SimonMalenky,Guigui13parent, EmausBot, Sisqi, Clescop, S0l0xal, WikitanvirBot, Jacobarius, CocuBot, Paul.schrepfer, MerlIwBot, AvocatoBot, NiceBreakfast, Automatik, CeraBot, Addbot, Emmanuel Lazard et Anonyme : 27

9.2 Images

•   Fichier:Crystal_mycomputer.png  Source :  https://upload.wikimedia.org/wikipedia/commons/e/e3/Crystal_mycomputer.png Licence : 

LGPL Contributeurs :  All Crystal icons were posted by the author as LGPL on kde-look Artiste d’origine :  Everaldo Coelho (YellowIcon) ;

•   Fichier:DBARCH_Data_Management_Reference_Model.JPG   Source :    https://upload.wikimedia.org/wikipedia/commons/4/40/DBARCH_Data_Management_Reference_Model.JPG Licence :  Public domain Contributeurs :  Travail personnel  Artiste d’origine :  LRDC

•   Fichier:Diagramme_carte_mère.png   Source :   https://upload.wikimedia.org/wikipedia/commons/1/1e/Diagramme_carte_m%C3%A8re.png Licence :  CC-BY-SA-3.0 Contributeurs :  Travail personnel Artiste d’origine :  Kimon Berlin, user:Gribeco

•   Fichier:Disambig_colour.svg Source :  https://upload.wikimedia.org/wikipedia/commons/3/3e/Disambig_colour.svg Licence :  Public do-main Contributeurs :  Travail personnel Artiste d’origine :  Bub’s

•   Fichier:ModeleMVC.svg  Source :  https://upload.wikimedia.org/wikipedia/commons/2/23/ModeleMVC.svg Licence :  CC BY-SA 3.0Contributeurs : 

•   ModelViewControllerDiagram.svg Artiste d’origine :  ModelViewControllerDiagram.svg : Traced by User:Stannered

•   Fichier:NBC_Enterprise_Integration.gif   Source :     https://upload.wikimedia.org/wikipedia/commons/e/ef/NBC_Enterprise_Integration.gif   Licence :   Public domain   Contributeurs :   NBC PROFILE - WINTER 2006   Artiste d’origine :  U.S. Department ofthe Interior, National Business Center

•   Fichier:SOMA_Diagrama_de_Flujo.jpg   Source :    https://upload.wikimedia.org/wikipedia/commons/5/5c/SOMA_Diagrama_de_Flujo.jpg Licence :  Public domain Contributeurs :  Travail personnel  Artiste d’origine :  Teravision

•   Fichier:Webrun_architecture.PNG   Source :   https://upload.wikimedia.org/wikipedia/commons/9/9b/Webrun_architecture.PNG   Li-

cence :  CC BY-SA 3.0 Contributeurs :  http://www.softwell.com.br/politica_de_uso_das_imagens/ Artiste d’origine :  Softwell Solutions Ltda- http://www.softwell.com.br

•   Fichier:Webservices.png   Source :  https://upload.wikimedia.org/wikipedia/commons/4/4a/Webservices.png  Licence :  CC-BY-SA-3.0Contributeurs :  en.wikipedia.org/wiki/Web_service Artiste d’origine :  H. Voormann

9.3 Licence du contenu

•   Creative Commons Attribution-Share Alike 3.0