Creación de un filtro personalizado y despliegue en un servidor proxy

Puede crear un filtro personalizado para su servidor proxy si necesita que el servidor proxy realice una función, como registro cronológico personalizado, que no se proporciona con la configuración normal del producto.

Antes de empezar

  • Determine dónde almacenar el artefacto que contiene el filtro que va a crear. Puede importar este artefacto desde un sistema de archivos local o remoto.
  • Debe saber el nombre del servidor proxy en el que quiere instalar el filtro personalizado.
  • Debe iniciar la consola administrativa que se utiliza para controlar este servidor proxy, si aún no estuviera iniciada.

Acerca de esta tarea

Un filtro proporciona un control opcional, secundario, sobre una función, que está fuera del control que normalmente se proporciona a través de la configuración del producto. Por ejemplo, una aplicación podría utilizar un mecanismo de filtro de registro cronológico para suprimir todos los sucesos que tengan una clave de mensaje concreta.

Procedimiento

  1. Cree un filtro personalizado.
    1. Cree una clase que amplíe com.ibm.wsspi.proxy.filter.http.HttpDefaultFilter.
    2. Cambie el método doFilter abstracto y (opcionalmente) los métodos init y destroy. Si altera temporalmente los métodos init y destroy, debe llamar a las versiones superiores de estos métodos para conservar la funcionalidad del ciclo de vida de filtros.
    3. Escriba un método doFilter nuevo que utilice la interfaz HttpProxyServiceContext.
      Este método doFilter nuevo se puede desarrollar para:
      • Cambios en los artefactos que se asocien a la solicitud o respuesta, como la propia respuesta, el código de respuesta o las cabeceras.
      • Cambios en los artefactos asociados tanto a las solicitudes como a las respuestas.
      • Obtenga información sobre la solicitud o la respuesta.
      • Obtenga información sobre la solicitud y la respuesta.
    4. Utilice el bean gestionado de filtro de servidor proxy (MBean), proxyFilterMbean, para determinar el orden correcto para el filtro.
      proxyFilterMbean = AdminControl.queryNames('type=ProxyServerFilterBean,*')
      AdminControl.invoke(proxyFilterMbean, 'viewAllFilters')
      El orden, en el que se procesan los filtros del servidor proxy, se visualiza.
    5. Cree el archivo descriptor de filtro, filter-context.xml

      Este archivo se utiliza para definir todos los filtros que tiene este descriptor. El ejemplo siguiente muestra una versión básica de un archivo filter-context.xml.

      En este ejemplo, el descriptor determina dónde y cuándo se ejecuta el filtro dado, tanto en la solicitud como en la respuesta. El punto de filtro determina dónde se ejecuta el mismo. En este ejemplo, el filtro se ejecuta después de recibir la petición. El número de orden determina cuándo se procesa el filtro con relación a otros filtros del mismo punto. Cuanto mayor es el número de orden, más alto estará el filtro en la cola de proceso.

      <?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. Empaquete los archivos .class compilados para el filtro y el descriptor de filtro en un archivo JAR.
  2. Importe el artefacto (archivo JAR) que contiene el filtro personalizado.
    1. En la consola administrativa, pulse Aplicaciones > Tipos de aplicación > Activos > Importar.
    2. Seleccione Sistema de archivos local o Sistema de archivos remoto para indicar dónde se encuentra el archivo JAR.
    3. Especifique el nombre completo en el archivo JAR.

      El nombre completo del archivo JAR incluye la vía de acceso del directorio en el que se encuentra el archivo y el nombre de archivo. Si no sabe el nombre completo del archivo JAR, puede utilizar la función de navegación para localizar el archivo.

  3. Cree una Aplicación a nivel de negocio (Business level application - BLA) que incluya este artefacto.
    1. En la consola administrativa, pulse Aplicaciones > Aplicación nueva > Aplicación de nivel empresarial nueva.
    2. En el campo Nombre, especifique un nombre para la aplicación nueva que está creando.

      También puede especificar una descripción de la aplicación en el campo Descripción.

    3. Pulse Aplicar.
  4. Cree una unidad de composición (CU) BLA del artefacto.
    1. En la tabla Activos desplegados, pulse Añadir > Añadir activo.
    2. Seleccione el nombre del artefacto que ha importado en el primer paso y, a continuación, pulse Continuar.
    3. Cambie los valores de la unidad de composición según sea necesario y, a continuación, pulse Modificar destino.
    4. Seleccione el servidor proxy en el que quiera desplegar esta CU de la lista de destinos de despliegue disponibles y, a continuación, pulse Aceptar.

      Cuando pulse Aceptar El producto correlaciona la unidad de composición con el servidor proxy seleccionado.

    5. Especifique las opciones de relación para esta unidad de composición.
    6. Pulse Finalizar.

    Para comprobar que el producto ha añadido correctamente la CU, pulse Aplicaciones > Aplicaciones de nivel empresarial >nombre_aplicación. Si el producto añade correctamente la CU, el nombre de la misma se muestra en la lista de activos desplegados para esta BLA.

  5. Inicie el servidor proxy.
  6. Inicie la BLA que contiene el filtro.

Resultados

El filtro se está ejecutando en el servidor proxy.

Qué hacer a continuación

Utilice el MBean de filtro de servidor proxy, proxyFilterMbean, para comprobar que el filtro está instalado en el servidor proxy y que se está procesando en el orden relativo correcto respecto a los otros filtros desplegados en el servidor proxy. Si tiene que cambiar el orden en el que se procesa este filtro, ejecute el mandato modifyOrdinal contra el MBean proxyFilterMbean.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjpx_proxyfilter
File name: tjpx_proxyfilter.html