Criando um Filtro Customizado e Implementando-o em um Servidor Proxy

Você pode criar um filtro customizado para seu servidor proxy se precisar que o servidor proxy execute uma função, como criação de log customizada, que não é fornecida por meio de configurações normais do produto.

Antes de Iniciar

  • Determine onde você irá armazenar o artefato que contém o filtro criado. Você pode importar esse artefato de um sistema de arquivo local ou remoto.
  • Você deve saber o nome do servidor proxy no qual deseja instalar o filtro customizado.
  • Você deve iniciar o console administrativo que é utilizado para controlar esse servidor proxy, se não tiver iniciado ainda.

Sobre Esta Tarefa

Um filtro fornece um controle opcional e secundário sobre uma função, que vai além do controle que normalmente é fornecido através das configurações típicas do produto. Por exemplo, um aplicativo poderá utilizar um mecanismo de filtro de criação de log para suprimir todos os eventos que têm uma chave de mensagem específica.

Procedimento

  1. Crie um filtro customizado.
    1. Crie uma classe que estenda com.ibm.wsspi.proxy.filter.http.HttpDefaultFilter.
    2. Substitua o método doFilter abstrato e, opcionalmente, os métodos init e destroy. Se você substituir os métodos init e destroy, deverá chamar as versões super desses métodos para preservar a funcionalidade do ciclo de vida do filtro.
    3. Grave o novo método doFilter, que utiliza a interface HttpProxyServiceContext.
      Esse novo método doFilter pode ser gravado de modo que:
      • Altera qualquer artefato associado ao pedido ou à resposta, como a própria resposta, o código da resposta ou os cabeçalhos.
      • Altere os artefatos que estão associados ao pedido e à resposta.
      • Obtém informações sobre o pedido ou a resposta.
      • Obtém informações sobre o pedido e a resposta.
    4. Utilize o MBean (bean gerenciado) do filtro do servidor proxy, proxyFilterMbean, para determinar o ordinal correto do filtro.
      proxyFilterMbean = AdminControl.queryNames('type=ProxyServerFilterBean,*')
      AdminControl.invoke(proxyFilterMbean, 'viewAllFilters')
      A ordem, na qual todos os filtros no servidor proxy são processados, é exibida.
    5. Crie o arquivo de descritor de filtro, filter-context.xml

      Esse arquivo é utilizado para definir todos os filtros que tenham esse descritor. O exemplo a seguir ilustra uma versão básica de um arquivo filter-context.xml.

      Nesse exemplo, o descritor determina onde e quando o filtro específico é executado na solicitação e na resposta. O ponto do filtro determina onde o filtro será executado. Neste exemplo, o filtro será executado após o recebimento do pedido. O ordinal determina quando o filtro é processado em relação aos outros filtros no mesmo ponto. Quanto maior o ordinal, mais alto estará o filtro na fila de processamento.

      <?xml version="1.0" encoding="UTF-8>
      <filter-context xmlns="http://www.ibm.com/2003/FilterContextSchema">
         <description>Proxy Filter Sample descriptor</description>
         <display-name>Proxy Sample Filter</display-name>
      
         <filter>
                <filter-name>HttpRequestFilter</filter-name
                <filter-class>com.ibm.ws.proxy.sample.HttpRequestFilter</filter-class>
                <description>HTTP sample filter to run at REQUEST filter point</description>
                <display-name>HTTP Request Sample</display-name>
                <protocol-name>HTTP</protocol-name>
                      <filter-point>RequestReceived</filter-point>
                <ordinal>1000</ordinal>
         </filter>
      </filter-context>
    6. Compacte os arquivos .class compilados para o filtro e o descritor de filtro em um arquivo JAR.
  2. Importe o artefato (arquivo JAR) que contém o filtro customizado.
    1. No console administrativo, clique em Aplicativos > Tipos de Aplicativo > Ativos > Importar.
    2. Selecione Sistema de Arquivo Local ou Sistema de Arquivo Remoto para indicar onde o arquivo JAR está localizado.
    3. Especifique o nome completo do arquivo JAR.

      O nome completo do arquivo JAR inclui o caminho de diretório onde o arquivo está localizado, e o nome do arquivo. Se você não souber o nome completo do arquivo JAR, poderá utilizar a função de procura para localizá-lo.

  3. Crie um aplicativo de nível de negócios (BLA) que inclua esse artefato.
    1. No console administrativo, clique em Aplicativos > Novo Aplicativo > Novo Aplicativo em Nível de Negócios.
    2. No campo Nome, especifique um nome para o novo aplicativo que você está criando.

      Você também pode especificar uma descrição do aplicativo no campo Descrição.

    3. Clique em Aplicar.
  4. Crie uma unidade de composição (CU) BLA do artefato.
    1. Na tabela Ativos Implementados, clique em Incluir > Incluir Ativo.
    2. Selecione o nome do artefato que você importou na primeira etapa e, em seguida, clique em Continuar.
    3. Altere as configurações da unidade de composição conforme necessário e depois clique em Modificar Destino.
    4. Selecione o servidor proxy no qual deseja implementar essa CU na lista de destinos de implementação disponíveis e, em seguida, clique em OK.

      Ao clicar em OK, o produto mapeia a unidade de composição para o servidor proxy selecionado.

    5. Especifique as opções de relacionamento para essa unidade de composição.
    6. Clique em Terminar.

    Para verificar se o produto incluiu com êxito a CU, clique em Aplicativos > Aplicativos em Nível de Negócios > application_name. Se o produto incluir com êxito a CU, o nome dela será mostrado na lista de recursos implementados para esse BLA.

  5. Inicie o servidor proxy.
  6. Inicie o BLA que contém o filtro.

Resultados

O filtro está sendo executado no servidor proxy.

O que Fazer Depois

Use o filtro de servidor proxy MBean, proxyFilterMbean, para verificar se o filtro está instalado no servidor proxy e se ele está sendo processado na ordem correta com relação aos outros filtros implementados no servidor proxy. Se você precisar alterar a ordem na qual esse filtro é processado, execute o comando modifyOrdinal no MBean proxyFilterMbean.

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjpx_proxyfilter
Nome do arquivo: tjpx_proxyfilter.html