Controlar a política de actualizações do Eclipse

As actualizações do Eclipse permitem aos utilizadores pesquisar actualizações para as funções actualmente instaladas. Para cada função instalada, Actualizar utiliza o URL incorporado para ligar ao servidor remoto e pesquisar novas versões. Se existirem actualizações, o Eclipse permite aos utilizadores iniciarem o procedimento de instalação. Após a transferência, a instalação e reinício da plataforma, a nova versão da função está pronta para ser utilizada.

Em empresas com muitos utilizadores do mesmo produto baseado no Eclipse (normalmente um produto comercial), podem surgir vários problemas a partir deste modelo:

  1. As actualizações para produtos muito grandes (por exemplo, conectores de 500+) são também grandes. As equipas de suporte I/T podem não gostar da ideia de ter várias centenas de programadores a transferir, individualmente, actualizações de 500MEG para os seus computadores individuais. Além da amplitude da frequência de banda, o pedido de transferência tão grande poderá falhar, conduzindo a tentativas repetidas e a um aumento do tempo de inactividade dos programadores.
  2. Algumas empresas não querem, explicitamente, que os programadores transfiram actualizações directamente da Internet. Por exemplo, podem configurar uma equipa de suporte local que poderá não estar preparada para processar pedidos relacionados com a versão do produto já disponível no sítio da Web de actualizações do fornecedor. Poderão pretender restringir as actualizações e correcções à lista aprovada internamente. Idealmente, fariam isso configurando os sítios da web de actualização do "proxy" na LAN (atrás da firewall).
  3. Assim que as actualizações estiverem definidas nos sítios do proxy, conforme acima se mostrou, os administradores precisam de um meio de dar a conhecer aos utilizadores que as actualizações estão disponíveis.

2. Política de actualização em acção

2.1 Suporte para criar sítios de actualizações locais (proxy)

O primeiro passo para um administrador do produto seria configurar um sítio da Web de actualizações do Eclipse local num servidor ligado à LAN da empresa (atrás da firewall). O sítio de actualizações seria um sub-conjunto do sítio de actualizações do produto na Internet, porque iria conter apenas as funções e conectores relacionados com as actualizações que a empresa pretende aplicar no momento. Tecnicamente, este sítio seria um sítio de actualizações normal do Eclipse com arquivos de site.xml, função e conector.

Os administradores poderiam construir o sítio de duas formas:

  1. As equipas de suporte do produto iriam criar um ficheiro zip do sítio de actualizações que ficasse imediatamente disponível para este fim específico. Os administradores teriam simplesmente de transferir o ficheiro zip da página da Web de suporte do produto utilizando uma ferramenta de opção e descomprimir o ficheiro no servidor local. Esta abordagem é útil para ficheiros zip muito grandes que requerem gestores de transferências reiniciáveis modernos (os que começam onde terminaram no caso de existirem problemas na ligação).
  2. A actualização do Eclipse fornece uma ferramenta para duplicar, por completo, sítios de actualizações ou permitem que os administradores seleccionem as actualizações e as correcções a transferir. Esta capacidade de duplicação seria totalmente automática e iria simplificar largamente a tarefa do administrador, mas esta baseia-se no suporte de ligação em rede da actualização.

2.2 Controlo de política de actualizações comum

Uma vez que as funções têm o URL do sítio de actualizações incorporado no manifesto, estas desconhecem os sítios de actualizações locais configurados pelos administradores. Por isso, é importante facultar capacidade de redireccionamento. Esta capacidade e outras definições da política de actualizações podem ser definidas para um produto Eclipse, criando um ficheiro de política de actualizações e configurando a actualização para utilizar este ficheiro ao executar pesquisas.

O ficheiro em questão utiliza o formato XML e pode ter qualquer nome. O ficheiro pode ser definido em Preferências > Instalar/Actualização no campo Actualizar Política. Por predefinição, o campo de texto encontra-se vazio: os utilizadores poderão definir o URL do ficheiro de política de actualizações. O ficheiro é gerido pelo administrador local e é partilhado para todas as instalações do produto. A partilha pode ser conseguida de duas formas:

O ficheiro de política deve estar em conformidade com a seguinte DTD:

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

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

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

url-map

Este elemento é utilizado para substituir os URLs da actualização incorporados nos manifestos da função. Quando procurar novas actualizações, a pesquisa do Eclipse irá verificar a política de actualizações (se estiver presente) e irá verificar se foi especificado url-map para o prefixo da função correspondente. Se for encontrada uma correspondência, o URL correlacionado será utilizar em vez do URL incorporado. Desta forma, os administradores podem configurar os produtos do Eclipse para pesquisar actualizações no servidor local atrás da firewall. Entretanto, as funções de terceiros instaladas na Actualização do Eclipse irão continuar a ser actualizadas utilizando o mecanismo predefinido porque não irão encontrar correspondências na política.

Podem existir vários elementos url-map no ficheiro. Pode-se escolher se os prefixos de função são menos ou mais específicos. Por exemplo, para redireccionar todas as actualizações do Eclipse, o atributo pattern seria "org.eclipse". Da mesma forma, é possível utilizar um ID de função completo como um padrão, se for o redireccionamento for necessário numa base por função.

Os padrões no ficheiro podem ser escolhidos para limitar progressivamente as potenciais correspondências. Isto pode resultar em correspondências múltiplas para uma determinada função. Neste caso, será utilizada a correspondência com um padrão mais longo. 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 anterior, todas as funções do Eclipse serão actualizadas a partir de URL1, excepto org.eclipse.jdt que irá utilizar URL2.

Os ficheiros de política de actualizações não contêm cadeias traduzíveis e, por conseguinte, não requerem um processamento NL especial. De uma forma geral, os ficheiro teriam a codificação UTF-8.

2.3 Descoberta automática de actualizações

A terceira parte da solução global é abrangida por outro tópico, mas é mencionada aqui porque se trata de uma parte integral da solução. As actualizações automáticas vão permitir ao Eclipse executar uma pesquisa de actualização numa marcação especificada (em cada início (a predefinição), uma vez por dia, uma vez por semana, etc.).

3. Resumo

Segue-se a sequência completa de passos que abrangem a solução:

  1. O administrador atribui um servidor na LAN da empresa para alojar as actualizações do produto locais. Inicialmente, não contém sítios de actualizações. A máquina tem de ter um servidor de HTTP em execução.
  2. O administrador configura um ficheiro de política de actualizações nesse servidor e dá instruções a todos os utilizadores para definirem como preferência na política de actualizações o URL fornecido.
  3. À medida que o fornecedor do produto envia actualizações e correcções dos sítios de actualizações, o administrador descarrega actualizações suportadas para o servidor local.
  4. A actualização automática executada na frequência marcada quando o produto do cliente está em funcionamento, recolhe as actualizações locais e notifica o utilizador.
  5. O utilizador opta por instalar as actualizações descobertas.

Tarefas relacionadas
Marcador de Actualização Automática