8
votes

Exemple de travail pour un service OSGI distant

Je suis nouveau à la programmation avec OSGI. Quelqu'un peut-il me fournir un exemple de travail d'une invocation de service OSGI client / serveur.

J'ai essayé de l'avoir acheté pendant les 2 dernières semaines sans aucun succès.

Mon service est découvert et exécuté par une instance Eclipse dans la même machine, mais lorsque j'essaie la même chose à partir d'une autre machine, elle échoue.

Toute aide sera appréciée.

Merci.


0 commentaires

5 Réponses :


9
votes

dans la plate-forme OSGI (version 4 version 4.1) Les services découverts via le registre des services OSGI sont locaux services disponibles uniquement dans une instance de framework unique OSGI (c'est-à-dire une seule JVM). Vous ne pouvez pas vous attendre à exécuter un service OSGI en cours d'exécution sur une machine différente.

Si vous souhaitez appeler des services OSGI sur plusieurs instances framework (c'est-à-dire plusieurs machines JVMS / multiples), vous devez consulter la spécification Distributed OSGI (RFC 119) qui fera partie de Spécification OSGI à venir (version 4 version 4.2) avec CXF en tant que implémentation de référence .

mise à jour: Une autre façon d'appeler les services à distance OSGI consiste à utiliser R-Osgi < / a>. C'est un middleware qui fournit un moyen presque transparent d'accéder à des services sur des plates-formes OSGI distantes.


1 commentaires

La page CXF a un tas d'échantillons au bas de la page.



2
votes

sauf si vous jouez avec les implémentations de CXF ou de l'OSGI distribuées de CXF ou d'ECLIPSE, il n'y a rien de lié à la télécommande à Osgi. Vous devriez pouvoir effectuer des travaux de mise en œuvre à distance entre 2 processus basés sur l'OSGI.

Ce que je vais dire, c'est que vous aurez probablement des problèmes de chargeuse de classe si vous essayez d'utiliser RMI ou l'un des modèles RPC disponibles dans les télécommandes du printemps. Ceci est solvable, mais nécessite une bonne compréhension des chargeurs OSGI et de classe.

Votre code fonctionne-t-il si vous l'exécutez à l'extérieur de Osgi? Utilisez-vous un pare-feu? Pouvez-vous exécuter un service réseau sur votre PC visible vers d'autres PC sur le réseau?

Comme décrit, le problème semble plus lié au réseau que celui de OSGI.

En outre, vous n'avez pas mentionné quel échec vous obtenez lors de la course à travers différents PC.


0 commentaires


1
votes

La plate-forme de Riena de la Fondation Eclipse fournit à Osgi Services distants en publiant les services en tant que service Web points de terminaison.


0 commentaires

1
votes

Peut-être que les réponses doivent être mises à jour, car elles ne sont plus valides.

Il y a maintenant des services à distance OSGI disponibles, vous pouvez en lire à ce sujet dans le chapitre 100 de la spécification de l'entreprise OSGI. Il existe deux implémentations principales: Eclipse ECF et Apache CXF. Il y a un bon exemple pour ECF ici


0 commentaires