Un producto basado en Eclipse es un programa autónomo construido con la plataforma Eclipse. Un producto puede empaquetarse y entregarse opcionalmente en forma de una o varias características, que son simplemente grupos de conectores gestionados como una sola entidad por los mecanismos de actualización de Eclipse.
Los productos incluyen todo el código y los conectores necesarios para ejecutarlos. Esto incluye un entorno de tiempo de ejecución Java (JRE) y el código de la plataforma Eclipse. El código de los conectores, el JRE y la plataforma Eclipse se instalan generalmente con un programa de instalación específico del producto. Los proveedores de los productos son libres de utilizar cualquier programa o herramienta de instalación adecuado a sus necesidades.
Una vez instalado el producto, el usuario lo lanza y se le presenta un entorno de trabajo de Eclipse configurado específicamente para la finalidad soportada por el producto, como puede ser el desarrollo Web, el desarrollo de programas C++ o cualquier otro. La plataforma facilita la configuración de etiquetas, diálogos acerca de, gráficos y pantallas de inicio, por lo que el usuario solo percibe el entorno de trabajo de la plataforma como si fuese la ventana principal propia del producto.
La estructura de directorios de nivel superior de un producto como el que estamos describiendo se parece a la que presentamos a continuación, suponiendo que el producto se llama "AcmeWeb" y se ha instalado en una plataforma Windows:
acmeweb/ acmeweb.exe (ejecutable del producto) eclipse/ (directorio para los archivos de Eclipse instalados) .eclipseproduct (archivo de marcador) eclipse.exe startup.jar configuration/ config.ini jre/ features/ (características instaladas, si las hay) com.example.acme.acmefeature_1.0.0/ feature.xml ... plugins/ com.example.acme.acmefeature_1.0.0/ plugin.xml about.ini about.html about.mappings about.properties acme.png splash.jpg com.example.acme.acmewebsupport_1.0.0/ ... links/ ...
En realidad existen dos formas de definir un producto en Eclipse. El mecanismo preferido consiste en utilizar el punto de extensión de productos (nuevo en Eclipse 3.0). Este punto de extensión permite definir el producto y personalizar sellos personales, como por ejemplo pantallas de inicio, iconos de ventana, etc. El mecanismo más antiguo (utilizado en Eclipse 2.1) utiliza características y, en particular, presupone la existencia de una característica primaria. Internamente, Eclipse 3.0 utiliza el mecanismo del punto de extensión de productos, pero ofrece funciones de compatibilidad que integran las definiciones de legado en el modelo nuevo si es necesario.
Observaremos ambos mecanismos y cómo se utilizan para personalizar un producto. Aunque se utilice el mecanismo del punto de extensión de productos, pueden continuarse utilizando características como forma de agrupar funciones suministradas por el gestor de actualizaciones. En los próximos temas supondremos que el conector contiene grupos de características además de definiciones de producto.