Control de la política de actualización de Eclipse

La característica Eclipse Update (actualización) permite a los usuarios buscar actualizaciones de las características instaladas actualmente. Para cada característica instalada, Update utiliza el URL incorporado para conectarse al servidor remoto y buscar versiones nuevas. Si hay actualizaciones, Eclipse permite a los usuarios iniciar el procedimiento de instalación. Después de realizar la transferencia e instalar e iniciar la plataforma, la nueva versión de la característica estará preparada para utilizarla.

En empresas que cuentan con muchos usuarios del mismo producto basado en Eclipse (generalmente un de tipo comercial), este modelo puede causar varios problemas:

  1. Las actualizaciones de productos muy grandes (por ejemplo, conectores de 500+) también son grandes. La idea de que cientos de desarrolladores bajen individualmente actualizaciones de 500MEG en su máquinas individuales puede no ser del agrado de los equipos de soporte de I/T. Además del impacto sobre el ancho de banda, las peticiones de transferencia de este tipo pueden fallar, conduciendo a intentos repetidos y al aumento del tiempo de inactividad de los desarrolladores.
  2. Algunas empresas expresan explícitamente su deseo de que los desarrolladores no bajen directamente actualizaciones de Internet. Por ejemplo, pueden configurar un equipo de soporte local que puede no estar preparado para manejar las peticiones relacionadas con la versión del producto ya disponible en el sitio de actualizaciones del proveedor. Puede que deseen restringir las actualizaciones y arreglos a una lista aprobada internamente. En un plano ideal, realizarían esta acción configurando sitios de actualizaciones de 'proxy' en la LAN (detrás del cortafuegos).
  3. Una vez establecidas las actualizaciones en los sitios de proxy como se ha indicado, los administradores necesitan un modo de que los usuarios sepan que existen actualizaciones disponibles.

2. Política de actualizaciones al rescate

2.1 Soporte para crear sitios de actualizaciones locales (proxy)

El primer paso de un administrador de producto consistirá en configurar un sitio de actualizaciones locales de Eclipse en un servidor conectado a la LAN de la empresa (detrás del cortafuegos). El sitio de actualizaciones será un subconjunto del sitio de actualizaciones del producto en Internet, ya que contendrá sólo las características y conectores relacionados con las actualizaciones que la empresa desea aplicar por el momento. Técnicamente, este sitio será un sitio habitual de actualizaciones de Eclipse con el archivo site.xml y archivadores de característica y conector.

Los administradores construirán este sitio de dos formas:

  1. Los equipos de soporte del producto crearán un archivo zip del sitio de actualizaciones fácilmente disponible para esta finalidad determinada. Los administradores deberán simplemente bajar el archivo zip de la página Web de soporte del producto utilizando la herramienta elegida y descomprimirlo en el servidor local. Este procedimiento resulta de utilidad para archivos zip de grandes dimensiones que requieran gestores de transferencia modernos y reiniciables (aquellos que pueden reanudar la transferencia en el punto en que se interrumpió en caso de problemas de conexión).
  2. Eclipse Update proporciona una herramienta para reflejar por completo los sitios de actualizaciones remotos o para que los administradores puedan seleccionar actualizaciones y arreglos para bajarlos. Esta posibilidad de reflexión estará completamente automatizada y simplificará en gran medida la tarea del administrador, pero se basa en el soporte de conexión de red de Update.

2.2 Control de política de actualización común

Dado que las características tienen el URL del sitio de actualizaciones incorporado al manifiesto, no tienen conocimiento de los sitios de actualizaciones locales configurados por los administradores. Por tanto, es importante suministrar la posibilidad de redireccionamiento. Pueden establecerse este y otros valores de política de actualización para un producto Eclipse creando un archivo de política de actualización y configurando Update para que utilice ese archivo al realizar búsquedas.

El archivo en cuestión utiliza formato XML y puede tener cualquier nombre. El archivo puede establecerse en Preferencias>Instalación/Actualizaciónen el campo Política de actualización. El campo de texto está vacío por omisión: los usuarios pueden definir el URL del archivo de política de actualización. El administrador local gestiona el archivo y se comparte entre todas las instalaciones del producto. El compartimiento pueden lograrse de dos formas:

El archivo de política debe ajustarse a la siguiente DTD:

<?xml encoding="ISO-8859-1"?>

<!ELEMENT update-policy (url-map)*>
<!ATTLIST update-policy
>

<!ELEMENT url-map EMPTY>
	pattern	CDATA #REQUIRED
	url	CDATA #REQUIRED
>

url-map

Este elemento se utiliza para alterar temporalmente los URL incorporados a los manifiestos de característica. Al buscar actualizaciones nuevas, la función de búsqueda de Eclipse comprobará la política de actualización (si está presente) y si se ha especificado url-map para el prefijo de característica de comparación. Si se encuentra una coincidencia, el URL correlacionado se utilizará en lugar del incorporado. De este modo, los administradores pueden configurar productos Eclipse para que busquen actualizaciones en el servidor local detrás del cortafuegos. Entretanto, las características de terceros instaladas por Eclipse se seguirán actualizando mediante el mecanismo por omisión, ya que no encontrarán coincidencias en la política.

En el archivo pueden existir varios elementos url-map. Pueden elegirse prefijos de característica que sean más o menos específicos. Por ejemplo, para redireccionar todas las actualizaciones de Eclipse, el atributo pattern sería "org.eclipse". De modo parecido, es posible utilizar un ID de característica completo como patrón si es necesario el redireccionamiento en función de cada característica.

Pueden elegirse patrones en el archivo para reducir progresivamente las coincidencias potenciales. Esto puede producir varias coincidencias para una característica determinada. En este caso, se utilizará el valor match with a longest pattern (comparar con un patrón más largo). Por ejemplo:

<?xml version="1.0" encoding="UTF-8" ?>
<update-policy>
	<url-map pattern="org.eclipse" url="URL1"/>
	<url-map pattern="org.eclipse.jdt" url="URL2"/>
</update-policy>

En el caso anterior, todas las características de Eclipse se actualizarán desde el URL1, excepto org.eclipse.jdt, que utilizará el URL2.

Los archivos de política de actualización no contienen series traducibles y, por tanto, no requieren un manejo especial de NL. En general, los archivos deben utilizar la codificación UTF-8.

2.3 Descubrimiento automático de actualizaciones

Las actualizaciones automáticas permitirán a Eclipse ejecutar búsquedas de actualizaciones de acuerdo con una planificación especificada (en cada inicio (el valor por omisión), una vez al día, una vez por semana, etc.).

3. Resumen

A continuación se indica la secuencia completa de los pasos que implica esta solución:

  1. El administrador asigna un servidor de la LAN de la empresa para que aloje las actualizaciones de producto locales. Inicialmente, no contiene sitios de actualizaciones. La máquina debe tener un servidor HTTP en funcionamiento.
  2. El administrador configura un archivo de política de actualización en ese servidor e indica a todos los usuarios que establezcan la preferencia de política de actualización en el URL suministrado.
  3. A medida que el proveedor de productos suministra actualizaciones y arreglos en sus sitios de actualizaciones, el administrador baja las actualizaciones soportadas al servidor local.
  4. La actualización automática, ejecutada con la frecuencia planificada cuando el producto del cliente está en funcionamiento, recoge las actualizaciones locales y las notifica al usuario.
  5. El usuario elige instalar las actualizaciones descubiertas