Ma question est assez simple: Quelles sont les fonctionnalités d'une application qui obligent le développeur à exploiter un système similaire à OSGI? Quels sont les cas, quand une telle utilité est inutile?Quand devrais-je utiliser une plate-forme comme OSGI et quand faut-il l'éviter?
Répondre
Je viens posté le lien suivant à une autre question (What does OSGi solve), mais je pense qu'il est ici un encore mieux. Hal Hildebrand a écrit un blog sur pourquoi et quand il pense qu'OSGi aide votre développement/produit.
L'essentiel de la publication (plutôt longue) est qu'elle aide en particulier dans le cas de projets d'entreprise complexes à long terme. En particulier à long terme, l'avantage d'avoir une structure imposée paiera, mais read for yourselves
EDIT: lien cassé fixe.
Utilisez OSGI si vous voulez un peu de:
- une très modulaire structure du code (cas extrême: installer chaque a un autre ensemble de modules/plugins)
- à marche/arrêt/mise à niveau un module sans arrêter le reste de l'application
Si vous écrivez un navigateur Web en Java, utiliseriez-vous OSGI? – Bubba88
@ Bubba88 En tant que technicien, les contraintes me sont généralement données, je ne les choisis pas dans mon métier. Si j'écrivais ça pour m'amuser, je pourrais choisir; alors je choisirais selon "est-ce que je veux apprendre OSGI?". Donc ma réponse serait ** oui **, car OSGI est une technologie très prometteuse qui a déjà été largement adoptée. – KLE
@ Bubba88 - oui OSGi est un excellent choix pour un navigateur web! Les navigateurs ont besoin d'une architecture extensible avec prise en charge des plugins qui peuvent être apportés par des tiers à un moment ultérieur; c'est exactement ce que vous donne OSGi. –
- 1. Quand utiliser POJO et Quand utiliser SLSB
- 2. Quand utiliser l'activateur et quand utiliser la méthode d'usine?
- 3. Quand utiliser AsyncOperation et AsyncOperationManager
- 4. Quand utiliser Page.DataBind() et Control.DataBind()?
- 5. Pourquoi et quand utiliser LINQ?
- 6. Comment savoir quand utiliser un analyseur XML et quand utiliser ActiveResource?
- 7. Quand utiliser reinterpret_cast?
- 8. CompositeWPF: EventAggregator - quand utiliser?
- 9. C# Quand dois-je utiliser List et quand devrais-je utiliser arraylist?
- 10. quand utiliser un singleton?
- 11. quand utiliser une autre distribution Python?
- 12. Quand utiliser WCF et quand utiliser les services de données ADO dans les sites Web ajax?
- 13. PHP et Postgres: Visualiser vs SELECT, quand utiliser une vue?
- 14. Quand utiliser Server.Transfer sur PostBackURL?
- 15. Quand utiliser avec (...) {...} en C#?
- 16. Quand utiliser une grille et quand utiliser un répéteur sur les lignes d'une table pour afficher des données tabulaires?
- 17. Quand utiliser SQLITE_TRANSIENT vs SQLITE_STATIC?
- 18. Quand dois-je utiliser uncaught_exception?
- 19. Quand utiliser « auto » en Ruby
- 20. Quand utiliser la concurrence pessimiste?
- 21. Quand utiliser les vues de la base de données et quand?
- 22. PHP/Joomla Quand utiliser des références
- 23. Sous-classe d'un UIViewController, quand et quand ne pas
- 24. SQL Quand utiliser quel type de données
- 25. Quand devrais-je utiliser une bibliothèque de framework javascript?
- 26. Quand et comment initialiser ViewState?
- 27. Quand utiliser extern "C" en C++?
- 28. Quand utiliser MVP dans une application Windows Forms .net?
- 29. Quand faut-il utiliser <%# ... %> et <%= ... %>?
- 30. Quand écrire une application Web et quand écrire une application de bureau?
+1 Merci pour les liens – KLE
content que je puisse être utile –
Le lien "lisez par vous-même" est cassé. Copie de wayback machine: http://web.archive.org/web/20120720010714/http://www.tensegrity.hellblazer.com/2009/10/all-we-need-to-do-is-take-these- lie-et-fait-les-vrai-en quelque sorte.html – Gilead