En el 2014, en un evento organizado por ACIS (Asociación Colombiana de Ingenieros de Sistemas), Carlos Ruiz nos habla de como, junto a Heng Sin, ambos fundadores del proyecto IDempiere, logran sentar los cimientos de lo que hoy es la arquitectura de la plataforma de software IDempiere, cuya visión de ambos consistía en lograr separar o desacoplar el núcleo de la plataforma de todas y cada una de las funcionalidades de negocio o de gestión administrativa existentes, así como de aquellas nuevas funcionalidades de negocio que se pudiesen crear en adelante, de esta forma lo que se buscaba era contar con un núcleo independiente, que potenciado por su Diccionario Activo o Diccionario de la Aplicación sirviese de marco de trabajo (framework) para la construcción rápida de módulo(s) de cualquier tipo y que estos módulos pudiesen estar desacoplados a través de plugins (componentes) capaces de ser instalados y desinstalados con facilidad sin alterar o desestabilizar el núcleo de la plataforma ERP.
OSGI (el sistema de módulos dinámicos para Java)
OSGI es una de las tecnologías de software distribuido que más impacto está causando últimamente. Prueba de ello es que proyectos open source tan populares como Eclipse o la framework de aplicaciones empresariales Java EE Spring han adoptado esta tecnología como base de sus productos. La razón principal para ello es que OSGi define una infraestructura extremadamente eficiente para el desarrollo de aplicaciones basadas en servicios (SOA) dentro de una máquina virtual Java (JVM).
Para OSGi, un componente software es una librería o aplicación que puede ser dinámicamente descubierta y usada por otros componentes.En el caso de IDempiere, los plugins (componentes) formarían parte de los Bundles.


OSGi permite la gestión dinámica de paquetes. Esta dinamicidad solo atañe a las clases y no implica la gestión dinámica de las aplicaciones. Como remedio, un paquete expone sus funciones (servicios) a los otros paquetes y, a la inversa, puede usar funciones (servicios) ofrecidos por los otros paquetes. Las funciones están relacionadas con el nivel de instancia: corresponden a clases en ejecución., puedes conocer un poco más aquí
Apache Felix Console
Apache Felix Web Console es una herramienta simple para inspeccionar y administrar instancias del framework OSGi utilizando su navegador web favorito.
En el caso puntual de IDempiere nos permite añadir, actualizar, eliminar, detener, resetear, etc plugins o módulos desarrollados en el ERP, puedes encontrar mayor información en el siguiente artículo
