Next Sessions
| Type | Location | Date | Price | Duration | Language | |
| Intra | To be agreed | To be agreed | On request | 5 day(s) | To be agreed |
Description
Face au foisonnement des technologies et leur rapide évolution, l’architecte logiciel doit effectuer des choix d’une portée stratégique pour les entreprises. Ces choix sont en grande partie dictés par l’expérience. Mais les styles architecturaux adaptés à une technologie ne sont pas forcément de mise pour la technologie concurrente ou la génération suivante. Pour faire face à ces défis, l’architecte a besoin d’outils méthodologiques adaptés, ainsi que d’une vision globale des enjeux architecturaux.
Cette formation vous permettra de découvrir une méthodologie de développement de l’architecture résolument tournée vers les besoins des intervenants d’un projet. Un panorama des architectures récentes vous permettra de découvrir les enjeux sous-jacents et de vous faire une opinion sur les choix qui s’offrent à vous.
Après avoir étudié les principaux concepts manipulés par l’architecte, vous découvrirez un ensemble de pratiques permettant de spécifier, concevoir et évaluer les architectures. Une étude de cas suivie sera appliquée à chacune des architectures étudiées et les outils vous permettront d’évaluer leurs possibilités, avantages et inconvénients.
- Définir la notion d’architecture et les points de vue architecturaux
- Connaître les principaux Design Pattern architecturaux
- Concevoir une architecture à partir des attributs de qualité
- Concevoir une architecture en se basant sur les styles architecturaux
- Documenter une architecture
- Evaluer les enjeux des services techniques (persistance, transactions) dans les architectures
- Evaluer les caractéristiques des solutions architecturales d’aujourd’hui et de demain
- Comprendre les enjeux des débats actuels sur les choix architecturaux
Program
- Qu’est que l’architecture logicielle ?
- Les principes généraux de conception
- Principaux enjeux de l’architecture
- Structures et points de vue sur l’architecture
- Le rôle de l’architecte
- Les attributs de qualité
- Facteurs déterminants de l’architecture
- Attributs de qualité
- Scénarios de qualité
- Design Patterns et styles architecturaux
- Apport des Design Patterns
- Design Patterns et architecture
- Domain Driven Design
- Principaux styles architecturaux
- Styles de communication : synchrone ou asynchrone
- Styles de distribution : message ou RPC
- Styles d’intégration : données ou traitements
- Conception de l’architecture
- Identification des facteurs déterminants et attributs de qualité
- Rédaction des scénarios de qualité
- Choix stratégiques et styles architecturaux
- Choix tactiques et Design Patterns
- Architecture et agilité
- Outils d’évaluation de la qualité
- Répondre aux enjeux de l’architecture
- Enjeux métier
- Disponibilité
- Modifiabilité
- Performances
- Testabilité
- Utilisabilité
- Documentation d’une architecture
- Enjeux de la documentation de l’architecture
- Utilisation d’UML
- Documenter pour tous les intervenants
- Documenter les vues architecturales
- Documenter les décisions architecturales
- Architectures modulaires
- Architectures à base de composants
- Exemples : EJB, Corba Component Model, Serviced Components
- Architectures à base de plug-ins
- OSGi
- Les architectures Web
- Des scripts serveurs aux Frameworks Web
- RIA vs clients lourds
- Réseaux sociaux : un nouveau type d’applications ?
- La persistance
- Bases de données SQL et NoSQL
- DAO et mapping objet / relationnel
- Transactions et verrouillage
- JPA et Link
- Gestion des caches
- Les serveurs d’application multi-niveaux
- Injection de dépendances
- Architectures des serveurs d’application : enjeux
- Sécurité
- Caches et pools
- Sureté et répartition de charge
- Intégration et SOA
- Définition(s) de la SOA
- Enjeux techniques, enjeux organisationnels
- Web Services
- ESB
- Patterns SOA
- Le Cloud Computing
- Architectures Cloud
- Google App Engine, Amazon EC2 et Azure





