Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)hibnico
Présentation par Nicolas Lalevée des modèles de gestion de dépendances Maven, Ivy et OSGi au Toulouse Jug du 26 Mai 2011.
Abstract:
La gestion des dépendances, sac de noeuds presque par définition, on va essayer de démêler tout ça.
Après avoir fait un état des lieux avec Maven car il est l'incontournable du moment, nous irons voir comment Ivy peut décrire assez finement et gérer avec souplesse des dépendances. Nous verrons ensuite comment le modèle de dépendances d'OSGi est original et apporte encore de nouveaux concepts. Deux mondes s'affrontent alors, celui de Maven et Ivy face à celui d'OSGi; on tentera enfin d'esquisser un meilleur des deux mondes.
Retour d'expérience sur un projet agile, avec les technos Flex, Spring, Hibernate, donné lors du ToulouseJug du 21/04/2011.
Bert Poller & Nicolas Deverge
Microbox : Ma toolbox microservices - Julien Royekino
Malgré les bénéfices indéniables des architectures microservices, elles apportent une complexité non négligeable. Durant cette session, je vous présenterai la collection d’outils open source ou développé en interne que nous utilisons sur nos différents projets microservices pour limiter les délais de mise en oeuvre de ce type d’architecture. Depuis la gestion des sources jusqu’au monitoring en passant par la génération de projets et l’usine de build nous parcourrons en live l’utilisation de ces différents outils.
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)hibnico
Présentation par Nicolas Lalevée des modèles de gestion de dépendances Maven, Ivy et OSGi au Toulouse Jug du 26 Mai 2011.
Abstract:
La gestion des dépendances, sac de noeuds presque par définition, on va essayer de démêler tout ça.
Après avoir fait un état des lieux avec Maven car il est l'incontournable du moment, nous irons voir comment Ivy peut décrire assez finement et gérer avec souplesse des dépendances. Nous verrons ensuite comment le modèle de dépendances d'OSGi est original et apporte encore de nouveaux concepts. Deux mondes s'affrontent alors, celui de Maven et Ivy face à celui d'OSGi; on tentera enfin d'esquisser un meilleur des deux mondes.
Retour d'expérience sur un projet agile, avec les technos Flex, Spring, Hibernate, donné lors du ToulouseJug du 21/04/2011.
Bert Poller & Nicolas Deverge
Microbox : Ma toolbox microservices - Julien Royekino
Malgré les bénéfices indéniables des architectures microservices, elles apportent une complexité non négligeable. Durant cette session, je vous présenterai la collection d’outils open source ou développé en interne que nous utilisons sur nos différents projets microservices pour limiter les délais de mise en oeuvre de ce type d’architecture. Depuis la gestion des sources jusqu’au monitoring en passant par la génération de projets et l’usine de build nous parcourrons en live l’utilisation de ces différents outils.
Stockage et analyse temps réel d'événements avec Riak chez Booking.comDamien Krotkine
Chez Booking.com, un flux constant d'événements provient des différents systèmes et applications internes. Ces "events" sont des données critiques, et doivent être stockés pour être analysés en temps réel, ou bien sur du moyen et long terme. Ces données sont très peu structurées et de nature changeante, rendant difficile l'utilisation d'outils standards d'analyse.
Cette présentation montre comment fut construit un système de stockage complet avec analyse temps-réel, basé sur Riak.
Riak est une base de donnée NoSQL distribuée hybride très robuste et rapide.
Les points abordés seront: sérialisation et aggrégation des données, la configuration de Riak, les solutions pour diminuer la consommation de bande passante du cluster, l'implémentation de l'analyse temps-réel grace aux fonctions avancées de Riak: MapReduce, Secondary Indexes, commit-hooks.
Architecture de services web de type ressourceAntoine Pouch
Les services de type ressource sont très répandus, ils se cachent parmi nous sous l'appellation RESTful. Mais ils n'étaient pas là les premiers et leurs ancêtres ont 2-3 choses à nous apprendre. Par ailleurs, ils bénéficieront grandement d'un peu plus d'attention que de simplement les coller sur un framwork MVC. J'expliquerai les différentes couches les composants, les différents systèmes de requête/réponse et leur intégration avec ces fameux frameworks MVC que tout le monde adore.
Conférence PHP Tour Luxembourg 2015.
Nous verrons comment construire un environnement de développement et de production à la demande en utilisant Amazon Web Service, Chef, Vagrant et Docker.
Ce cours vise à présenter le JDBC (Java Database Connectivity) et comment utiliser JDBC à travers des applications Java à d'accéder à des bases de données.
Présentation Liquibase mise à jour pour être plus exhaustive (v2.0.5) avec une démo plus complète.
Merci de mentionner "Florent Biville" en tant qu'auteur original si vous souhaitez reprendre cette présentation.
Spring data : Une api, quinze possibilités - Julien Royekino
Vous avez besoin d’intégrer une nouveau type de stockage ( Elasticsearch, Cassandra, Redis, Neo4j ) dans votre application mais l’apprentissage d’une nouvelle API vous fait hésiter ? Spring Data est fait pour vous ! Grâce à Spring Data, vous avez à disposition une interface unique pour communiquer avec tous vos backends. Venez découvrir comment faire un stream de données depuis Postgresql, faire des agrégations avec Elasticsearch, enregistrer des documents dans MongoDB, le tout en quelques lignes de code et sans efforts. Nous finirons cette session en détaillant les nouveautés apportées par la version 2.0 autour de la programmation réactive.
Session des Journées SQL Server 2014 - Franck Mercier
---
Mise en place d’une solution de haute disponibilité (AlwaysON) dans Azure sur plusieurs régions (ex: Europe et US)
Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...fabricemeillon
Active Directory Domain Services est au cœur des fonctionnalités de sécurité, d’administration et d'interopérabilité de la plateforme Microsoft Windows Server. De nombreuses nouveautés sont apparues avec Windows Server 2008 : contrôleur de domaine en lecture seule, audit, politiques de mot de passe multiples, sauvegarde et restauration en mode cliché… Cette session permettra d'aborder les bonnes pratiques en ce qui concerne leurs implémentations et de présenter les nouveautés qui arriveront avec Windows Server 2008 R2. Une session à ne pas manquer pour assurer la réussite de vos migrations.
Présentation rapide de méthodologies qui facilitent le développement de projets fonctionnellement complexes : Développement piloté par le comportement, Domain Driven Design et Command Query Responsability Seggregation
Stockage et analyse temps réel d'événements avec Riak chez Booking.comDamien Krotkine
Chez Booking.com, un flux constant d'événements provient des différents systèmes et applications internes. Ces "events" sont des données critiques, et doivent être stockés pour être analysés en temps réel, ou bien sur du moyen et long terme. Ces données sont très peu structurées et de nature changeante, rendant difficile l'utilisation d'outils standards d'analyse.
Cette présentation montre comment fut construit un système de stockage complet avec analyse temps-réel, basé sur Riak.
Riak est une base de donnée NoSQL distribuée hybride très robuste et rapide.
Les points abordés seront: sérialisation et aggrégation des données, la configuration de Riak, les solutions pour diminuer la consommation de bande passante du cluster, l'implémentation de l'analyse temps-réel grace aux fonctions avancées de Riak: MapReduce, Secondary Indexes, commit-hooks.
Architecture de services web de type ressourceAntoine Pouch
Les services de type ressource sont très répandus, ils se cachent parmi nous sous l'appellation RESTful. Mais ils n'étaient pas là les premiers et leurs ancêtres ont 2-3 choses à nous apprendre. Par ailleurs, ils bénéficieront grandement d'un peu plus d'attention que de simplement les coller sur un framwork MVC. J'expliquerai les différentes couches les composants, les différents systèmes de requête/réponse et leur intégration avec ces fameux frameworks MVC que tout le monde adore.
Conférence PHP Tour Luxembourg 2015.
Nous verrons comment construire un environnement de développement et de production à la demande en utilisant Amazon Web Service, Chef, Vagrant et Docker.
Ce cours vise à présenter le JDBC (Java Database Connectivity) et comment utiliser JDBC à travers des applications Java à d'accéder à des bases de données.
Présentation Liquibase mise à jour pour être plus exhaustive (v2.0.5) avec une démo plus complète.
Merci de mentionner "Florent Biville" en tant qu'auteur original si vous souhaitez reprendre cette présentation.
Spring data : Une api, quinze possibilités - Julien Royekino
Vous avez besoin d’intégrer une nouveau type de stockage ( Elasticsearch, Cassandra, Redis, Neo4j ) dans votre application mais l’apprentissage d’une nouvelle API vous fait hésiter ? Spring Data est fait pour vous ! Grâce à Spring Data, vous avez à disposition une interface unique pour communiquer avec tous vos backends. Venez découvrir comment faire un stream de données depuis Postgresql, faire des agrégations avec Elasticsearch, enregistrer des documents dans MongoDB, le tout en quelques lignes de code et sans efforts. Nous finirons cette session en détaillant les nouveautés apportées par la version 2.0 autour de la programmation réactive.
Session des Journées SQL Server 2014 - Franck Mercier
---
Mise en place d’une solution de haute disponibilité (AlwaysON) dans Azure sur plusieurs régions (ex: Europe et US)
Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...fabricemeillon
Active Directory Domain Services est au cœur des fonctionnalités de sécurité, d’administration et d'interopérabilité de la plateforme Microsoft Windows Server. De nombreuses nouveautés sont apparues avec Windows Server 2008 : contrôleur de domaine en lecture seule, audit, politiques de mot de passe multiples, sauvegarde et restauration en mode cliché… Cette session permettra d'aborder les bonnes pratiques en ce qui concerne leurs implémentations et de présenter les nouveautés qui arriveront avec Windows Server 2008 R2. Une session à ne pas manquer pour assurer la réussite de vos migrations.
Présentation rapide de méthodologies qui facilitent le développement de projets fonctionnellement complexes : Développement piloté par le comportement, Domain Driven Design et Command Query Responsability Seggregation
This document provides election results from the first round of the 2012 French presidential election in various electoral districts in Canada, Quebec, other US cities, and France. It shows the number of registered and actual voters, voter turnout percentages, number of ballots cast for each candidate, and the percentage of votes received by each candidate. Overall, Francois Hollande received 55.83% of the expressed votes compared to 44.17% for Nicolas Sarkozy.
Accessibilité des sites web de tourisme français depuis l'AsieIZIASIA
Etude réalisée par IZIASIA sur l'accessibilité des sites web de tourisme français depuis l'Asie: localisation linguistique (traduction) et temps d'accès (hébergement)
Part 1 - Introduction à Dart
Dart s'inscrit dans la mouvance des frameworks JavaScript (Node.js, Backbone, AngularJS, etc,) et des langages compilés en JavaScript (CoffeeScript, TypeScipt, etc.) dans l'objectif de faciliter le développement Web.
Les applications Web sont depuis quelques années le type d'application privilégié des développeurs. Néanmoins, les outils que nous possédions jusqu'à très récemment n'étaient absolument pas adaptés au monde professionnel.
Dart offre la possibilité de développer, dans un langage structuré et objet, des applications clients et serveurs, et ceci en un temps record.
Mais Dart n'est pas seulement un langage c'est aussi tout un écosystème au service de l'industrialisation.
Au cours de cette présentation nous verrons :
• comment Dart permet de développer des applications clientes aussi bien que serveurs,
• quelques éléments du langage,
• mais aussi les outils permettant un développement industrialisé et une productivité accrue
Durée : 45min/1h
Part 2 - Live Coding - Développer une application à page unique en Dart
Bien que la version finale de Dart ne soit pas encore disponible (pour cela il faudra attendre cet été), il est utilisable dès aujourd'hui. Et c'est ce que nous verrons au cours de cette deuxième partie en nous appuyant sur une application simple.
Durée : 45min/1h
Objectif général : Prendre en main Express js, le mini-framework de Node js le plus utilisé
objectifs spécifiques :
Installer Node js et Express js
Créer une application Express js
Router les requêtes
Recevoir des données à partir de l’URL d’une requête
Recevoir des données à partir du corps d’une requête
Traiter des fichiers uploadés
Utiliser un moteur de template
Utiliser une base de données
Utiliser des middlewares
Ce Support explique quelques concepts de base de NodeJS et montre comment mettre en oeuvre la technologie NodeJS pour développer la partie Backend d'une application.
Les vidéos des démonstrations sont publiées sur les adresse suivantes :
- https://www.youtube.com/watch?v=-X_C1tS5-9Y
- https://www.youtube.com/watch?v=rE-xRH28m0s
- https://www.youtube.com/watch?v=tnxjkTvWoKA
Cette série explique les éléments suivants :
- Architecture Web
- Modèles Multi-Threads avec les entrées sorties bloquantes
- Modèles Single Thread avec les entrées sortie non bloquantes
-Technologie Node JS
- Comment créer une simple application Node JS avec java Script
- Architecture du Framwork Express
- Comment créer une application NodeJS avec Type Script
- Comment écrire des tests unitaires avec Jest
- Quelques concepts sur MongoDb
- Comment Créer une API Rest avec NodeJS, Express et MongoDb
- Comment tester l'API Rest
- Comment Créer la partie FrontEnd avec Angular.
Même si la qualité audio n'est pas bonne, ses vidéos peuvent aider ceux qui débutent dans NodeJS en attendant d'autres vidéos avec plus qualité audio et de contenu.
Bonne lecture
ce cours vous permettra, de découvrir les fondamentaux du framework angular, ainsi apprendre le framwork par pratique, avec des exemple sur chaque model
Migrer de Jenkins vers Azure DevOps les Builds JavaCédric Leblond
Je migre de nombreuses builds Java, jgitflow d'une plateforme Jenkins et Nexus hébergée sur AWS vers Azure DevOps.
Après une description du contexte, je vous détaillerai :
- comment la migration de package Nexus est réalisée.
- comment les Builds Jenkins sont recrées sur Azure DevOps.
- comment utiliser jgitflow et git efficacement dans les builds
Nous verrons beaucoup d'astuces et options pour orchestrer les nouvelles builds et releases. Et surtout, nous discuterons de comment accompagner les équipes dans cette transition.
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO Technology
En cette année 2024 qui s’annonce sous le signe de la complexité, avec :
- L’explosion de la Gen AI
-Un contexte socio-économique sous tensions
- De forts enjeux sur le Sustainable et la régulation IT
- Une archipélisation des lieux de travail post-Covid
Découvrez les Tech trends incontournables pour délivrer vos produits stratégiques.
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
2. Gildas Cuisinier
• Consultant JEE, Gam Consult
– Basé au Luxembourg, depuis 2 ans
– Certifié Spring Framework
• Responsable Spring, Developpez.com
– Articles techniques, FAQ, Forum, Blog
– Reporter pour différents évènements
• Relecteur de Spring par la pratique,
2ème édition
<Date> 2
3. Agenda
• Rétrospective de Spring
• Spring 3.0
– Supports, dépréciations et suppressions
– Présentation des nouveautés
– Roadmap
5. Spring 1.0
• Mars 2004
• Alternative légère au EJB 2
• Fonctionnalités :
– Injection
– AOP
– Support de Jdbc, Hibernate, iBatis, JDO, ..
– Framework Web
6. Spring 1.0
• Configuration xml, basée sur une DTD
– Un seul tag : <bean>
• Possibilité de métadonnées sur les classes
– Basé sur Xdoclet
– Utilisation :
• Transaction
• MVC
7. Spring 1.2
• Mai 2005
• DTD améliorée pour configuration plus souple
– Alias, import
• Premier support du JDK 5 !
– @Transactional, …
8. Spring 2.0
• Octobre 2006
• Simplification de la configuration XML
– Basé sur XML Schema
– Namespaces dédiés
• JEE, Transaction, AOP, Lang, Util
– Scope
• Annotations AspectJ
9. Spring 2.5
• Novembre 2007
• Nouveaux namespaces :
– JMS
– Context
• Annotations
– Spring : IoC, Tests, Web
– Standard JEE
• Toujours compatible JDK 1.4
12. Supports
• JDK 1.5+
– Rupture : JDK 1.4 n’est plus supporté
• Dépréciation
– Hiérarchie de contrôleur Web
– Hiérarchie de classe pour Junit 3.8
• Suppression
– Le support de Commons Attributes
– Le support de Toplink
– Le support (héritage) de Struts 1.0
14. Spring OXM
• Inclusion du module de mapping Object / XML
– Provient de Spring WS
• Permet une abstraction des API communes
– JAXB, JiBX, Xstream, Castor
• Utilisation
– Gestion des payload REST en XML
– Accès aux données SQL XML
15. JavaConfig
• Configuration par annotations
– @Configuration, @Bean, @Lazy, @Primary, @Import, @Value
• Version XML :
– <beans>
<bean name=“monBean" class=“be.hikage.MonBeanImpl"/>
</beans>
• Version Annotation:
– @Configuration
public class AppConfig {
@Bean
public MonBean monBean() { return new MonBeanImpl(); }
}
16. Expression Language
• Syntaxe proche des Unified EL mais avec des
fonctionnalités supplémentaires
• Développé selon les besoins des projets du
portfolio
• Indépendant
17. Expression Language
• Supporte l’appel de méthode :
– #{'Hello World'.concat('!')} => Hello World !
• Supporte les Map, List, Properties
– #{monArray[1]}
– #{maMap[‘maCle’]}
– #{ systemProperties['user.region']"}
• Supporte les opérateurs
– #{1==1} -> Vrai
• …
18. Expression Language
• Attributs du contexte
– systemProperties, systemEnvironnent
– Beans
– Web :
• contextParameters, contextAttributes
• request, session
– Securite :
• hasRole(), isFullyAuthenticated(), …
• Ex : hasRole('ROLE_SUPERVISOR') and hasIpAddress('192.168.1.0/24')
20. REST
• Intégré dans Spring @MVC
• Fournir un support natif
– Application visuelle Web
– Service
• Alternative : Utiliser JAX-RS et son modèle propre
22. REST – HTTP Methods
• REST : Utilisation les méthodes HTTP :
– GET : Récupérer une ressource
– POST : Ajouter une ressource
– PUT : Modifier une ressource
– DELETE : Supprimer une ressource
• HTML ne gère que GET / POST
– Solution : HiddenHttpMethodFilter
– Taglib Spring MVC utilise cette solution
23. REST – Content Negociation
• URL = Resource
• Plusieurs représentations
• Solution : ContentNegotiatingViewResolver
– Délègue aux autres ViewResolver
– Sélectionne celui qui correspond à la demande
• @RequestBody
– HttpMessageConverter
24. REST - Client
• RestTemplate
– API de haut niveau pour REST
• Accès au méthodes GET, PUT, POST, DELETE, OPTIONS
• Gestion des conversions des objets
– HttpMessageConverter : 4 implémentations
– ByteArray, Form, String, Source
• Reste extensible par utilisation de CallBack
– Génération de la requête
– Traduction de la réponse
Speaker speaker = new Speaker();
URI uri = template.postForLocation("http://localhost:8080/spring-
rest/speakers/new", speaker);
26. Support du scheduling
• Avant :
– Configuration verbeuse en XML
• Définition du Scheduler
• Définition du Trigger
• Définition du Job
• Définition du Bean « métier »
• Après :
<Date> lorrainejug@gmail.com | http://lorrainejug.blogspot.com 26
27. Support du scheduling
• Alternative : Annotation
– Cron
– Delai fixe
– Période fixe
<Date> lorrainejug@gmail.com | http://lorrainejug.blogspot.com 27
28. Support appel asynchrone
• Permet de rendre asynchrone une méthode
– @Async
– Délègue l’appel à un TaskExecutor
• Deux cas possibles
– Méthode sans résultat
– Méthode renvoyant un résultat
<Date> lorrainejug@gmail.com | http://lorrainejug.blogspot.com 28
29. Support des DB embarquées
• Namespace jdbc
– Permet de configurer des bases embarquées
• Derby
• H2
• HSQLDB
– Permet de configurer des scripts d’initialisation
<Date> lorrainejug@gmail.com | http://lorrainejug.blogspot.com 29
30. Support Bean Validation
• JSR 303 – Bean Validation
– Standardisation de Hibernate Validator
– Permet de configurer les contraintes de validation directement
sur les objets métiers
– Permet de valider dans plusieurs couches
• Présentation ( Spring MVC, JSF, .. )
• Service
• Génération de DDL ( JPA, Hibernate )
<Date> lorrainejug@gmail.com | http://lorrainejug.blogspot.com 30
31. Support Bean Validation
• Spring possède son propre système de validation
– org.springframework.validation.Validator
• Propose un adapteur
– LocalValidatorFactoryBean
• Toutes couches
– Validation manuelle via injection du validateur
• Spring MVC
– Autovalidation des objets « commande »
<Date> lorrainejug@gmail.com | http://lorrainejug.blogspot.com 31
32. Support JSR 330 - @Inject
• JSR initiée par SpringSource et Google
• Propose un jeu d’annotations
– @Inject @AutoWired mais limité
– @Qualifier @Qualifier mais limité
– @Named @Qualifier sur le nom du Bean
– @Singleton
– @Scope
• Utilisation identique aux annotations standards
– Utilisation mixte permise
<Date> lorrainejug@gmail.com | http://lorrainejug.blogspot.com 32
34. Spring 3.X Roadmap
• Spring 3.0 RC2 :
– 11 Novembre selon la release note
• Spring 3.0 GA : Fin Novembre
– Dépendant des retours de la RC2
• Spring 3.1 : Début 2010
– Support complet de JEE 6
35. Conclusion
• Spring 3.0
– Release majeure car rupture du JDK 1.4
– Nouvelles fonctionnalités intéressantes
• REST
• SpEL
• Bean Validation
– Pas une révolution pour autant
• Spring 3.1
– Release plus importante Support JEE 6
<Date> lorrainejug@gmail.com | http://lorrainejug.blogspot.com 35