Controle de Política do Eclipse Update

O Eclipse Update permite que os usuários procurem atualizações para os recursos atualmente instalados. Para cada recurso instalado, o Update utiliza o URL incorporado para se conectar ao servidor remoto e procurar novas versões. Se houver atualizações, o Eclipse permitirá que os usuários iniciem o procedimento de instalação. Depois de transferir por download, instalar e reiniciar a plataforma, a nova versão do recurso está pronta para uso.

Em empresas com muitos usuários do mesmo produto com base no Eclipse (geralmente um comercial), vários problemas podem surgir a partir desse modelo:

  1. As atualizações para produtos muito grandes (por exemplo, mais de 500 plug-ins) também são grandes. A equipe de suporte I/T pode não gostar da idéia de centenas de desenvolvedores individualmente transferindo por download atualizações de 500MEG para suas máquinas individuais. Além de exceder a largura de banda, esse pedido de download grande pode falhar, levando a tentativas repetidas e aumento do tempo de inatividade dos desenvolvedores.
  2. Algumas empresas não querem explicitamente que os desenvolvedores transfiram por download atualizações diretamente da Internet. Por exemplo, elas podem definir uma equipe de suporte local que pode não estar pronta para tratar de pedidos relacionados à versão do produto já disponível no site de atualização do provedor. Elas podem querer restringir as atualizações e correções à lista aprovada internamente. De maneira ideal, elas fariam isso configurando sites de atualização 'proxy' na LAN (atrás do firewall).
  3. Depois que as atualizações são definidas nos sites proxy como acima, os administradores precisam de uma forma de fazer com que os usuários saibam que as atualizações estão disponíveis.

2. Política de atualização para o salvamento

2.1 Suporte para criar sites de atualização local (proxy)

A primeira etapa para um administrador de produto pode ser configurar um site de atualização local do Eclipse em um servidor conectado à LAN da empresa (atrás do firewall). O site de atualização pode ser um subconjunto do site de atualização do produto na Internet porque pode conter apenas recursos e plug-ins relacionados às atualizações que a empresa deseja que sejam aplicadas no momento. Tecnicamente, esse site pode ser um site regular de atualização do Eclipse com archives site.xml, de recurso e de plug-in.

Os administradores podem construir esse site de duas maneiras:

  1. As equipes de suporte ao produto podem fazer um arquivo zip do site de atualização já disponível para esse objetivo particular. Os administradores podem precisar simplesmente transferir por download o arquivo zip da página da Web de suporte ao produto utilizando a ferramenta de sua opção e descompactando o arquivo ZIP no servidor local. Essa abordagem é útil para arquivos zip muito grandes que requerem gerenciadores de download reiniciáveis modernos (aqueles que podem retomar de onde pararam no caso de problemas de conexão).
  2. O Eclipse Update fornece uma ferramenta para espelhar totalmente os sites de atualização remotos ou permitir que os administradores selecionem atualizações e correções para transferir por download. Esse recurso de espelhamento pode ser totalmente automatizado e pode simplificar muito a tarefa do administrador, mas conta com o suporte de conexão de rede de atualização.

2.2 Controle de política de atualização comum

Como os recursos têm o URL do site de atualização incorporado no manifesto, eles não estão cientes dos sites de atualização locais configurados pelos administradores. Portanto, é importante fornecer o recurso de redirecionamento. Essa e outras configurações de política de atualização podem ser definidas para um produto do Eclipse criando um arquivo de política de atualização e configurando a Atualização para utilizar esse arquivo ao procurar.

O arquivo em questão utiliza o formato XML e pode ter qualquer nome. O arquivo pode ser definido em Preferências>Instalar/Atualizarno campo Política de Atualização. O campo de texto é vazio por padrão: os usuários podem definir o URL do arquivo de política de atualização. O arquivo é gerenciado pelo administrador local e é compartilhado para todas as instalações do produto. O compartilhamento pode ser alcançado de duas maneiras:

O arquivo de política deve estar de acordo com o DTD a seguir:

<?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

Esse elemento é utilizado para substituir Atualizar URLs incorporados nos manifestos do recurso. Ao procurar novas atualizações, a pesquisa do Eclipse verificará a política de atualização (se presente) e verificará se url-map para o prefixo de recurso correspondente está especificado. Se for localizada uma correspondência, o URL mapeado será utilizado em vez do incorporado. Assim, os administradores podem configurar os produtos do Eclipse para procurar atualizações no servidor local atrás do firewall. Entretanto, os recursos de terceiros instalados pelo Eclipse Update continuarão a ser atualizados utilizando o mecanismo padrão porque não localizarão correspondências na política.

Podem existir vários elementos url-map no arquivo. Os prefixos do recurso podem ser escolhidos para serem menos ou mais específicos. Por exemplo, para redirecionar todas as atualizações do Eclipse, o atributo padrão pode ser "org.eclipse". De forma semelhante, é possível utilizar um ID de recurso completo como padrão se o redirecionamento for necessário em uma base por-recurso.

Os padrões no arquivo podem ser escolhidos para limitar progressivamente as correspondências potenciais. Isso pode resultar em várias correspondências para um determinado recurso. Neste caso, a correspondência com o padrão maior será utilizada. Por exemplo:

<?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>

No caso acima, todos os recursos do Eclipse serão atualizados do URL1, exceto org.eclipse.jdt que utilizará o URL2.

Os arquivos de política de atualização não contêm cadeias traduzíveis e, portanto, não requerem manipulação NL especial. No geral, os arquivos devem utilizar a codificação UTF-8.

2.3 Descoberta automática de atualizações

As atualizações automáticas permitirão que o Eclipse execute a procura de atualização com um planejamento especificado (em cada inicialização (o padrão), uma vez por dia, uma vez por semana, etc.).

3. Resumo

A seguir é apresentada a seqüência completa de etapas que incluem a solução:

  1. O administrador aloca um servidor na LAN da empresa para hospedar atualizações locais do produto. Inicialmente, não contém sites de atualização. A máquina deve ter um servidor HTTP em execução.
  2. O administrador configura um arquivo de política de atualização nesse servidor e instrui todos os usuários a definirem a preferência da política de atualização no URL fornecido.
  3. Conforme o provedor do produto envia atualizações e correções em seus sites de atualização, o administrador transfere por download as atualizações suportadas para o servidor local.
  4. A atualização automática executada na freqüência planejada quando o produto do cliente está ativo toma as atualizações locais e notifica o usuário
  5. O usuário escolhe instalar as atualizações descobertas