Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
> > > Architectures d'Applications Distribuées

Architectures d'Applications Distribuées

concepts, technologies et approches.

Pour évoluer dans un monde connecté, avec des réseaux et systèmes de communication toujours plus performants, les Applications doivent être nécessairement distribuées. Afin de maîtriser la complexité de la distribution, il est indispensable de maîtriser les concepts, technologies et approches architecturales. Après une analyse des dernières évolutions du Web, le séminaire introduit les différentes Architectures distribuées, puis présente les Architectures de données distribuées et de services, et enfin les Architectures Big Data et Cloud.

Objectifs

  • Web 2.0 et 3.0 : quelles opportunités ?
  • Architectures multitiers, Middlewares transactionnels et Web Services.
  • Contrôle décentralisé avec le P2P : l’exemple de la Blockchain.
  • Quid de la sécurité dans un contexte distribué et ouvert ?
  • Impact du RGPD sur les données personnelles ?
  • Données distribuées : intégration réelle ou virtuelle ?
  • SOA vs WOA : les meilleurs cas d’usage ?
  • Event-driven SOA : vers des SI réactifs ?
  • Architectures Big Data: le Data Lake, impact sur l’existant?
  • Architectures Cloud : comment intégrer avec le SI ?
  • Fog computing : la solution pour les objets connectés ?

Public

  • Décideurs informatiques,
  • urbanistes et architectes,
  • consultants,
  • ingénieurs et chefs de projets,
  • développeurs,
  • maîtrises d’ouvrage.

Prérequis

  • Connaissances de base en Systèmes d’Information.

Programme de la formation

Évolutions du Web et de ses Applications  

  • Évolution des Applications distribuées
  • Tendances : mobilité, Big Data, connectivité.
  • Portails d’informations et de services.
  • Transactions de commerce électronique.
  • Réseaux sociaux, communautés professionnelles, crowdsourcing et collaboration à grande échelle.
  • Applications mobiles : smartphones et tablettes.
  • Hébergement de services, Data Centers et Cloud.
  • Les besoins : interopérabilité (anyhow), accès à partir de mobiles (anywhere), haute disponibilité (anytime).

Évolutions du Web

  • Protocoles et Architectures.
  • Les formats d’échange de données : XML vs JSON.
  • Web 2.0 : échange de données XML, nouvelles formes d’interaction, l’exemple de Wikipédia.
  • Du client léger au client riche avec HTML5, CSS3, JavaScript et AJAX.
  • Les problème de sécurité avec AJAX.
  • Le RIA: Adobe Flash, JavaFX, Microsoft Silverlight.
  • Les mashups.
  • Web 3.0 : sémantique des ressources avec RDF et SparQL, ontologies avec OWL.
  • Architectures distribuées  

Architectures multitiers

  • Modèles 1-tiers, 2-tiers, 3-tiers, n-tiers.
  • Les différents niveaux : présentation, sécurité, Application, intégration, ressources.
  • La distribution des clients : léger, lourd ou riche.
  • La distribution des serveurs : présentation, Web, pare-feu, Applications, données.
  • Mise en œuvre du patron d’Architecture MVC (modèle-vue-contrôleur) dans le 3-tiers.
  • Architectures : orientées données (DOA), orientées services (SOA), orientées Web (WOA), Peer-to-Peer (P2P), massivement parallèles (MPP).

Sécurité

  • Sécurité des Applications distribuées : confidentialité, intégrité, disponibilité.
  • Les défenses : authentification, autorisation, chiffrement, audit, contrôle d’usage, rétention limitée, anonymisation, législation.
  • Le chiffrement : clés privées, clés publiques, certificats.
  • Techniques de sécurité réseau : antivirus, VPN, firewalls, DMZ, serveurs proxy,
  • Techniques de protection des données : serveurs de données cryptées, contrôle d’accès DAC, RBAC et MAC.
  • Protection des données personnelles : impact du RGPD.

Web Services

  • Architecture des Web Services : client, fournisseur, annuaire de services.
  • Description des services avec WSDL.
  • Référencement des services, les annuaires de services, l’échec de UDDI.
  • Le protocole de communication SOAP.
  • La composition de services avec BPEL.
  • Qualité de service et sécurité : WS-reliability, WS-transaction, WS-security, etc.
  • Étude de cas : réutilisation de Web Services chez CenturyLink.
  • Architectures de données distribuées  

Intégration des données

  • Intégration réelle (Data Warehouse) ou virtuelle (fédérateur de données).
  • Médiateur, adaptateur et ETL.
  • Intégration de schémas et d’ontologies : les conflits sémantiques, le problème de la résolution d’entité.
  • Qualité des données et Master Data Management.
  • L’offre produits et services.

SGBD transactionnels distribués

  • Transactions distribuées : les propriétés ACID, le protocole 2PC, tolérance aux pannes et scalabilité.
  • Réplication de données : cohérence des copies, propagation des mises à jour.
  • Produits principaux : Oracle, IBM DB2, SQL Server, SAP Sybase, PostgreSQL, MySQL.

Architectures parallèles de données

  • Objectifs : Speed-up, Scale-up, Scale-out, élasticité.
  • Architectures de stockage : NAS vs SAN en cluster.
  • Architectures parallèles : SMP, NUMA, Cluster Shared Disk, Shared-nothing Cluster.
  • Techniques de base : stockage en ligne ou en colonne, Sharding, indexation, Failover, parallélisation des requêtes.
  • Produits principaux : Actian, IBM, Microsoft, Oracle Exadata, MySQL Cluster, Teradata, HP Vertica, ParAccel, EMC GreenPlum.
  • Étude de cas : le Data Warehouse Walmart avec Teradata.

Le Peer-to-Peer

  • Objectifs : autonomie des pairs, contrôle décentralisé, auto-adaptation, très grande échelle.
  • Topologie des réseaux P2P : non structurés, structurés (DHT), superpeers.
  • Applications principales : partage de contenus (ex. Bittorrent), communication (ex. Skype), calcul distribué (ex. Seti@home).
  • Tolérance aux fautes et consensus distribué : l’algorithme Paxos.

La Blockchain

  • Confiance dans un monde numérique : problèmes avec une autorité centrale, Blockchain publique ou privée, le Bitcoin.
  • Concepts : P2P, réplication, consensus par Mining, transactions, chiffrement à clé publique.
  • L’attaque Goldfinger des 51%.
  • Blockchain 2.0 : la Blockchain programmable, les Smart Contracts, le projet Hyperledger.
  • Les top use cases : services financiers, micropaiements, droits numériques, identité numérique, logistique, IoT.
  • Opportunités et risques.
  • Architectures de services  

Gestion de services avec serveurs d’Applications

  • Le modèle JEE : les API standards, vers la simplification avec JEE 8.
  • Le problème de la persistance des objets Java ; les solutions de type TopLink, Hibernate, Versant enJin.
  • Les principaux serveurs JEE : WebSphere, WebLogic, JBoss, Geronimo, Jonas, GlassFish.
  • L’alternative légère à JEE avec POJO, Spring et Tomcat.
  • .NET de Microsoft.

Service Oriented Architecture (SOA)

  • Éléments essentiels : messages descriptifs, format d’échange standard, extensibilité, découverte de service.
  • ESB : interopérabilité des Web Services, gestion de messages distribués, équilibrage de charge.
  • L’offre du marché.
  • Succès et échecs du SOA ; écueils à éviter.

Web Oriented Architecture (WOA)

  • Principes, les Microservices.
  • Le modèle d’Architecture REST : identification des ressources par URI, accès par hyperliens, protocole sans état (HTTP).
  • SOAP vs REST.
  • Les frameworks de services RESTful.
  • L’alternative aux frameworks : RESTful MVC.
  • Principes de conception WOA.
  • Étude de cas WOA.

Event-Driven Architecture (EDA)

  • SI dirigés par les événements : Event-Driven BPM, Event-Driven SOA.
  • Business activity monitoring (BAM).
  • Gestion d’événements complexes avec Complex Event Processing (CEP).
  • Gestion de flux d’événements avec Event Stream Processing (ESP).
  • Les principaux CEP : Tibco Streambase, Microsoft StreamInsight, Parstream, etc.
  • Étude de cas : salle de marché avec EDA.
  • Architectures Big Data  

La pile logicielle Big Data

  • Les niveaux fonctionnels : stockage, organisation, traitement, intégration, outils d’analyse.
  • L’Architecture Hadoop, comparaison avec les Architectures Lambda et Kappa.
  • Le stockage en fichiers distribués dans un cluster : HDFS.
  • Comparaison avec les SGBD relationnels.

Les frameworks de Big Data

  • Le modèle de données clé-valeur, partitionnement des fichiers : GFS vs HDFS.
  • Le framework MapReduce : les fonctions Map et Reduce, tolérance aux fautes et équilibrage de charge, l’écosystème Hadoop.
  • Le framework Spark: le langage Scala, transformations et actions, stockage in-memory, Spark SQL, Spark Streaming.
  • Editeurs principaux: Cloudera, Databricks, Datameer, Datastax, Greenplum HD, Hurence, Hortonworks, Talend, VMware.
  • Le calcul de graphes avec Google Pregel.
  • Étude de cas Facebook : des 1000 milliards de liens avec Apache Giraph.

Le Data Lake

  • Problèmes avec les entrepôts de données : développement avec ETL, schéma en écriture.
  • Principes : schéma en lecture, traitement de données multiworkload.
  • Enterprise Hadoop : intégration, sécurité et gouvernance avec Hadoop.
  • Meilleures pratiques.
  • Étude de cas dans le commerce de détail : performance du marketing ciblé.

Intégration de Big Data dans un DW

  • Besoins : acquisition, organisation, analyse.
  • Place de Hadoop dans une Architecture d’intégration.
  • Plateformes d’intégration : IBM, Microsoft, Oracle.

Méthodologie pour un projet Big Data

  • Stratégie : objectifs métiers, besoins en données, qualité des données.
  • Equipe : rôles et compétences, cadre pour la gouvernance des données.
  • Outils : le choix de développer du code ou utiliser.
  • Processus : évolutivité et réutilisation.
  • Architecture : de la Sandbox à l’Architecture idéale.
  • Meilleures pratiques.
  • Architectures Cloud  

Le Cloud Computing

  • Objectifs : hébergement de services, passage à l’échelle, élasticité, hautes performances, Pay-Per-Use.
  • Origines : ASP, Software as a Service (SaaS), Infrastructure as a Service (IaaS), Platform as a Service (PaaS).
  • Différents types de Clouds : public, privé, communautaire, hybride.
  • Fonctions d’un Cloud : administration, sécurité, annuaire, virtualisation des serveurs, gestion des SLA.
  • Les acteurs majeurs : Amazon, Google, IBM, HP, Microsoft, Oracle-Sun, SalesForces, VMware.
  • Le Cloud en France : Atos, Bull, Cloudwatt, Dassault Systèmes, Numergy, Orange, Thales.
  • Les conteneurs d’Application : Docker, sécurité des conteneurs, meilleures pratiques.
  • Les Applications Cloud Ready : principes de construction.
  • Le Cloud hybride : Cloud privé virtuel, le projet OpenStack.
  • Fog Computing et IoT : traitement des données au plus près des objets connectés.

Architecture de gestion de données dans le Cloud

  • La fin de l’approche « taille unique » du relationnel.
  • Architecture scalable dans le Cloud.
  • Le théorème CAP : analyse et impact.

Les SGBD NoSQL

  • SGBD clé-valeur : Amazon DynamoDB, Apache Cassandra, Linkedin Voldemort.
  • SGBD tables : Google Bigtable, Hadoop Hbase, Apache Accumulo.
  • Étude de cas Hbase, Cassandra.
  • SGBD documents : MongoDB, CouchBase, LinkedIn Espresso.
  • Étude de cas MongoDB.
  • SGBD graphes : Neo4J, DEX/Sparksee, AllegroGraph.
  • Étude de cas : Neo4J.
  • SGBD NewSQL : Google F1, CockroachDB, LeanXcale, MemSQL, SAP HANA, VoltDB.
  • Étude de cas : AdWords avec F1.
  • Critères de choix d’un SGBD NoSQL.