SOA et Cloud

SOA et Cloud  GIN5L06

SOA= Service-Oriented Architecture, en français Architecture Orientée Services

Enseignant:
Email:
Durée totale du cours: 45 H
Semestre : 5
Option : Ingénierie logicielle
Nombre de crédits : 2
Option : Ingénierie des connaissances
Nombre de crédits : 2
Modules

spécialisés

Modules de

base

Sciences et techniques de

l’ingénierie

Préparation à la carrière professionnelle
X

  

Nombre d’heures Activités hors classe
22.5 18
cours TD TP
22.5  

 

SOA et Cloud
Code : GIN5L06 SOA= Service-Oriented Architecture

Volume Horaire : 0h75 Cours intégrés & 1h30 Travaux pratiques (par semaine)

Objectifs d’apprentissage et compétences visées

  • Comprendre les styles architecturaux et en particulier l’architecture orientée
  • Comprendre l’architecture de la technologie des SW et les technologies associées.
  • Modéliser des applications complexes par le biais de la technologie des SW et se formaliser avec les plateformes et les outils de développement et de déploiement des
  • Développement des applications en utilisant le langage BPEL
  • Comprendre les principaux concepts reliés au modèle cloud

Contenu du  cours

Semaine 1-2 : Introduction à l’architecture logicielle

  • Historique de l’architecture logicielle, de l’ère monolithique à aujourd’hui.
  • Concepts de base de l’architecture logicielle.
  • Importance de l’architecture logicielle dans le développement de logiciels.
  • Compréhension des architectures N-tiers.
  • Avantages et inconvénients des architectures N-tiers.
  • Étude de cas : mise en place d’une architecture N-tiers.

Semaine 3-4 : Introduction à SOA

  • Origine et évolution de la Service-Oriented Architecture (SOA).
  • Principes fondamentaux de SOA.
  • Composants clés de SOA : Services, Contrats, Annuaire, etc.
  • Avantages de SOA par rapport aux architectures N-tiers.
  • Limitations et cas d’utilisation appropriés pour chaque approche.
  • Étude de cas comparative. 

Semaine 5-6 : Principes de conception de la SOA

  • Principes de découplage.
  • Services web et protocoles (SOAP, REST).
  • Gestion de la qualité de service (QoS) dans la SOA.
  • Utilisation de langages de modélisation (UML, BPMN).
  • Création de contrats de service.
  • Documentation des services.

Semaine 7-8 : Implémentation de la SOA

  • Développement de services web.
  • Gestion de la sécurité dans la SOA.
  • Intégration de bases de données.
  • Langages d’orchestration (BPEL).
  • Outils d’orchestration.
  • Composition de services

 Semaine 9-10 : Middleware dans les architectures logicielles

  • Rôle des middlewares dans le développement logiciel.
  • Types de middlewares (CORBA, DCOM, MOM, etc.).
  • Middleware et SOA.
  • Historique et évolution du Cloud Computing.
  • Modèles de service Cloud : IaaS, PaaS, SaaS.
  • Avantages du Cloud Computing.

Semaine 11-12 : Intégration de SOA et Cloud Computing

  • Comment SOA peut être mis en œuvre dans le Cloud.
  • Les services Cloud et leur rôle dans l’architecture SOA.
  • Sécurité et gestion des données dans un environnement Cloud-SOA.

Semaine 13-14: Plateformes et Outils dans SOA et Cloud Computing

  • Revue des principales plateformes et outils pour le développement, le déploiement et la gestion de services dans SOA et Cloud

Semaine 15-16: Étude de Cas et Projets Pratiques

  • Analyse de cas réels d’entreprises ayant adopté SOA et le Cloud.
  • Développement de projets pratiques impliquant des architectures SOA et Cloud.

Méthodes d’enseignement et d’apprentissage

  • Enseignement frontal (magistral) avec des exemples à résoudre en
  • Exercices théoriques et études de cas (présentation et discussion).
  • Travaux pratiques (laboratoire)
  • Travaux à faire à domicile (mini-projet, exposé, compte-rendu, …)

Connaissances et compétences pré-requises

  • Java, .NET, Android et XML

Références bibliographiques

  • Un polycopié (Notes du cours) de l’enseignant sera
  • Les recommandations bibliographiques suivantes doivent être considérées :
  • Jean-Marie Chauvet, « Services Web avec SOAP, WSDL, UDDI, ebXML… », 2002
  • Sanjiva Weerawarana, Francisco Curbera, Frank Leymann, Tony Storey, Donald F. Ferguson, « Web Services Platform Architecture », 2005
  • Cours web services, http://www-inf.int-evry.fr/cours/WebServices, Université de paris – France.
  • Benny Mathew, Matjaz Juric, Poornachandra « Business Process Execution Language for WS », Packt Publishing, January 2006 – 372 pages – ISBN : 1904811817
  • « Service-Oriented Architecture (SOA): Concepts, Technology, and Design » par Thomas Erl – Ce livre fournit une introduction complète aux concepts et à la conception de l’architecture orientée service.
  • « Cloud Computing: Concepts, Technology & Architecture » par Thomas Erl, Ricardo Puttini, et Zaigham Mahmood – Ce livre explore les concepts clés du cloud computing et fournit une compréhension approfondie de l’architecture cloud.
  • « Cloud Native Patterns: Designing Change-Tolerant Software » par Cornelia Davis – Ce livre se concentre sur la conception de logiciels pour des environnements cloud natifs, en mettant l’accent sur la résilience et l’évolutivité.
  • « Cloud Computing: Principles and Paradigms » par Rajkumar Buyya, James Broberg, et Andrzej Goscinski – Ce livre couvre les principes fondamentaux du cloud computing, ainsi que les modèles et les paradigmes associés.
  • « SOA Design Patterns » par Thomas Erl – Il s’agit d’un guide détaillé des modèles de conception couramment utilisés dans le développement d’architectures orientées services.
  • « Architecting the Cloud: Design Decisions for Cloud Computing Service Models (SaaS, PaaS, and IaaS) » par Michael J. Kavis – Ce livre se penche sur la conception d’applications pour différents modèles de services cloud (SaaS, PaaS, IaaS).
  • « Mastering Cloud Computing: Foundations and Applications Programming » par Rajkumar Buyya, Christian Vecchiola, et S. Thamarai Selvi – Ce livre couvre les aspects techniques de la programmation et de la gestion des ressources dans le cloud.
  • « Cloud Security and Privacy: An Enterprise Perspective on Risks and Compliance » par Tim Mather, Subra Kumaraswamy, et Shahed Latif – Il aborde les aspects de sécurité et de confidentialité dans le contexte du cloud computing.

Modalité d’évaluation

  • 40% Contrôle continu (TP noté, Test, Assiduité, Devoir surveillé, travaux non présentiel, …)
  • 60% Examen

Résultat d’apprentissage :

Voici une liste des compétences techniques et transversales que les étudiants devraient acquérir après avoir réussi ce cours :

Compétences techniques :

  • Conception de services orientés architecture : Les étudiants devraient être en mesure de concevoir des systèmes logiciels en utilisant les principes de l’architecture orientée service, en identifiant les composants, les interfaces et les protocoles nécessaires.
  • Développement de services web : Ils devraient être capables de créer des services web conformes aux normes et aux protocoles appropriés (comme REST, SOAP) pour permettre l’intégration et la communication entre les applications.
  • Virtualisation et gestion de conteneurs : Comprendre les concepts de virtualisation et de conteneurisation (par exemple, Docker, Kubernetes) pour le déploiement et la gestion efficaces d’applications dans le cloud.
  • Gestion des données dans le cloud : Savoir comment stocker, gérer et accéder aux données de manière efficace et sécurisée dans un environnement cloud.
  • Sécurité dans le cloud : Comprendre les principes de base de la sécurité informatique et savoir comment les appliquer dans un contexte de cloud computing pour protéger les données et les applications.
  • Architecture de microservices : Connaître les principes de base de l’architecture de microservices et savoir comment concevoir, développer et déployer des applications basées sur des microservices.
  • Intégration continue et déploiement continu (CI/CD) : Maîtriser les outils et les pratiques de CI/CD pour automatiser les tests et le déploiement d’applications dans le cloud.
  • Analyse des performances et mise à l’échelle : Être en mesure de surveiller et d’optimiser les performances des applications cloud, ainsi que de les mettre à l’échelle en fonction des besoins.

Compétences transversales :

  • Résolution de problèmes : Avoir la capacité de résoudre des problèmes complexes liés à la conception, au développement et à la gestion de systèmes basés sur le cloud.
  • Travail d’équipe : Collaborer efficacement avec d’autres professionnels de l’informatique pour la réalisation de projets SOA et cloud.
  • Communication : Être capable de communiquer de manière claire et efficace avec des parties prenantes techniques et non techniques.
  • Pensée critique : Développer des compétences en analyse critique pour évaluer les choix architecturaux et technologiques dans le contexte de l’ingénierie cloud.
  • Gestion de projet : Comprendre les principes de base de la gestion de projet et de la planification pour mener à bien des projets d’ingénierie informatique.
  1. Éthique professionnelle : Respecter les normes éthiques et professionnelles dans le domaine de l’informatique, en particulier en ce qui concerne la sécurité et la confidentialité des données.

Laisser un commentaire

Défiler vers le haut
Need Help? Chat with us