Quelqu’un at-il trouvé OSGi utile dans les applications d’entreprise?

Quelqu’un a-t-il déployé une application d’entreprise dans OSGi et l’a trouvée utile?

Je peux voir les avantages, la modularité forcée, les bonnes définitions de dépendance, etc. Mais cela semble être principalement des améliorations liées à la construction.

Quelqu’un at-il trouvé utile de remplacer dynamicment un module existant? Nous avons tendance à diviser notre application par processus et, pour être franc, il n’est pas si difficile de démarrer une nouvelle instance de l’application avec des bibliothèques mises à jour. OSGi serait utile pour cela?

Quelle est la fiabilité du remplacement d’un module? Je suis frappé par le fait que, si le processus est très chargé et qu’il y a beaucoup de travail, le remplacement d’un module en cours de fonctionnement est source de danger.

Je viens de bloguer sur la raison pour laquelle nous ne sums pas allés avec OSGi

En résumé, je pense que les fondements d’OSGi sont solides, mais il n’était pas conçu pour le développement d’applications de masse. Il introduit des frictions dans le processus de développement / déploiement qui est déjà semé d’embûches. J’aimerais voir les pistes de spécifications OSGi se concentrer davantage sur le personnage de développeur / utilisateur d’OSGi pour le rendre invisible au processus de développement. Je suis également consterné par le fait que la JVM n’a toujours pas de module standard transparent.

La plupart de nos applications sont des applications Web.

Nous avons un client OSGi épais qui collecte des informations biomésortingques. Photographies et empreintes digitales par numérisation de cartes d’empreintes digitales, actuellement.

L’avantage d’OSGi est que nous pouvons mettre à jour les plug-ins à partir d’un site Web central, plutôt que d’utiliser un processus de désinstallation / installation. Notre client lourd sera présent dans plus de 100 sites aux États-Unis, ce qui était important pour nous.

Je travaille dans un environnement télécom. Quelque chose comme OSGi nous sera très utile. Nous déployons des applications sur des clients qui ne peuvent pas se déconnecter sans perdre de revenus. Ils traitent des milliers d’appels par seconde. À l’heure actuelle, ils doivent effectuer les mises à jour dans leur fenêtre de maintenance pour intégrer de nouveaux correctifs ou mises à jour.

Si nous pouvons fournir des correctifs et des améliorations en tant que déploiement à chaud, cela sera très bénéfique. Bien sûr, il existe un facteur de risque et des efforts de test supplémentaires avec un test de trafic simulé avant que nous puissions le faire.

OSGi ne concerne pas uniquement les mises à jour dynamics, il est utile pour des choses comme la gestion des versions pour garantir que la bonne version est sélectionnée dans un environnement complexe.

Nous commençons à examiner OSGi, je posterai des mises à jour si je trouve quelque chose de plus intéressant.


Nous l’utilisons dans un grand télécom. Nous l’avons en production depuis 2 ans et nous continuons à append des paquets, nous en avons maintenant environ 110.

Les opérateurs sont ravis du contrôle fin que cela leur donne: ils peuvent commencer à arrêter des fonctionnalités simples et à les surveiller. Théoriquement, nous pourrions également déployer une nouvelle version en production, mais dans la réalité, nous utilisons cette fonctionnalité uniquement lors des tests et de la préproduction.

Notre architecture de brosse large est basée sur celle-ci: http://servicemix.apache.org/home.html

Notre principal problème est toujours d’essayer d’utiliser le framework Java standard dans osgi. Le deuxième problème est la gestion des importations / exportations de lots elle-même. Nous utilisons le plugin maven.

Dans l’ensemble, nous sums satisfaits de ce choix, mais vous devez tenir compte de deux choses: 1. Êtes-vous prêt à vous battre avec un framework Java que vous souhaitez append? 2. Êtes-vous assez discipliné pour ne pas gâcher votre dépendance?