Objectifs de l'enseignement :
Définir et montrer les enjeux des architectures logicielles à l'échelle d'un système d'information. Cela nécessite :
- de passer en revue les évolutions (80-2010) du client serveur et des technologies sous jacentes ;
- d’expliciter la notion de middleware et détailler quatre exemples : appel distant de procédures RPC (procédural versus Objet), RDA (accès distant aux données), MOM (Message Oriented Middleware) ;
- de donner les algorithmes et leurs implémentations en Java qui fournissent des exemples de mise en œuvre des éléments vus aux chapitres précédents.
Définir la notion de Serveur d'Application, et détailler les différents composants des SA modernes dans l'architecture N-tiers. Donner quelques éléments de base sur l'impact de la distribution dans la gestion d'une architecture : CTO, externalisation des applicatifs.
Définir et mettre en œuvre les architectures actuelles les plus évoluées fondées sur les composants. Mise en oeuvre avec les composants Serveur JAVA (EJB) dans l'environnement JBOSS.
Plan du cours :
Des architectures héritées aux architectures Web
- Les architectures héritées et leurs évolutions sur le Web
- Client Serveur Internet RIA / RDA
- Bilan : comparatif des architectures
Principes et mise en œuvre du N-tiers
- Les principaux éléments serveurs dans l’architecture N-tiers
- Urbanisme dans les architectures N-tiers
Programmation par composants avec les Enterprise Java Beans
- Introduction
- Concepts généraux de mise en oeuvre d'EJB
- EJB Session
- EJB Entity
- EJB pilotés par les messages (Message Driven Bean)
- Gestion de la sécurité avec les EJB
- Gestions des transactions