Génie logiciel et services

Le génie logiciel s’intéresse aux méthodologies permettant le développement de logiciels de grande taille qui correspondent aux besoins des leurs utilisateurs, sont fiables et évolutive. Une des techniques établies qui peut aider les développeurs à surmonter la complexité des logiciels est la structuration des systèmes logiciels en utilisant des composants.

Ce cours est un approfondissement des connaissances en analyse et conception de logiciels, en particulier, dans le cadre du développement d’applications distribuées multi-tiers. L’objectif du cours est de comprendre les enjeux de la réutilisation dans le développement logiciel et de fournir des connaissances en développement à base de composants. Les méthodologies et techniques de développement et de composition de composants indépendants à couplage faible sont illustrés par le développement d’applications dans le framework JEE (Java Enterprise Edition) et leur déploiement dans les conteneurs et serveurs d’application.

La partie services présente les grands concepts de l’architecture REST et les services Web étendus (SOAP). Cette partie abordera également les normes WS* pour la description des services et l’expression de propriétés, et les langages BPEL (orchestration) et WSCL (chorégraphie) pour la composition de services.