Mi pregunta es bastante simple: ¿Cuáles son las características de una aplicación que fuerza al desarrollador a explotar el sistema OSGI? ¿Cuáles son los casos cuando tal utilidad no es necesaria?¿Cuándo debería usar una plataforma como OSGI y cuándo debe evitarse?
Respuesta
que acaba de publicar el siguiente enlace a otra pregunta (What does OSGi solve), pero creo que aquí se trata de una aún mejor ajuste. Hal Hildebrand escribió un blog sobre por qué y cuándo cree que OSGi está ayudando a su desarrollo/producto.
La esencia principal de la publicación (bastante larga) es que ayuda especialmente cuando se trata de proyectos empresariales complejos de larga ejecución. En particular en el largo plazo, el beneficio de tener una estructura forzada pagará, pero read for yourselves
EDITAR: enlace roto fijo.
Uso OSGi si quieres un poco de:
- un muy modular estructura de código (caso extremo: cada instalación tiene un conjunto diferente de módulos/plugins)
- a arranque/parada/actualización un módulo sin parar el resto de la aplicación
Si escribe un navegador web en Java, ¿usaría OSGI? – Bubba88
@ Bubba88 Como persona técnica, las limitaciones generalmente me son dadas, no las elijo en mi trabajo. Si escribiera esto por diversión, podría elegir; entonces elegiría según "¿quiero aprender OSGI?". Así que mi respuesta sería ** sí **, porque OSGI es una tecnología muy prometedora que ya ha ganado amplia adopción. – KLE
@ Bubba88 - ¡sí OSGi es una excelente opción para un navegador web! Los navegadores necesitan una arquitectura extensible con soporte para complementos que puedan ser aportados por terceros en un momento posterior; eso es exactamente lo que OSGi te brinda. –
- 1. Cuándo usar OSGi EventAdmin y cuándo no?
- 2. ¿Cuándo debe usar JCR y cuándo debe usar JPA/RDBMS?
- 3. ¿Cuándo debería usar Silverlight y cuándo XNA?
- 4. ¿Cuándo debería usar TCP_NODELAY y cuándo TCP_CORK?
- 5. ¿Cuándo debería usar Import-Package y cuándo debería usar Require-Bundle?
- 6. ¿Cuándo debería usar require() y cuándo usar define()?
- 7. ¿Cuándo debería usar _aligned_malloc()?
- 8. ¿Cuándo debería usar stdClass y cuándo debería usar una matriz en php oo?
- 9. ¿Cuándo debería usar CompiledQuery?
- 10. ¿Cuándo debería usar ConcurrentSkipListMap?
- 11. ¿Cuándo debería usar GC.SuppressFinalize()?
- 12. ¿Cuándo debería usar semáforos?
- 13. Cuándo debería usar SynchronousQueue
- 14. ¿Cuándo debería usar std_logic_vector y cuándo debería usar otros tipos de datos?
- 15. ¿Cuándo debería usar los parámetros?
- 16. ¿Cuándo debería usar async/await y cuándo no?
- 17. En SQL Server, ¿cuándo debería usar GO y cuándo debería usar punto y coma?
- 18. ¿Cuándo debería usar doctrine ORM y cuándo zend-db-table?
- 19. C# ¿Cuándo debería usar List y cuándo debería usar el arraylist?
- 20. ¿Cuándo y por qué debería usar TStringBuilder?
- 21. ¿Cuándo debería usar html5 sessionStorage?
- 22. ¿Cuándo debería usar IEnumerable y GetEnumerator?
- 23. Cuándo utilizar ServiceLoader sobre algo como OSGi
- 24. ¿Cuándo debería usar remove_reference y add_reference?
- 25. En Objective-C, ¿cuándo debería usar métodos de clase y cuándo debería usar métodos de instancia?
- 26. C#: ¿Cuándo debería usar TryParse?
- 27. ¿Cuándo debería usar "use" y cuándo "require" y cuándo "AUTOLOAD" en perl [buena práctica de programación]?
- 28. ¿Cuándo deberían evitarse los métodos de extensión?
- 29. ¿Cuándo debería usar git add?
- 30. ¿Cuándo debería usar un analizador?
+1 Gracias por los enlaces – KLE
me alegro de que pueda ser de alguna ayuda –
El vínculo "leer por ustedes mismos" está roto. Copia de la máquina de Wayback: http://web.archive.org/web/20120720010714/http://www.tensegrity.hellblazer.com/2009/10/all-we-need-to-do-is-take-these- lies-and-make-them-true-somehow.html – Gilead