Architectures d'entreprise Java EE
Référence : JEA
Durée : 4 jours (28 heures)
Si la plate-forme Java est aujourd'hui omniprésente, elle a subi depuis quelques années l'influence forte de Frameworks Open Source afin de combler certaines de ses lacunes. Enrichie par endroit, corrigée en d'autres, elle offre aujourd'hui une suite cohérente de technologies pouvant être utilisées telles quelles sur vos projets.
Ce cours propose un tour d'horizon des technologies disponibles avec la plate-forme Java EE. Il évalue différentes architectures techniques permettant le développement d'applications robustes. Les avantages et inconvénients des architectures modernes y sont mis en relief avec leur cohorte d'outils et de pratiques de développement les plus récentes.
Cette formation répond aux questions suivantes : "Que signifient tous ces sigles autour de Java ?", "Comment bien concevoir une application Web avec Java ?", "Comment accéder aux données dans une architecture Java ?", "Qu'appelle-t-on conteneurs légers ?".
Vous allez apprendre à :
- Appréhender la vaste gamme des interfaces de programmation Java
- Juger des possibilités Web avec Java
- Savoir quand distribuer les services métier grâce à RMI, Corba et aux Web Services
- Identifier les besoins et les solutions de sécurité d'une architecture Java
- Évaluer les diverses techniques de persistance des objets métier
- Intégrer Java aux systèmes existants (SOA)
- Évaluer l'impact des EJB3 (Enterprise JavaBeans)
- Comprendre les services techniques offerts par les serveurs d'applications
- Découvrir l'évolution du langage Java
- Identifier les outils les plus utilisés pour le développement Java
- Comprendre le rôle de Java dans les technologies de type Cloud Computing
Méthode pédagogique :
10% de travaux pratiques
Audience :
Responsables techniques, architectes, chefs d'équipe et développeurs désirant acquérir une connaissance globale de la plate-forme Java EE
Pré-requis :
- La connaissance des concepts orientés objet est un plus ou avoir suivi le cours OOAD
Programme :
- Introduction à Java et à l'architecture applicative
- Java et l'informatique d'entreprise
- Notions d'architecture logicielle
- Évolution des architectures techniques
- Architectures multi-niveaux
- La plate-forme Java
- Le langage Java et la JVM
- Les principales API
- La portabilité
- Nouveautés et évolutions du JDK
- Sun, Oracle et les autres
- Android
- La couche de présentation
- HTTP, HTML et JavaScript
- Servlets et JSP
- Portails Web
- Struts
- JavaServer Faces
- Seam
- Java et les clients riches (RIA)
- GWT
- Les API de présentation (AWT, Swing)
- L'alternative SWT
- Java WebStart
- Eclipse RCP
- Persistance
- JDBC
- Norme JDO2
- Hibernate et JPA
- Architecture de persistance
- Middleware
- Pourquoi distribuer une application ?
- Les contraintes techniques
- Corba, RMI
- Les Web Services
- SOAP
- REST
- Infrastructure d'exécution
- Le client riche
- Serveur Web
- Serveur d'application
- Les services techniques Java EE
- Conteneur de Servlet comme conteneur d'application
- Spring et les conteneurs légers
- EJB 3
- EJB, les composants métiers Java EE
- Services offerts par les EJB 3
- EJB Patterns
- Évolution vers EJB 3
- Sécurité
- Modèle de sécurité de Java
- Sécuriser les composants EJB
- Sécuriser les applications Web
- Intégration
- Intégration du système d'information
- Urbanisme et intégration
- Architecture des connecteurs Java EE
- SOA et Web Services
- Communication Java - C / C++ via JNI ou JNA
- Outillage
- Eclipse et les autres
- ANT, Maven, Jenkins
- Tests unitaires JUnit et autres types de test
- Intégration continue
- Qualité du code
- Java et le Cloud Computing
- Qu'est-ce que le Cloud ?
- Cloud public et privés
- Amazon EC2 et S3
- Google App Engine