• Aucun résultat trouvé

Architecture et infrastructure Web

N/A
N/A
Protected

Academic year: 2022

Partager "Architecture et infrastructure Web"

Copied!
37
0
0

Texte intégral

(1)

Architecture et infrastructure Web

par 

Patrice Caron

http://www.patricecaron.com

pcaron@patricecaron.com

(2)

Ordre du jour

Entreprises / Gouvernements

Introduction: Architecture orientée services?

Quelques concepts d'architecture et  d'infrastucture

Exemple d'infrastructure Web «ouverte» 

intégrant des composantes «fermé»

       «Bâtir autour de standards ouverts ?»

   

«Comprenez ce que l'OpenSource à pour vous.»

    «Ne vous laissez pas dicter les règles !»

(3)

Ordre du jour

(4)

Défis

Entreprises / Gouvernements Défi d'intégration et d'intéropabilité 

d'environnement hétérogène

Défi d'intégration B2B, B2C, A2A Défi d'entreprise ouverte

Défi lié à la dé­périmétrisation du système 

d’information

(5)

Architecture orientée services

Architecture orientée services (AOS)

Anglais: Service Oriented Architecture (SOA)

Modèle d'interaction applicative qui met en œuvre  des services

avec une forte cohérence interne (format d'échange  XML)

couplages externes « lâches » (couche d'interface  interopérable, souvent un service web WS­*)

(6)

Architecture orientée services

Composant clef: le service Le service est l'unité atomique

Une application est un ensemble de services qui  dialoguent entre eux

Le service est codé dans n'importe quel langage Le service s'exécute sur n'importe quelle plate­

forme (matérielle et logicielle)

(7)

Les Services Web

Cadre commun d'interopérabilité

Ministère des services gouvernementaux

«Les services Web forment une technologie émergente permettant à des applications de

dialoguer à

distance via internet, et ce, indépendamment des plates-formes sur lesquelles elles reposent. Les

services Web visent à réduire les problèmes

d’interopérabilité en permettant à des applications communiquer directement entre elles et d’échanger de

des données indépendamment de leur

localisation, des systèmes d’exploitation ou des langages utilisés.»

(8)

Architecture orientée services

On ne peut pas vraiment parler

d'architecture orientée services (SOA) sans parler de gouvernance et de

processus

Aspect marketing des SOA

Par contre, on peut parler d'architecture et d'infrastructure technologique en vue

d'offrir des services orientés sur le Web en

s'inspirant des grands principes des SOA.

(9)

Quelques concepts

Architecture multi niveau (N-Tier)

Haute disponibilité

Séparation en couche

Sécurité

N-Tier

Pare feu applicatif

Système d'authentification unique (SSO) Service mandataire

Portail de service

Application composite Plate forme applicative

(10)

Architecture multi niveau

Haute disponibilité

Une des fonctions les plus importantes est de permettre la haute disponibilité de service:

Infrastructure: redondance matérielle

Processus: réduire erreurs accélérer la reprise

(11)

Haute disponibilité

Permet la répartition de charge entre plusieurs serveurs

Permet une tolérance aux pannes en cas de défaillance matériel ou logiciel

Permet l'ajout de nouveaux serveurs à la

demande afin d'augmenter la puissance de calcul de la «grappe» sans impact majeur sur l'architecture

Permet de faciliter les entretiens sans empêcher le service de fonctionner

(12)

Architecture multi niveau

Chaque niveau ne communique qu'avec ses voisins immédiats

(13)

Sécurité

N-Tier

Permet d'améliorer la sécurité des services en structurant/atomisant les intégrations entre les différentes couches d'un système

Permet de faciliter la compréhension des échanges grâce à la mise en pratique de principe de modularité/couplage faible

(14)

Sécurité

Pare feu applicatif/Firewall Applicatif Web

Historiquement, sécurité autour du réseau

Le risque est maintenant au niveau applicatif (XSS, Injection, logique et plus).

Pare feux applicatif spécialisés dans le protocole HTTP Permet de filtrer les requêtes entrants(signature et

comportenant d'attaque) ainsi que les réponses(retour d'erreur d'application)

Négatif (acceptera toutes)/Possitif (refusera toutes) Complète la révision de code

Logiciel vs matériel SSL

(15)

Authentification

Système d'authentification unique (SSO) Éviter les authentifications multiple

Évolue vers des mécanismes d'authentification

«externalisés»

Tendance d'abandonner une démarche

«lourde» pour une démarche «légère» basée sur les Web Services

Vers des mot de passe qui ne circule plus

entre les applications (ticket à usage unique)

(16)

Authentification

Méta répertoire

Répertoire central: Convergence de

l’information d’identité dans tous les stockages d’identité connectés dans l’entreprise

Information sur les employés, clients, partenaires.

Nécessaire pour SSO Standard LDAP

(17)

Service mandataire (Proxy)

Proxy/reverse proxy

Relayer des requêtes entre un poste client et un serveur / entre un serveur et un serveur Un proxy est spécialisé dans un protocole

(http, xmmp, ldap, smtp, etc.) Permet généralement:

mémoire cache ;

la journalisation des requêtes (« logging ») ; la sécurité

le filtrage

(18)

Portail de service

Point d'entrée unique

Point d'entrée unique pour les utilisateurs authentifié vers des ressources / services / applications

Espaces de publication

Personnalisation des contenus Première aspect: Le self service Notion de portail d'intégration SSO

(19)

Application composite (Mashup)

Combine du contenu ou du service provenant de plusieurs applications plus ou moins hétérogènes

Site Web: le principe d'un mashup est d'agréger du contenu provenant d'autres sites, afin de créer un site nouveau (RSS, AJAX, Web Service, etc.)

Présentation: Combinent des éléments de sources multiples masqué dernière une GUI. Le plus connu (Google Maps)

Données: Mélange provenant de différentes source pour présenter sous forme graphique ou non

Commerce/public: Hydride présentation/données. Résultat final une application complète.

Entreprise: Hydride avec couche collaborative(workflow). Source internes et externes. Application complète dans le cadre

entreprise.

(20)

Plate forme applicative

Software platform

Plusieurs logiciels particuliers destinées à

s'intégrer avec des applications / services / portails

ECM, CMS, BI, GroupWare, GéoLocalisateur, VOIP, application maison, etc. etc.

(21)

Cas d'infrastructure Web

Un cas commun

Gouvernements / Entreprises Monde Oracle, Novell, Solaris et plus

Besoin d'ouverture du système d'information

Évolution vers un monde autour de les standards  ouverts

Vivre avec certains lègues. Voir utiliser les forces?

Infrastructure technologique Web

(22)

Lègue

Sun

Offre:

Système d'exploitation UNIX

Gestion d'identité/SSO (SunOne)

Serveur/développement d'application (Autour de Java) Dans beaucoup de cas Solaris est présent comme plate

forme UNIX

Aujourd'hui Linux s'impose

(23)

Les lègues

Oracle

Offre:

Base de données (SGBD)

Gestion d'identité/SSO (OID, etc.)

Serveur/développement d'application (Forms, htmlBD, APEX, reports)

Etc.

Souvant utilisé: SGBD, OID, Forms

Le SGBD demeure intéressant et bien supporté (Java, PHP, etc.)

(24)

Novell

Novell

Offre:

Gestion poste (ZenWorks, GroupWise) Système d'exploitaton (NetWare)

Gestion d'indentité/SSO (Ichains/AM/Edir) OS: Novell à pris un virage avec Suse Linux SSO: iChains devient Access Manager (AM)

edirectory est le méta répertoire d'entreprise et supporte LDAP

(25)

Open Source

À votre service

Linux, Apache, MySQL PHP

Et encore Apache: Reverse proxy, mod_security OpenLdap

Central authentification service Typo3

Memcached

Java, Tomcat

file:///Users/pcaron/phpconf/res/mysql.jpg

file:///Users/pcaron/phpconf/res/php.jpg

file:///Users/pcaron/phpconf/res/tomcat.jpg

file:///Users/pcaron/phpconf/res/typo3.jpg

file:///Users/pcaron/phpconf/res/linux.jpg

file:///Users/pcaron/phpconf/res/apache.jpg

file:///Users/pcaron/phpconf/res/casLogo.jpg

file:///Users/pcaron/phpconf/res/java.jpg

(26)

Open Source

LAMP

Linux, Apache, MySQL PHP (On ne présente pas ça)

Virtualisation

Zend Core for Oracle Oracle

APC

Memcached

(27)

Open Source

Apache +

Reverse proxy: Proxy HTTP placé en frontal de serveurs web

mod_security: Extension Apache qui permet d'analyser les requêtes HTTP, et de détecter certaines attaques potentielles sur les

applications Web qu'Apache peut héberger ou qu'Apache peut protéger en mode reverse proxy

(28)

Open Source

OpenLdap

OpenLdap en mode proxy vers eDirectory Permet de limiter l'accès à des branches Permet réécriture d'attributs

Permet de la cache

Évite de synchroniser des annuaires

(29)

Open Source

Central authentification service

CAS est un système d'authentification unique Basé sur des requêtes HTTP

Notion d'échange de tickets, un peu à la manière de Kerberos

Nombreuses bibliothèques et cliendt CAS (PHP, Java, Pl/SQL, .NET, module apache, PAM, etc.)

(30)

Open Source

Typo3

Web CMS de type portail

Typo3 comme portail de service Portail d'intégration / service web Ldap/SSO

(31)

Open Source

Java/Tomcat

Beaucoup et de plus en plus de projet de OpenSource de qualité tourne autour de Java.

(32)

Infrastucture

N­Tier

Publique

Internet, pare jeux principale Présentation

SSL: Passage HTTPS vers HTTP Firewall applicatif

Répartiteur de charge

Réverse proxy/Réécriture HTML Serveur de présentation

Proxy CAS Application

Cas

Proxy LDAP

Serveur d'application (PHP, Typo3, Java,  etc.)

Serveur de cache (Pour PHP) Interne

Edirectory

Base de données(Oracle, MySQL) SAN

(33)

Conclusion

Principes évolutifs et adaptable selon le contexte

En construisant autour de standards ouverts on obtient une plus  grande modularitée du système d'information.

Exemple: En se basant sur le protocole LDAP, il sera possible de  remplacer eDirectory sans impact majeur sur l'infrastructure Web.

Exemple: La plupart des solutions de cette présentation, sont 

interchangable. Software vers hardware, propriétaire vers libre,  etc.

Profiter du monde des Logiciels Libres et de l'OpenSource  intelligement À double sens

Adapter à votre situation!

Sujet d'intérêt: BPMS

(Voir le projet OpenSource Intalio)

(34)

Conclusion

Pour terminer avec les «SOA»

BPMS (Voir le projet OpenSource Intalio)

(35)

Conclusion

 

«Bâtir autour de standards ouverts, c'est possible?»

   

«Comprenez ce que l'OpenSource à pour vous.»

    «Ne vous laissez pas dicter les règles, autrement les fournisseurs  dictes les leurs !»

file:///Users/pcaron/phpconf/res/java.jpg

file:///Users/pcaron/phpconf/res/mysql.jpg file:///Users/pcaron/phpconf/res/php.jpg

file:///Users/pcaron/phpconf/res/tomcat.jpg file:///Users/pcaron/phpconf/res/typo3.jpg

file:///Users/pcaron/phpconf/res/zend.jpg

file:///Users/pcaron/phpconf/res/linux.jpg

file:///Users/pcaron/phpconf/res/apache.jpg file:///Users/pcaron/phpconf/res/casLogo.jpg

(36)

Questions

???

http://www.patricecaron.com

pcaron@patricecaron.com

(37)

Webographie

WIKIPEDIA

http://fr.wikipedia.org/wiki/Architecture_orient%C3%A9e_services http://fr.wikipedia.org/wiki/XML

MSG: Cadre commun d'interopérabilité

http://www.msg.gouv.qc.ca/fr/administration/standards/cadre.asp

  L'Architecture d'Entreprise concrétise les promesses technologiques de SOA http://tinyurl.com/alrxgo

  Bien choisir son Firewall Applicatif Web (WAF)

http://fr.securityvibes.com/choisir­firewall­applicatif­web­article­942.html

Références

Documents relatifs

Apres nous représentons chaque service, par un vecteur de fréquences des termes, ceci peut être fait en exploitant les descriptions informelles (en langage naturel) contenues

les CMS payants (et souvent très chers), très sophistiqués tels que : Documentum, Vignette, Interwoven, Tridion qui sont utilisés dans les organisations pour construire de

● Sélectionner les données dans la base pour alimenter le modèle. ● Passer les éléments du modèle aux vues correspondant à

2) En utilisant l’éditeur de texte (blocnote ou sublimtext ou etc..) créer deux pages web sur un sujet de votre choix avec « image » « vidéo » et « son », une circulation

Appuyez sur le bouton PinP SOURCE [1] à [8] pour sélectionner la vidéo que vous souhaitez afficher dans l’écran d’incrustation.. Appuyez sur le bouton PinP 1 [PVW] pour afficher

En réalisant un clic droit, on peut modifier les cellules, les lignes, les colonnes, supprimer le tableau ou revenir aux propriétés du tableau définit précédemment.. Cliquer

Le Javascript permet de dissimuler le contenu Web pour échapper à l'inspection :. Démonstration dans MISC 28 : utilisation de

Le contenu textuel doit être construit et structuré pour faciliter la lecture de l'internaute.. En rédaction web, l'auteur doit adopter un style direct