École Privée d’Ingénierie du Niger — L’école du nouveau monde

✉ elearning@epiniger.edu.ne    🌐 epiniger.edu.ne

Unité d’enseignement : CYB · S5 · UE4 — Services web

  • Implémentation des services web

    Ce cours (UE4 — Services Web, semestre 5) fait suite aux « Principes des services web » : après l’architecture et les standards, on passe à la réalisation. L’étudiant apprend à organiser un projet à base de services, à intégrer l’existant, puis à développer, tester et déployer des services SOAP et REST dans les deux grands écosystèmes industriels : Java / Jakarta EE (JAX-WS, JAXB, JAX-RS, Metro, Apache CXF et Axis2, serveurs GlassFish, WebLogic, WebSphere) et Microsoft .NET (ASMX, .NET Remoting, WCF, ASP.NET Core, Visual Studio, BizTalk). Dans une optique cybersécurité, chaque étape insiste sur le code sûr : validation des entrées, requêtes paramétrées, authentification, gestion des secrets et journalisation. Les exemples s’appuient sur des besoins réalistes au Niger : scolarité d’une école, services bancaires, téléservices administratifs.

    Objectifs d’apprentissage

    • Organiser une application multicanale à base de services et l’inscrire dans une démarche SOA.
    • Intégrer un système existant (base de données, application héritée) derrière une façade de services.
    • Développer, publier et consommer des services SOAP et REST en Java (JAX-WS, JAXB, JAX-RS).
    • Développer, publier et consommer des services en .NET (WCF/CoreWCF, ASP.NET Core Web API).
    • Choisir une plateforme d’exécution, mettre en place un cycle de tests (unitaires, contrat, charge, sécurité) et exploiter les services de façon sécurisée.

    Prérequis

    Programmation Java et C# orientée objet, SQL, cours « Principes des services web » (SOAP, WSDL, REST, WS-Security).

    Plan du cours

    1. Leçon 1 — Architecture et organisation des développements à base de services Web
    2. Leçon 2 — Les services Web dans l’offre Java / Jakarta EE
    3. Leçon 3 — Les services Web dans l’environnement .NET
    4. Leçon 4 — Plateformes d’exécution, déploiement, tests et exploitation sécurisée

    Modalités d’évaluation

    Volume horaire : 20 h de CM, 10 h de TD, 10 h de TP, 40 h de travail personnel ; 4 crédits. Contrôle continu (40 % : TP Java et .NET notés sur livrables et grille de contrôle) et examen terminal (60 %).

    Bibliographie

    • Martin Kalin, Java Web Services: Up and Running, O’Reilly.
    • Antonio Goncalves, Beginning Java EE 7, Apress.
    • Juval Löwy, Programming WCF Services, O’Reilly.
    • Eclipse Foundation, spécifications Jakarta XML Web Services, Jakarta XML Binding et Jakarta RESTful Web Services ; Microsoft Learn, documentation ASP.NET Core.
    • OWASP, Application Security Verification Standard (ASVS).
  • Principes des services web

    Les services Web permettent à des applications écrites dans des langages différents, hébergées sur des plateformes différentes, d’échanger des données et d’invoquer des traitements à travers le réseau. Ils sont au cœur des systèmes d’information modernes : interconnexion d’une banque de Niamey avec le GIM-UEMOA ou un opérateur de monnaie mobile, échanges entre l’administration fiscale et les entreprises, applications mobiles appelant un serveur. Ce cours (UE4 — Services Web, semestre 5) présente les principes et l’architecture des deux grandes familles, les services SOAP/WSDL et leurs extensions WS-*, et les services REST, avec une attention particulière à leur sécurisation, compétence clé pour un spécialiste de la cybersécurité. Il est complété par le cours « Implémentation des services web » du même semestre.

    Objectifs d’apprentissage

    • Situer les services Web dans l’évolution des architectures distribuées (client/serveur, objets distribués, SOA).
    • Lire et expliquer un message SOAP et un contrat WSDL ; décrire les modes d’invocation et le proxy client.
    • Expliquer le référencement des services (UDDI, annuaires LDAP) et la découverte dynamique.
    • Choisir les mécanismes de sécurité adaptés : TLS, WS-Security (jetons, signature, chiffrement), WS-Policy.
    • Décrire le rôle des principales extensions WS-* (transactions, orchestration, adressage, fiabilité).
    • Concevoir une API REST simple et comparer argumentativement REST et SOAP.

    Prérequis

    Programmation (Java ou C#), notions de réseaux TCP/IP et du protocole HTTP, bases de XML.

    Plan du cours

    1. Leçon 1 — Des applications distribuées aux services Web : XML, SOAP et WSDL
    2. Leçon 2 — Architecture d’applications à base de services et référencement (UDDI, LDAP)
    3. Leçon 3 — Sécurité des services Web : WS-Security, WS-Policy et en-têtes SOAP
    4. Leçon 4 — Extensions WS-* et architecture REST

    Modalités d’évaluation

    Volume horaire : 20 h de CM, 10 h de TD, 10 h de TP, 40 h de travail personnel ; 4 crédits. Contrôle continu (40 % : TD d’analyse de WSDL et de messages, TP d’appel de services SOAP et REST avec SoapUI/Postman) et examen terminal écrit (60 %).

    Bibliographie

    • Thomas Erl, Service-Oriented Architecture: Concepts, Technology, and Design, Prentice Hall.
    • Leonard Richardson et Sam Ruby, RESTful Web Services, O’Reilly.
    • Roy T. Fielding, Architectural Styles and the Design of Network-based Software Architectures, thèse, University of California, Irvine, 2000.
    • W3C, recommandations SOAP 1.2 et WSDL 2.0 ; OASIS, Web Services Security (WS-Security) 1.1.
    • OWASP, API Security Top 10.