Eclipse es una plataforma diseñada en su totalidad para construir un conjunto de herramientas integradas para el desarrollo Web y de aplicaciones. En cuanto a diseño, la plataforma en sí no proporciona grandes ventajas para el usuario final. El valor de la plataforma está en que estimula el desarrollo rápido de características integradas basándose en un modelo de conectores.
Eclipse proporciona un modelo de interfaz de usuario (UI) común para trabajar con las herramientas. Está diseñada para ejecutarse en múltiples sistemas operativos, a la vez que proporciona una sólida integración con cada SO subyacente. Los conectores pueden programar para las API portables de Eclipse y ejecutarse sin modificaciones en cualquiera de los sistemas operativos soportados.
En el núcleo de Eclipse hay una arquitectura que permite descubrir conectores de manera dinámica. La plataforma maneja la logística del entorno básico y proporciona un modelo de navegación estándar para el usuario. De esta manera, cada conector se puede centrar en la realización óptima de un pequeño número de tareas. ¿Qué tipo de tareas? Definir, probar, crear animaciones, publicar, compilar, depurar, crear diagramas... el límite lo pone usted.
La plataforma Eclipse define una arquitectura abierta, en la que cada equipo de desarrollo de conectores puede centrarse en su especialidad. Dejemos que los expertos en depósitos construyan los componentes de fondo y que los expertos en utilización construyan herramientas para el usuario final. Si la plataforma está bien diseñada, se pueden añadir nuevas características y nuevos niveles de integración significativos sin que las demás herramientas queden afectadas.
La plataforma Eclipse utiliza el modelo de un entorno de trabajo común para integrar las herramientas desde el punto de vista del usuario final. Las herramientas que usted desarrolla se pueden conectar en el entorno de trabajo mediante ganchos bien definidos llamados puntos de extensión.
El código de tiempo de ejecución de la plataforma subyacente utiliza el mismo modelo de extensión para permitir a los desarrolladores de conectores añadir soporte para tipos de archivo adicionales e instalaciones personalizadas como, por ejemplo, servidores Web, servidores de trabajo en grupo y depósitos. Los artefactos de cada herramienta, como son los archivos y otros datos, se coordinan mediante un modelo de recursos comunes de la plataforma.
La plataforma proporciona a los usuarios un procedimiento común para trabajar con las herramientas, así como una gestión integrada de los recursos que crean con los conectores.
Los desarrolladores de conectores también obtienen ventajas de esta arquitectura. La plataforma gestiona la complejidad de diferentes entornos de tiempo de ejecución, como sistemas operativos distintos o entornos de servidores de trabajo en grupo. Los desarrolladores de conectores pueden centrarse en sus tareas específicas en lugar de estar pendientes de estos aspectos de integración.
La plataforma Eclipse está estructurada en forma de subsistemas implementados en uno o más conectores. Los subsistemas están construidos tomando como base un pequeño motor de tiempo de ejecución.
Los subsistemas definen puntos de extensión para añadir un determinado comportamiento a la plataforma. La tabla siguiente describe los principales componentes de tiempo de ejecución de la plataforma, que se han implementado como uno o más conectores.
Código de tiempo de ejecución de plataforma |
Define el modelo de puntos de extensión y conectores. Descubre los conectores dinámicamente y mantiene la información en un registro de la plataforma. Los conectores se inician cuando es necesario según la operación que efectúa el usuario en la plataforma. |
Gestión de recursos (área de trabajo) |
Define una API para crear y gestionar los recursos (proyectos, archivos y carpetas) que se producen mediante las herramientas y se conservan en el sistema de archivos. |
UI de entorno de trabajo |
Implementa el centro de control del usuario para navegar por los recursos y utilizar los conectores de las herramientas. Define puntos de extensión para añadir componentes de la UI como las vistas o las acciones de menú. Incluye kits de herramientas adicionales (JFace y SWT) para construir interfaces de usuario. |
Sistema de ayuda |
Define puntos de extensión para que los conectores puedan proporcionar ayuda u otra documentación en forma de libros por los que se puede navegar. |
Soporte de equipo |
Define un modelo de programación en equipo que permite gestionar los recursos y crear versiones de ellos. |
Soporte de depuración |
Define un modelo de depuración independiente del lenguaje y clases de UI que permiten construir depuradores y lanzadores. |
Tal como sale de la caja, o de la Web, la plataforma básica es un entorno de desarrollo integrado (IDE) para cualquier cosa (y para nada en particular).
Son los conectores los que determinan la función definitiva de la plataforma. Este es el motivo por el que el SDK de Eclipse se suministra con conectores adicionales para mejorar la función del SDK.
Los conectores que usted añada pueden proporcionar soporte para editar y manipular tipos de recursos adicionales, como pueden ser los archivos Java, los programas C, los documentos Word, las páginas HTML y los archivos JSP.