Spring Meetup Paris - Back to the basics of Spring (Boot)Eric SIBER
Aujourd'hui, avec Spring Boot, la promesse est de pouvoir bootstrapper en 60 secondes chrono une application.
C'est génial et porteur de sens (et un vrai laboratoire de bonnes pratiques) mais le temps de bootstrapping de l'équipe de développement, des individus composant cette équipe, est bien loin de suivre la même célérité. Dans le pire des cas, vous rencontrerez même des équipes au sein desquelles les écarts de niveaux sont extrêmement importants.
Pourquoi donc ? Réfléchissez à ce qui se passe si vous donnez le volant d'une formule 1 à quelqu'un qui vient tout juste d'obtenir son permis A après avoir fait son apprentissage sur une petite citadine dans une grande ville ... et vous aurez un début de réponse.
Le portfolio Spring constitue une excellente et populaire boîte à outils qui vous promet une grande productivité. Pour tirer profit de cette productivité et ne pas rester bridé par les connaissances de l'équipe, il ne suffit pas de choisir le bon framework, il faut savoir comment l'utiliser, le sublimer, en épousant les paradigmes de ce dernier.
Je vous propose donc d'en revenir aux fondamentaux de Spring (Boot) afin de vous permettre, bien avant de pouvoir vous attaquer au graal des architectures Microservices, d'être capable de tirer la pleine puissance du framework, tout du moins de ne pas en détourner l'essence.
Si vous n'êtes pas familier de Spring, ce talk vous permettra d'en avoir un premier aperçu pragmatique sans effet waouh. Si vous connaissez déjà Spring, vous trouverez à travers ce talk l'opportunité de prendre du recul sur son usage et de confronter vos pratiques aux patterns et bénéficies qu'il vous offre.
Spring Meetup Paris - Back to the basics of Spring (Boot)Eric SIBER
Aujourd'hui, avec Spring Boot, la promesse est de pouvoir bootstrapper en 60 secondes chrono une application.
C'est génial et porteur de sens (et un vrai laboratoire de bonnes pratiques) mais le temps de bootstrapping de l'équipe de développement, des individus composant cette équipe, est bien loin de suivre la même célérité. Dans le pire des cas, vous rencontrerez même des équipes au sein desquelles les écarts de niveaux sont extrêmement importants.
Pourquoi donc ? Réfléchissez à ce qui se passe si vous donnez le volant d'une formule 1 à quelqu'un qui vient tout juste d'obtenir son permis A après avoir fait son apprentissage sur une petite citadine dans une grande ville ... et vous aurez un début de réponse.
Le portfolio Spring constitue une excellente et populaire boîte à outils qui vous promet une grande productivité. Pour tirer profit de cette productivité et ne pas rester bridé par les connaissances de l'équipe, il ne suffit pas de choisir le bon framework, il faut savoir comment l'utiliser, le sublimer, en épousant les paradigmes de ce dernier.
Je vous propose donc d'en revenir aux fondamentaux de Spring (Boot) afin de vous permettre, bien avant de pouvoir vous attaquer au graal des architectures Microservices, d'être capable de tirer la pleine puissance du framework, tout du moins de ne pas en détourner l'essence.
Si vous n'êtes pas familier de Spring, ce talk vous permettra d'en avoir un premier aperçu pragmatique sans effet waouh. Si vous connaissez déjà Spring, vous trouverez à travers ce talk l'opportunité de prendre du recul sur son usage et de confronter vos pratiques aux patterns et bénéficies qu'il vous offre.
Se support présente l'outil d'intégration Maven dans le processus d'industrialisation du génie logiciel. Tout ce qu'il faut savoir sur maven.
La deuxième partie de ce cours traite la mise en oeuvre de maven dans des projets basés sur JPA, Hibernate, Spring et Struts.
Bon apprentissage à tous
GWT Principes & Techniques
Des IHM avec GWT
Des IHM avec GWT +
Communiquer avec le serveur
Internationalisation I18n
Développer un composant graphique
Historique du navigateur
Logging
Tester avec JUNIT
Divers principes avancées
JavaScript overlay types
Intégrer une appli GWT dans JavaScript
Code Splitting
Étendre la JRE Émulation
Sérialisation spécifique
Compile Reports
Atelier RIA : “Développement d’applications RIA avec le Google Web Toolkit”
du mercredi 27 Juin 2012 CCI Entreprises de Montpellier
Intervenant :
- Emmanuel Pavaux – Oxiane Méditérranée, cabinet d’ingénierie, de conseil et formation NTIC
GWT (Google Web Toolkit)
Le développement d’applications internet riches (RIA) est une tendance de fond. L’utilisation intensive de JavaScript, de DHTML et des échanges asynchrones (AJAX) est une réalité technique devenue courante pour les nouvelles applications intranet et internet.
La librairie GWT est la solution s’appuyant sur la plateforme java proposée par Google pour masquer la complexité de ces technologies et offrir un modèle de développement web original, simple et robuste aux développeurs.
Chaque jour, de nombreux développeurs utilisent le framework Spring pour l’injection de dépendances et la gestion des transactions. Majeures, ces 2 fonctionnalités ne nécessitent pas un gros effort d’apprentissage. Pour autant, leurs mises en œuvre par le framework est complexe. Par curiosité intellectuelle, mais également afin d’éviter certains pièges et de profiter pleinement des capacités de Spring, il est intéressant de comprendre les mécanismes internes du framework qu’on utilise au quotidien : cycle de vie d’un bean, proxy, intercepteur, post-processeur, fabrique de beans, hiérarchie de contextes, portée …
Les slides de cette présentation ont pour objectif de vous les faire les introduire.
Documation
Le rendez-vous de la gestion de l'information et du document numérique en entreprise | ECM | GED | Management de l'Information Stratégique
http://www.documation.fr/
Recherche, collecte, création, organisation, diffusion, partage, évaluation
Rendez-vous les 21 et 22 mars 2012 au CNIT de Paris La Défense pour LE salon français de la gestion de l’information et des documents
Enquête 2012 sur les Métiers du Web et de l'InternetOtman MECHBAL
L’objectif de cette enquête réalisée durant l'été 2012 est de présenter une photographie instantanée des professionnels qui se reconnaissent dans les métiers de l’Internet, lesquels se différencient largement des métiers des TIC, par leur spectre thématique, par leurs lieux d’exercice, par leurs profils.
Qui sont ces professionnels de l’Internet? D’où viennent-ils? Que font-ils? Quelles sont leurs perspectives? Voici quelques questions auxquelles nous tentons d’apporter une réponse.
Cette étude a été réalisée dans le cadre du projet européen Interreg IV A France-Wallonie-Flandre COMPETIC, observatoire des profils et compétences des métiers émergents du Web et de l’Internet, dont l’objectif est de contribuer à la reconnaissance de ces métiers.
Se support présente l'outil d'intégration Maven dans le processus d'industrialisation du génie logiciel. Tout ce qu'il faut savoir sur maven.
La deuxième partie de ce cours traite la mise en oeuvre de maven dans des projets basés sur JPA, Hibernate, Spring et Struts.
Bon apprentissage à tous
GWT Principes & Techniques
Des IHM avec GWT
Des IHM avec GWT +
Communiquer avec le serveur
Internationalisation I18n
Développer un composant graphique
Historique du navigateur
Logging
Tester avec JUNIT
Divers principes avancées
JavaScript overlay types
Intégrer une appli GWT dans JavaScript
Code Splitting
Étendre la JRE Émulation
Sérialisation spécifique
Compile Reports
Atelier RIA : “Développement d’applications RIA avec le Google Web Toolkit”
du mercredi 27 Juin 2012 CCI Entreprises de Montpellier
Intervenant :
- Emmanuel Pavaux – Oxiane Méditérranée, cabinet d’ingénierie, de conseil et formation NTIC
GWT (Google Web Toolkit)
Le développement d’applications internet riches (RIA) est une tendance de fond. L’utilisation intensive de JavaScript, de DHTML et des échanges asynchrones (AJAX) est une réalité technique devenue courante pour les nouvelles applications intranet et internet.
La librairie GWT est la solution s’appuyant sur la plateforme java proposée par Google pour masquer la complexité de ces technologies et offrir un modèle de développement web original, simple et robuste aux développeurs.
Chaque jour, de nombreux développeurs utilisent le framework Spring pour l’injection de dépendances et la gestion des transactions. Majeures, ces 2 fonctionnalités ne nécessitent pas un gros effort d’apprentissage. Pour autant, leurs mises en œuvre par le framework est complexe. Par curiosité intellectuelle, mais également afin d’éviter certains pièges et de profiter pleinement des capacités de Spring, il est intéressant de comprendre les mécanismes internes du framework qu’on utilise au quotidien : cycle de vie d’un bean, proxy, intercepteur, post-processeur, fabrique de beans, hiérarchie de contextes, portée …
Les slides de cette présentation ont pour objectif de vous les faire les introduire.
Documation
Le rendez-vous de la gestion de l'information et du document numérique en entreprise | ECM | GED | Management de l'Information Stratégique
http://www.documation.fr/
Recherche, collecte, création, organisation, diffusion, partage, évaluation
Rendez-vous les 21 et 22 mars 2012 au CNIT de Paris La Défense pour LE salon français de la gestion de l’information et des documents
Enquête 2012 sur les Métiers du Web et de l'InternetOtman MECHBAL
L’objectif de cette enquête réalisée durant l'été 2012 est de présenter une photographie instantanée des professionnels qui se reconnaissent dans les métiers de l’Internet, lesquels se différencient largement des métiers des TIC, par leur spectre thématique, par leurs lieux d’exercice, par leurs profils.
Qui sont ces professionnels de l’Internet? D’où viennent-ils? Que font-ils? Quelles sont leurs perspectives? Voici quelques questions auxquelles nous tentons d’apporter une réponse.
Cette étude a été réalisée dans le cadre du projet européen Interreg IV A France-Wallonie-Flandre COMPETIC, observatoire des profils et compétences des métiers émergents du Web et de l’Internet, dont l’objectif est de contribuer à la reconnaissance de ces métiers.
Description de la migration d'un portail d'entreprise maison réalisé au sein de la société Santéclair de la version 1.0 basée sur OSGi (Felix) + Vaadin + Gemini vers une archi OSGi (Felix) + Vaadin + iPOJO
Cyrille Le Clerc (Xebia), Erwan Alliaume (Xebia), Jean Michel Bea (Fast Connect) ont présenté au Paris Java User Group les principes du Data Grid.
Cache distribué, Network Attached Memory, Data Grid ou Cloud Computing sont des termes très à la mode qui s’inscrivent dans la même tendance.
Nous présenterons pendant cette soirée le chemin qui nous à conduit d’un simple EH Cache à des grilles de centaines de giga octects de données qui s’étalent sur des data center.
CACHES DISTRIBUES
Les Cache Distribués se sont banalisés avec les frameworks Open Source Jboss Cache et EH Cache distribué. Où en sommes nous aujourd’hui ?
- Quels sont les cas d’utilisation d’un cache distribué ? Quels gains en attendre ?
- Comment migrer d’un cache local à un cache distribué ? Nos frameworks sont-ils adaptés à ces caches distribués ?
- Comment fonctionne un cache distribué ?
NETWORK ATTACHED MEMORY
Le concept de Network Attached Memory a décollé dans l’univers Java avec Terracotta et offre à nos applications un espace mémoire encore inimaginable il y a peu. Que se cache-t-il derrière ?
- Quels sont les cas d’utilisation des technologies de Network Attached Memory ?
- Cette mémoire virtuellement infinie n’introduit-elle pas des contraintes ?
- Si la mémoire est partagée, qu’en est-il des traitements ?
- Quelles sont les perspectives des technologies de Network Attached Memory ?
DATA GRID
Le concept de data grid s’est popularisé avec les services Google Big Table ou Amazon S3 mais aussi avec des sites comme eBay qui annoncent des data center gigantesques. Cela va-t-il arriver dans l’informatique classique ?
- Qu’est-ce qu’une grille de donnée ? Comment ça marche ?
- Qui a besoin de Data Grid ? Est-ce réservé aux hyper scalable comme eBay ou Facebook ? Comment faisait-on avant ? En ai-je besoin ?
- Comment structurer une application pour utiliser une grille de données ? Cela la change-t-il la façon de programmer ?
- Map Reduce est-il un pattern utilisable avec une grille de données ? Est-ce le seul ?
- Les grilles de données vont-elles remplacer les bases de données traditionnelles ? Comment peuvent-elles cohabiter ?
DATA GRID, CLOUD ET LES AUTRES
Data Grid, Grid Computing, Cloud Computing et eXtreme Transaction Processing (XTP) sont fréquement associés.
Comment positionner Data Grid par rapport à ces technologies ?
Quels positionnements ont les acteurs de cet univers ? Amazon S3&EC2 ? Coherence ? Gigaspace ? Google App engine & Big Table ? Grid Gain ? Terracotta ? Websphere eXtreme Scale ?
Et les mainframes dans tout ça ?
Bonnes pratiques des applications java prêtes pour la productionCyrille Le Clerc
Les bonnes pratiques des applications Java prêtes pour la production.
Les enjeux :
* Améliorer la disponibilité des applications
* Réduire le cycle de vie des projets
* Améliorer les plateformes
* Diminuer le coût d’exploitation
Les axes clefs :
* Le déploiement
* La supervision et le monitoring
* La gestion des logs
* La robustesse
* L’organisation
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...GUSS
Session des Journées SQL Server 2014 - Julien Pierre
---
L’objectif de cette session consiste à montrer les étapes nécessaires à l’élaboration d’un portail décisionnel SharePoint avec des fonctions de Self-Service BI et Excel 2013.
Pour cela, nous présenterons succinctement l’architecture cible (serveur, rôles et communication entre les machines), nous ferons un passage rapide sur les étapes d’installation et de configuration générales avant de nous attarder sur la mise en œuvre du portail décisionnel qui permettra d’afficher et d’éditer des rapports (PowerView, PowerMap, SSRS…)
Présentation PowerPoint " Conception et développement d'un portail web pour l...Hajer Dahech
code et fichiers ici
https://hajereducation.tn/conception-et-developpement-dun-portail-web-pour-le-smart-metering-code-rapport-pdf/
======================
Merci , Thanks For watching Video
=====Subscribe == S'abonner
Playlist :Netbeans / GlassFish / Mysql workbench :vidéos+Files+Code
============================
Conception et développement d'un portail web pour le Smart Metering
Le but de ce projet est d’offrir un portail interactif aux utilisateurs des Smarts Meters pour:
Le suivi en temps réel de la consommation énergétique des clients (Electricité et Gaz).
Tarification de la consommation en temps réel.
Consultation des statistiques de consommation (par heure /journalière/mensuelle/trimestrielle/annuelle) et génération des Dashboard de consommation.
Comparaison de la consommation énergétique du client par la consommation de ces voisins et par zone géographique.
Consultation des sources énergétiques par palier de consommation (source traditionnelle /source renouvelables)
Voir les prévisions de consommation personnalisé.
Fixer un objectif budgétaire pour vous aider à gérer vos coûts.
Inscrivez-vous aux e-mails et SMS hebdomadaires d'alertes vous avisant que vous êtes en dessous ou en dessus de votre budget
Workshop Spring - Session 1 - L'offre Spring et les basesAntoine Rey
Rejoignez les millions de développeurs Spring
De par sa forte pénétration dans les entreprises, tout développeur Java /JEE a ou aura à travailler sur une application s’appuyant sur Spring. Or Spring dépasse le cadre du simple framework open source.
Cette série de 5 workshops a pour objectif de faire un tour d’horizon de l’écosystème des technologies supportées par Spring avant de se focaliser plus spécifiquement sur certaines d’entre elles.
Retours d’expérience, bonnes pratiques, techniques avancées seront de partie.
Propulsée dans Java EE 6 avec CDI et plus récemment au sein de JavaScript avec Google Gin, l’injection de dépendance sera au cœur du premier workshop.
Voici le support de présentation du workshop sur Spring que j'ai animé en novembre 2011 au sein de ma SSII et que j'ai réactualisé avant sa diffusion sur Slideshare.
Au sommaire du workshop :
1. Zoom sur le portfolio Spring Source
1. Le cœur du framework Spring : IoC, AOP et support
2. Le support proposé par Spring : persistance, présentation, communication, test, outils …
2. Les fondamentaux
1. Fonctionnement du conteneur léger
2. Les beans Spring
3. Les design patterns rencontrés dans Spring
MarsJUG - Le classpath n'est pas mort, mais presqueAlexis Hassler
En 2009, la mort du classpath a été annoncée. Les classloaders à plat ou hiérarchiques devaient être remplacés par des systèmes modulaires et tous nos problèmes de dépendances devaient se résoudre d'eux-même. Quatre ans plus tard, le classpath vit toujours et pour quelques années encore.
Dans la première partie de cette session, nous reviendrons sur le fonctionnement des classloaders du JDK et les problèmes infernaux posés par le classpath. Nous verrons aussi comment les serveurs d'applications, comme Tomcat, gèrent leur classloaders de façon hiérarchique, afin d'isoler les applications entre elles.
Dans la deuxième partie, nous parlerons de modularité et de son impact sur la gestion des dépendances, à l'exécution des applications. Des solutions existent déjà, comme OSGi et Jigsaw, d'autres émergent, comme JBoss Modules. Nous vous montrerons comment ce dernier fonctionne, dans JBoss AS 7, en autonome, ou même dans Tomcat.
Les versions de Java se suivent et leurs engouements ne se ressemblent pas : la version 8 de Java est probablement celle qui a suscité le plus d’intérêts chez les développeurs. Java 9, au contraire, est la version de Java qui génère le plus de craintes et d’interrogations voir de peurs. Il faut se préparer pour utiliser Java 9 d’autant que Java 10 est déjà là et les versions suivantes vont s’enchaîner. Le but de ce talk est de parcourir les avantages et les intérêts à utiliser ces nouvelles versions mais aussi certaines difficultés possibles lors de la migration.
JEE et JSF : des technologies qui ont effrayé et fait souffrir bon nombre de développeurs ! Elles auront peut être laissé à certains d’entre vous un goût amer mais ont énormément évolué ces dernières années pour finalement devenir légères et productives. Découvrons en quoi ces solutions peuvent vous aider dans le cadre de vos différents projets et ouvrons un œil neuf sur ces technologies d’avenir.
Programme:
- JEE 6 : historique, nouveautés, testabilité.
- JBoss Seam 3 – Framework de contrôle applicatif : context and dependancies injections, événements, Bean validator, restriction des vues.
- JSF 2 – Framework de présentation graphique : page description language, composants composite, PrettyFaces, Ajax 4 JSF, RichFaces, PrimeFaces.
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système JavaDocDoku
Présentation réalisée par Olivier Bourgeat, architecte chez @docdoku, lors du 4ème ApéroTech Toulouse sur les perspectives de l'éco-système Java suite à l'Oracle Code One 2019.
Les versions de Java se suivent et leurs engouements ne se ressemblent pas : la version 8 de Java est probablement celle qui a suscité le plus d’intérêts chez les développeurs. Java 9, au contraire, est la version de Java qui génère le plus de craintes et d’interrogations voir de peurs. Il faut se préparer pour utiliser Java 9 d’autant que Java 10 est déjà là et les versions suivantes vont s’enchaîner. Le but de ce talk est de parcourir les avantages et les intérêts à utiliser ces nouvelles versions mais aussi certaines difficultés possibles lors de la migration.
Il y a quelques années, je bidouillais en JavaScript. Un effet “bling bling” par-ci, un contrôle de saisie par-là. L’essentiel de mon application était écrite en Java et tournait côté serveur.
Mais voilà, Gmail et Google Spreadsheets sont sortis depuis longtemps. On s’attend maintenant à des applications web qui répondent instantanément et qui fonctionnent offline.
Et pour cela, il faut bien plus de code JavaScript qu’avant.
Mais 20 000 lignes de JavaScript pour un site web ? Sérieux ? Dans ce langage sale, qui n’a pas la moitié des outils de Java ?
J’ai appris. Et l’écosystème JavaScript a évolué.
Lors de cette session, je vous dévoilerai comment maintenant j’écris, sans stress, des applications JavaScript complexes.
Java dans Windows Azure: l'exemple de JonasMicrosoft
Jonas, serveur d'application J2EE, a récemment été porté par Bull, avec l'aide de Microsoft, sur Windows Azure. Au-delà de la mixité des environnements Java et Microsoft, cette session démontrera par l'exemple la grande ouverture de Windows Azure à des technologies peu habituées à s'éxécuter en environnement Windows.
Similaire à Soirée OSGi au Paris Jug (14/10/2008) (20)
Embracing Observability in CI/CD with OpenTelemetryCyrille Le Clerc
Discover how observability and OpenTelemetry offer unprecedented solutions for both CI/CD administrators and dev teams to troubleshoot CI platforms and solve much more problems thanks to a vibrant community and a growing ecosystem. We will see with real life CI/CD pipelines using Jenkins, Maven, and Ansible how OpenTelemetry offers unprecedented solutions to troubleshoot software delivery pipelines. How the open source and standard nature of OpenTelemetry enables the emergence of a vibrant ecosystem of OpenTelemetry aware CI/CD tools to observe the entire software supply chain and help DevOps teams solve problems that go way beyond the observability use cases we have in mind.
https://community.cncf.io/events/details/cncf-cloud-native-canada-presents-november-2021-eastern-canadian-cncf-meetup-kubernetes-123-release-update-and-cicd-observability/
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)Cyrille Le Clerc
Fast feedback from monitoring is a key of Continuous Delivery. JMX is the right Java API to do so but it unfortunately stayed underused and underappreciated as it was difficult to connect to monitoring and graphing systems.
Throw in the sin bin the poor solutions based on log files and weakly secured web interfaces! A new generation of Open Source tooling makes it easy to graph java application metrics and integrate them to traditional monitoring systems like Nagios.
Following the logic of DevOps, we will look together how best to integrate the monitoring dimension in a project: from design to development, to QA and finally to production on both traditional deployment and in the Cloud.
Come and discover how the JmxTrans-Graphite ticket can make your life easier.
Monitoring Open Source pour Java avec JmxTrans, Graphite et Nagios - DevoxxFR...Cyrille Le Clerc
Le feedback rapide offert par le monitoring est un element essentiel des bonnes pratiques de Continuous Delivery. Java dispose dans son ecosysteme d'un composant robuste dedie a cela : JMX.
Cependant, la difficulte de raccordement de JMX a des outils de supervision et de graphe a longtemps ete un frein a son adoption.
Jetez aux orties les solutions bancales a base de logs applicatifs ou d'interface web mal protegees, et venez decouvrir une voie ouverte. Une nouvelle generation d'outils Open Source permet de grapher simplement les metriques de vos applications et de les fournir a un systeme de supervision et d'alerte.
Dans une logique DevOps, nous verrons ensemble comment integrer la dimension Monitoring dans un projet : de la conception des metriques par les developpeurs, a l'integration des besoins des equipes Ops et Q&A, en deploiement traditionnel ou dans le Cloud. JmxTrans, Graphite et Nagios, ce tryptique peut vous faciliter la vie, venez decouvrir comment.
L'application demo : http://demo-cocktail.jmxtrans.cloudbees.net
Le code source de l'application demo : https://github.com/jmxtrans/embedded-jmxtrans-samples/tree/master/embedded-jmxtrans-webapp-coktail
Embedded JmxTrans : https://github.com/jmxtrans/embedded-jmxtrans
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...Cyrille Le Clerc
In Memory Data Grids in Action with Oracle Coherence presented to No SQL users.
The "transactions" chapter is missing as it has been rescheduled to another session.
4. La modularité en Java L’existant Les jars Les classloaders hiérarchiques Maven 2 Le futur Java Module System OSGi
5.
6.
7. La modularité en Java L’existant : les classloaders hiérarchiques tomcat-dbcp-6.0.16.jar JVM Classloader jce-provider.jar rt.jar Servlet Engine ClassLoader servlet-api-2.5.jar catalina-6.0.16.jar Web App ClassLoader my-model-1.0.jar my-service-1.0.jar hibernate-core-3.3.0.jar jdom-1.0.jar Web Application Classique
8. La modularité en Java L’existant : les classloaders hiérarchiques tomcat-dbcp-6.0.16.jar JVM Classloader jce-provider.jar rt.jar Servlet Engine ClassLoader servlet-api-2.5.jar catalina-6.0.16.jar Web App ClassLoader my-model-1.0.jar my-service-1.0.jar hibernate-core-3.3.0.jar jdom-1.0.jar Difficile avec JBoss AS
9. La modularité en Java L’existant : les classloaders hiérarchiques tomcat-dbcp-6.0.16.jar JVM Classloader jce-provider.jar rt.jar Servlet Engine ClassLoader servlet-api-2.5.jar catalina-6.0.16.jar Web App ClassLoader my-model-1.0.jar my-service-1.0.jar jdom-1.0.jar hibernate-core-3.3.0.jar Difficile avec Websphere
10. La modularité en Java L’existant : les classloaders hiérarchiques tomcat-dbcp-6.0.16.jar JVM Classloader jce-provider.jar rt.jar Servlet Engine ClassLoader servlet-api-2.5.jar catalina-6.0.16.jar Web App ClassLoader my-model-1.0.jar my-service-1.0.jar hibernate-core-3.3.0.jar Repackaging Tomcat jdom-1.0.jar
11. La modularité en Java L’existant : les classloaders hiérarchiques Web App ClassLoader my-model-1.0.jar my-service-1.0.jar cxf-2.1.jar Spring-2.5.jar Spring-2.0.jar Impossible Il est aujourd’hui impossible de charger deux versions d’un même jar dans une web app ! JVM Classloader Servlet Engine ClassLoader
24. La Plateforme Le réseau de ClassLoaders gui-grand-public-1.9 web-services-1.7 web-services-1.6 domaine-metier-1.3 Audit&logs-1.0 domaine-metier-1.2 dao&cache-1.1 Exemple de graphe de modules
25. La Plateforme Le réseau de Class Loaders web-services-1.6 Audit&logs-1.0 domaine-metier-1.2 Classloader filtrant MANIFEST Export-package : … MANIFEST Import-package … Import − Package : demo.audit;version=1.0.0 Seulement les classes de demo.audit Export − Package : demo.audit;version=1.0.0
29. Assemblage des services OSGI BundleActivator et ServiceTracker Enregistrement du service Dé-enregistrement implicite du service Gestion du cycle de vie du Bundle
30.
31. Assemblage des services OSGI BundleActivator et ServiceTracker Création du ServiceTracker Fermeture du ServiceTracker Gestion du cycle de vie du Bundle Injection du ServiceTracker
32. Assemblage des services OSGI BundleActivator et ServiceTracker Injection du ServiceTracker Résolution du service à chaque utilisation Gestion de l’indisponibilité Le ServiceTracker est intrusif sur le code !
Telecom : SIP, IP Multimedia Subsystem (IMS), Parlay X web services, Websphere : Portal, ESB/Process Server, Telecom Server Weblogic : Integration, Communications Platform Glassfish : GlassfishESB, Sailfin, JBoss : features packs
Pas de gestion de version - On ne peut pas charger plusieurs versions simultanément - l’aspect hiérarchique des packages n’est pas exploité pour décrire la visibilité
Packages pas contraint au runtime : possibilité de charger depuis plusieurs jars les classes d’un même package