SPR-001: Formation Spring standard

Dans ce cours de 4 jours, vous apprendrez à utiliser le framework Spring afin de créer des applications métier dans les règles de l'art, en suivant une méthodologie agile. Ce cours permet à chaque étudiant de passer ensuite gratuitement la certification au framework Spring.

Résumé

Voici un résumé, jour par jour, de cette formation Spring:

  • Jour 1 - Les fondations du framework Spring

    • Introduction à la notion de containeur léger et au noyau Spring

    • Comment l'injection de dépendances et le développement orienté test (TDD) permettent de développer rapidement des applications consistantes, très configurables et facilement testables

    • Comment Spring vous permet d'écrire un code plus propre et plus concis, ainsi qu'une discussion sur les design patterns utilisés

    • Plusieurs exercices pratiques, basés sur une application métier réaliste, sont effectués tout au long du cours

  • Jour 2 - Réussir son architecture logicielle

    • Utilisation de la programmation orientée aspect (AOP) dans la couche de service, avec des exemples concrets

    • Réussir sa couche de persistance : comment réaliser une couche de persistance avec Spring, en suivant les meilleures pratiques

    • Analyse et compromis entre les différentes stratégies de persistance, en particulier Hibernate et Spring JDBC

    • Stratégies de gestion des transactions, en utilisant Spring dans la couche de service

    • Stratégies pour réaliser des tests unitaires et des tests d'intégration de ces différentes couches

  • Jour 3 - Intégration dans le système d'information 1

    • Comprendre le mapping objet-relationnel et l'utilisation d'Hibernate, avec Spring

    • Vue d'ensemble des technologies de présentation : Spring Web MVC, Spring JavaScript, Spring Web Flow et Spring Faces

    • Configuration de services Spring pour qu'ils soient accessibles à distance, sans rien coder!

    • Réalisation de Web Services "par contrat", avec Spring Web Services

  • Jour 4 - Intégration dans le système d'information 2

    • Comprendre Spring Security, et sécuriser son application

    • Construire une application monitorable avec Spring JMX

    • Configurer des Message-Driven POJOs avec Spring JMS

    • Comprendre les solutions d'entreprise proposées par SpringSource

Détail par jour

Jour 1

Le premier jour commence avec une explication détailée des concepts d'inversion de contrôle et d'injection de dépendances. Vous apprendrez comment utiliser ces principes fondamentaux pour réaliser du code plus facilement testable, et créer ainsi des applications ayant une architecture en couche, dans les règles de l'art. Vous utiliserez des design patterns adaptés à l'utilisation d'un containeur léger, et verrez par l'exemple des techniques vous permettant d'optimiser la réutilisation de votre code.

Ensuite, vous plongerez dans le monde du "Spring Application Context", le coeur de Spring. Vous en apprendrez les fonctionnalités de base, mais également des concepts avancés vous permettant de développer des applications facilement maintenables. En particulier, vous verrez quand et comment :

  • Organiser vos fichiers de configuration Spring efficacement, par modules

  • Utiliser Spring IDE pour voir graphiquement la configuration de votre application

  • Définir des FactoryBeans pour encapsuler vos fabriques d'objets

  • Insérer des comportements spécifiques à des points bien définis du cycle de vie de vos objets

  • Utiliser les namespaces XML pour une configuration plus concise

  • Etendre les classes Spring afin de réaliser des tests d'intégration

A la fin de la journée, vous aurez compris l'architecture du containeur léger Spring, et comment il vous permet d'assembler rapidement un système complexe à partir de composants faiblement couplés. Vous aurez une vision générale de ce en quoi consiste Spring, et de quelle manière il vous permet de réaliser plus rapidement des applications de grande qualité.
Cette première journée introduit également un cas d'étude réaliste, qui va être utilisé tout au long de la formation. Plusieurs exercices sont proposés durant la journée, qui vont vous permettre de vous familiariser avec les notions fondamentales du noyau Spring, tout en suivant une approche agile. Vous apprendrez comment les mocks et les stubs permettent de faciliter le développement au sein d'une équipe distribuée, et vous verrez de quelle manière les mettre en place. Vous apprendrez la conception d'une couche métier bien définie, et utiliserez ces techniques pour implémenter des règles métier dans votre code. Vous développerez des tests d'intégration pour valider ces contrats métiers tôt dans votre cycle de développement, et utiliserez le support de Spring pour les tests afin de les implémenter. Cette même étude de cas sera utilisée les 3 prochains jours, en particulier pour étudier la couche de persistance, la couche Web, et l'intégration dans le système d'information de l'entreprise.

Jour 2

Le deuxième jour est dans la continuité du premier : vous allez maintenant étendre le cas d'étude afin de réaliser une couche métier. La logique applicative que vous avez développé le premier jour va maintenant fonctionner avec des services d'entreprises, comme la gestion des transactions. Vous étudierez également la programmation orientée aspect (AOP), et verrez où utiliser l'AOP et comment identifier des concepts transverses. Vous utiliserez les aspects fournis par Spring, et créerez même votre propre aspect.

Les sujets couverts sur l'AOP sont :

  • Les bases de l'AOP, de manière claire et concrète

  • Les advices supportés par Spring

  • Comment utiliser des pointcuts pour cibler des aspects précis

  • Les différentes manières de créer des proxy AOP avec Spring, et comment choisir entre elles

Une fois les fondement de l'AOP établis, vous étudierez le role de Spring dans la gestion des transactions et l'accès aux données. A la fin de la journée, vous saurez comment réduire significativement la complexité de votre code d'accès aux données grâce à l'utilisation de Spring pour gérer vos ressources, vos exceptions et vos transactions.

Après une présentation du support de Spring pour la couche de domaine, vous implémenterez l'accès au données du cas d'étude. Vous utiliserez à la fois Hibernate et JDBC pour connecter votre application à une base de données relationnelle. En utilisant les classes DaoSupport de Spring, ainsi que son système de templates, vous implémenterez des services d'accès aux données fiables et performants, en très peu de lignes de code. Vous aurez ainsi une vraie expérience pratique de l'utilisation de JDBC, correspondant à une utilisation professionnelle exigeante. Vous verrez également que Spring possède la capacité unique de combiner le mapping objet-relationnel et l'accès JDBC direct dans une seule et même application.
Ensuite, vous démarquerez vos transactions en utilisant plusieurs techniques fournies par Spring. La gestion des transactions de manière déclarative et programmatique sont couvertes. Vous utiliserez concrétement des implementations de PlatformTransactionManager, vous permettant de mélanger des accès JDBC et Hibernate dans la même transaction. Vous apprendrez comment Spring permet de passer d'une transaction locale à une transaction globale sans changement de code, ainsi que de notions avancées telles que les transactions nested et les savepoints.
Enfin, vous déclarerez vous-même les limites de vos transactions, utiliserez les règles de propagation et de rollback des transaction de manière correcte, et apprendrez comment concevoir l'infrastructure transactionnelle de votre application. Vous appliquerez ces comportements transactionnels de manière transparente grâce aux proxies automatiques, et apprendrez à définir des politiques transactionnelles fines grâce aux annotations JDK 5.0.
A la fin de la journée, vous aurez une couche métier fonctionnelle, qui abritera la logique de votre application. Vous aurez réalisé les bénéfices du développement orienté test (TDD). Vous aurez compris comment utiliser Hibernate et JDBC de manière efficace, et comment Spring permet de décorer des services métier de manière dynamique et déclarative.

Jour 3

Le troisième jour propose une introduction à "Spring Web" et se concentre sur la connectivité efficace avec les services de l'entreprise. Vous vous familiariserez avec l'utilisation d'Hibernate et les concepts du mapping objet-relationnel.

La partie "Spring Web" explore Spring MVC, Spring JavaScript, Spring Web Flow et Spring Faces. La partie Spring MVC est la fondation du support Web dans Spring. Vous y découvrirez le cycle de vie des requêtes HTTP, les principaux composants de Spring MVC comme le DispatcherServlet, et vous terminerez sur un cas d'étude permettant une prise en main rapide de Spring MVC. Un cours plus complet sur Spring Web, en particulier sur les composants de plus haut niveau, est disponible séparément à cette formation (cours "Developing Rich Web Applications with Spring").

Cette nouvelle connaissance du DispatcherServlet de Spring va vous être utile dans l'étude des différentes formes d'accès distant proposé par Spring, et dans son support des Web Services. Vous exporterez un service transactionnel, utilisable par des clients distants à travers une large variété de protocoles, grâce au support de Spring Remoting. A la fin de la journée, vous apprendrez à créer des Web Services grâce à une approche "contract first".

Jour 4

Le quatrième jour permet de rééllement finaliser l'application. Vous verrez comment ajouter des services de sécurité avancés à votre application grâce à Spring Security. Vous apprendrez comment intégrer votre application au large éventail de mécanismes d'authentification qui sont utilisés en entreprise. En même temps, vous apprendrez comment appliquer des règles d'accès puissantes, découplées de ce mécanisme d'authentification.

Vous verrez comment Spring vous permet d'utiliser la pleine puissance de J2EE, sans avoir à réécrire votre code ou changer la conception de votre application. Vous étudierez  comment utiliser JMS avec Spring, afin de transformer des objets Java simples en "Message-Driven POJOs". Vous verrez comment monitorer et gérer l'ensemble de votre application grâce au support de JMX proposé par Spring.

A la fin de de ce cours vous aurez appris beaucoup de choses, qui seront utilisables immédiatement dans vos projets. De plus, tous les supports de cours, exercices et solutions que vous aurez utilisés seront à vous, et vous pourrez les emporter pour les retravailler par la suite.

Informations générales

Approche

A travers nos formations, vous bénéficiez de la large expérience et de l'expertise de notre équipe. Nous vous les proposons à travers une méthode très interactive et très concrète. La formation "Core Spring" se concentre sur les fonctionnalités de Spring et la manière de les utiliser, ainsi que sur les problématiques essentielles d'architecture logicielle. Il est important de savoir comment fonctionne les différentes parties d'un framework, mais il est encore plus important de savoir quand les utiliser.

Pré requis

Nous nous attendons à ce que les participants aient une bonne connaissance des APIs Java standard, ainsi qu'une connaissance de base des concepts et des APIs J2EE, comme par exemple JTA et les Servlets. Etant donné que nous couvrons aussi les technologies de mapping objet-relationnel (ORM) dans cette formation, des connaissances de base sur l'ORM sont également souhaitables. Une fois que vous vous serez enregistrés pour ce cours, les équipes SpringSource seront ravies de vous recommander des livres ou des sites Web vous permettant de mieux vous préparer à la formation, de manière à ce que vous puissiez en profiter au maximum.

Cas d'étude

Etant donné que cette formation se concentre sur Spring et sur la manière de développer des applications légères, maintenables et extensibles, elle comporte 40% de théorie. 60% de la formation concerne donc le cas d'étude.

Dans la majorité du cours, vous aurez donc besoin d'un ordinateur. Pour les formations publiques, nous vous fournirons un PC prêt à l'emploi. Vous pourrez également apporter votre ordinateur portable, mais ce n'est pas une obligation. L'installation du cas d'étude sur votre propre ordinateur est simple et rapide.

Contact

Pour plus de renseignements sur nos formations, vous pouvez contacter :
Michael ISVY
Responsable formation SpringSource France
training_fr@springsource.com
tel : 06-98-40-12-00 (depuis l'étranger: 00-33-6-98-40-12-00)