Début janvier 2010, SpringSource a annoncé que dm Server entrerait dans le projet Eclipse, ouvrant ainsi le premier chapitre de la nouvelle année de la modularisation Java. OSGi continue de prospérer au cours du mois dernier, signalant que 2010 sera l'année de la modularité Java.
Actualités d'InfoQ : Dernières avancées sur la modularisation Java en janvier 2010. (Titre original : "Bundle.update : Une année de modularité" http://www.infoq.com/cn/news/2010/01/year-of-modularity )
Recommandation de l'éditeur 51CTO : Démarrer avec OSGi
dm Server migré vers Eclipse
La plus grande nouvelle est sans aucun doute la proposition du projet Eclipse Virgo (voir les rapports liés au 51CTO ici). La version actuelle de dm Server est la 2.0.0, ce qui signifie que la prochaine version 2.1 sera développée et publiée sous Eclipse.
Une différence significative entre le projet existant et la nouvelle proposition est le protocole. Cela signifie que dm Server sera basé sur EPL à l'avenir au lieu de la GPL actuelle, ce qui est un accord plus propice aux pratiques commerciales. L’objectif est de dynamiser les contributions de la communauté tout en encourageant cette approche du développement logiciel.
Les systèmes d'entreprise actuels OSGi et dm Server ont suscité l'intérêt de nombreuses personnes et l'innovation autour d'eux n'a jamais cessé. Cet intérêt est particulièrement élevé parmi les premiers utilisateurs et les projets qui nécessitent la conformité aux fonctionnalités du module dynamique de la plateforme de services OSGi. Mais pour les équipes de développement traditionnelles (qui souhaitent simplement créer des applications d'entreprise le plus rapidement possible avec de moins en moins de problèmes), le coût actuel de l'adoption d'OSGi d'entreprise peut dépasser ses avantages à court terme. Ce problème doit être pris en compte avant que l'OSGi d'entreprise ne devienne la norme de facto pour les méthodes de développement d'applications d'entreprise grand public.
Publication d'un nouveau livre présentant OSGi et Equinox
Un nouveau livre présentant OSGi et Equinox a été publié cette semaine. Il s'agit également du premier livre de la série Eclipse RunTime. Ce livre présente comment créer des applications Java modulaires via OSGi. Bien que les exemples du livre soient basés sur Equinox, le livre est également utile aux développeurs qui souhaitent développer sur d'autres plates-formes OSGi.
Le livre implémente également un exemple de projet Toast du début à la fin, dans le but d'ouvrir la voie aux livres suivants de la série grâce à un exemple de code spécifique (afin que les développeurs qui ont lu ce livre puissent rapidement démarrer d'autres livres). Ce livre est divisé en quatre parties : la première est un aperçu d'OSGi, suivi d'un guide pour créer un exemple Toast, la troisième partie explore les détails d'OSGi en profondeur, et enfin la bibliographie.
Développement des services à distance ECF terminé
Récemment, le projet Eclipse Communications Framework a implémenté la spécification OSGi Remote Services, qui peut connecter les services OSGi sur des machines virtuelles via une variété de protocoles hétérogènes, notamment REST, WS-*, JMS, XMPP, Skype et une implémentation générique ECF.
Non seulement cela, mais il existe une variété de mécanismes de détection différents, tels que ZeroConf, SLP et la détection statique basée sur les fichiers.
L'implémentation Apache Felix d'OSGi Remote Services a également été publiée (Apache CXF), qui est également l'implémentation de référence d'OSGi. Mais cette implémentation se concentre sur l'accès via la couche de transport WS-*, tandis qu'ECF est indépendante de la couche de transport. Quelle que soit l'implémentation, l'API utilisée par les utilisateurs finaux et les développeurs est la même. Cela permet aux utilisateurs de remplacer l'implémentation au moment de l'exécution.
Les travaux du groupe d’experts d’entreprise sont presque terminés
Récemment, Peter Kriens a annoncé que le groupe d'experts OSGi Enterprise était sur le point d'être achevé et que la version 4 du groupe d'experts Enterprise a également été publiée il n'y a pas longtemps, qui fournit un grand nombre de fonctionnalités Java EE. Nous avons des raisons de nous attendre à ce que la version finale soit publiée en mars de cette année, date à laquelle se tiendront l'OSGi DevCon et l'EclipseCon.
EEG fournira de nouveaux mécanismes de requête pour les recherches de style JNDI via OSGi, utilisera JMX pour gérer le runtime OSGi, l'accès aux bases de données via JTA, JPA et DataSources, et assurera également la gestion des services distants et de l'architecture des composants de service. De plus, un nouveau bundle de déploiement : WAB sera publié, afin que les bundles d'applications Web puissent être installés dans des conteneurs tels que les WAR. InfoQ fournira une couverture approfondie des résultats de l'EEG au fur et à mesure de leur publication.
WebSphere publie la version Alpha
IBM WebSphere est développé sur la base d'OSGi depuis un certain temps et a récemment publié une version Alpha des applications OSGi. L'application est basée sur Apache Aries et inclut un conteneur OSGi Blueprint (similaire à Eclipse Gemini proposé par SpringSource). Ces projets espèrent tous résoudre certains des problèmes rencontrés par le JNDI et la JTA, qui font également l'objet de l'Enterprise Expert Group.
Ces conteneurs étendent les limites du runtime OSGi pour accueillir plusieurs applications. À l'avenir, les applications seront divisées via les frameworks OSGi Nested (de la même manière que les serveurs d'applications Web divisent WAR). Mais contrairement aux serveurs d'applications Web (WAR est complètement séparé et ne peut pas partager de code), WAB peut intégrer le runtime OSGi, et vous pouvez ensuite partager du code et des services aussi facilement qu'en utilisant des bundles et des services privés.
Tycho construit OSGi en utilisant Maven
Récemment, Sonatype a publié Tycho 0.6.0, utilisant la nouvelle version de Maven 3. Tycho est un ensemble de constructeurs Maven qui peuvent déduire des dépendances basées sur OSGi Manifest.MF au lieu de supposer que des dépendances existent dans le POM Maven. Cela vous permet de créer des bundles OSGi soit en premier POM (lorsque le manifeste est généré automatiquement), soit en premier.
Bien que la plupart des développeurs OSGi qui utilisent Maven (comme les développeurs sous Apache Felix) soient plus habitués à la méthode de développement POM-first, la méthode de développement Manifest-first est un complément à celle-ci et peut être plus avancée via Eclipse PDE (Plug-in Development Environnement). Développez facilement des bundles OSGi.
Parmi de nombreux projets Eclipse, EGit et le projet d'incubation Tigerstripe sont construits en utilisant Maven au lieu de Ant.
Le projet Maven évolue vers Maven 3, qui a subi une refactorisation approfondie et utilise Google Guice. De plus, le succès du dépôt Maven (géré par Sonatype) prouve également que le développement Java avec de multiples dépendances n'est pas difficile. De plus en plus de personnes utilisent également les référentiels de bundles OSGi (tels que les référentiels OBR et SpringSource), et ils peuvent être distribués entre différents fournisseurs. Une étude exploratoire est actuellement en cours sur le thème de la fourniture d'un ensemble unifié de référentiels OSGi (utilisés par Tycho avec l'aide de Nexus). Les référentiels expérimentaux se trouvent sur bundles.sonatype.org et osgi.sonatype.org. L'objectif futur est de fournir un accès à plusieurs formats (OBR, P2, etc.) afin que l'utilisation des bundles OSGi soit aussi simple que les JAR Maven.
Agile et chic
Si vous obtenez uniquement des bundles OSGi, l'utilisation de l'analyseur de bundle OSGi serait un meilleur choix. Récemment, Paremus a publié Nimble, un analyseur permettant d'obtenir et de télécharger des bundles OSGi.
Paremus lie POSH (Paremus OSGi Shell) à l'analyseur Nimble. De cette façon, vous pouvez utiliser le même ensemble de commandes pour initialiser et gérer le framework OSGi général (cela simplifiera les tests de Felix, Equinox et Knopflerfish), et avec l'aide de Nimble, vous pourrez démarrer rapidement le runtime OSGi, comme Dave Savage a dit de raconter. Vous pouvez installer et exécuter des applications Web OSGi basées sur Spring via les deux lignes de commandes suivantes :
posh -kc "repos -l springdm;add org.springframework.osgi.samples.simplewebapp@active " open http://localhost:8080/simple-web-app/ Les lecteurs intéressés peuvent en savoir plus sur Nimble sur DZone Plus d'informations.
Groupe d'utilisateurs OSGi UK et OSGi DevCon Londres
Le groupe d'utilisateurs OSGi UK est florissant et compte plus de 100 membres. La conférence la plus récente vient de Marcel Offerman (de Luminis) et Graham Charters (d'IBM). Des vidéos et du matériel liés à la conférence seront publiés sur son site Web dans quelques jours.
La première partie de la conférence était une introduction au projet d'incubation Apache ACE, qui vise à simplifier l'utilisation d'OSGi sur plusieurs appareils, y compris à distance.
Dans le processus d'assemblage de logiciels à partir de composants réutilisables, le problème le plus difficile à résoudre est de savoir comment déployer le logiciel sur un nombre croissant d'appareils connectés. La situation s'aggrave si la pile logicielle sur l'appareil est hétérogène, nécessitant différents composants en même temps. Cette conférence nous présente comment distribuer des composants logiciels à différents types d'appareils basés sur Apache ACE (une solution open source basée sur OSGi), couvrant tout, des téléphones mobiles aux nœuds dans le cloud.
Le projet Apache Ace est basé sur un logiciel offert par Luminis au début de l'année dernière. Le logiciel a été appliqué à de nombreux projets réels, tels que les systèmes radar embarqués, les équipements à rayons X sur le terrain, la mise à jour du logiciel CMS et la gestion des protocoles, ainsi que la gestion des bagages dans les aéroports. systèmes.
La deuxième conférence a présenté les services à distance OSGi (déjà inclus dans OSGi 4.2) et la manière dont ils interagissent avec l'architecture de composants de service (SCA), en utilisant Apache Tuscany comme exemple.
Concepts de modularisation Java et résumé de la situation actuelle
Résumé complet des exemples d'applications OSGi et WebSphere
Le JSR 294 de Sun s'est arrêté alors que les serveurs d'applications misent sur OSGi
Un aperçu des avantages et des principes de mise en œuvre de la programmation modulaire pour répondre aux questions : JSR 294, visibilité et convivialité.
OASIS a travaillé sur le développement de la spécification SCA (Service Component Architecture). SCA fournit un modèle de programmation SOA hétérogène qui couvre de nombreuses technologies d'implémentation (EJB, BPEL, C++, COBOL, etc.), liaisons (services Web, JMS, IIOP, etc.) et politiques (WS-Policy, etc.).
La conférence a donné une brève introduction aux technologies de services à distance OSGi et d'architecture de composants de service, puis a expliqué comment intégrer les deux afin que les applications OSGi puissent accéder à plusieurs technologies d'implémentation, liaisons et cadres politiques SCA via les services à distance.
Les prochains calendriers des conférences OSGi DevCon London et JAX London ont été annoncés. L'offre se termine aujourd'hui, mais les membres du groupe d'utilisateurs OSGi UK peuvent bénéficier de réductions supplémentaires.
Résumer
Il est évident que de plus en plus de grands systèmes de serveurs adopteront OSGi, et en même temps OSGi commencera également à pénétrer les systèmes de petite et moyenne taille. À mesure que les outils de construction continuent d'évoluer, les développeurs peuvent développer des bundles OSGi dans divers IDE ; en même temps, de nouveaux référentiels pour le partage de bundles OSGi apparaissent également et le développement d'applications Java modulaires deviendra de plus en plus facile. Sur cette base, Kirk Knoernschild affirme : 2010 sera l'année de la modularité Java.