Angepassten Filter erstellen und in einem Proxy-Server implementieren

Sie können einen angepassten Filter für Ihren Proxy-Server erstellen, wenn der Proxy-Server eine Funktion ausführen muss, wie z. B. angepasste Protokollierung, die über die normalen Produkteinstellungen nicht bereitgestellt wird.

Vorbereitende Schritte

  • Legen Sie fest, wo das Artefakt gespeichert werden soll, das den von Ihnen erstellten Filter enthält. Sie können dieses Artefakt aus dem lokalen oder fernen Dateisystem importieren.
  • Sie müssen den Namen des Proxy-Servers kennen, in dem Sie den angepassten Filter installieren möchten.
  • Sie müssen die Administrationskonsole starten, die für die Steuerung dieses Proxy-Servers verwendet wird, sofern diese noch nicht gestartet ist.

Informationen zu diesem Vorgang

Ein Filter bietet Ihnen eine optionale, sekundäre Steuerung über eine Funktion, die über die Steuerung hinausgeht, die normalerweise über die typischen Produkteinstellungen bereitgestellt wird. Eine Anwendung kann beispielsweise einen Filtermechanismus für die Protokollierung verwenden, um alle Ereignisse zu unterdrücken, die einen bestimmten Nachrichtenschlüssel haben.

Vorgehensweise

  1. Erstellen Sie einen angepassten Filter.
    1. Erstellen Sie eine Klasse, die "com.ibm.wsspi.proxy.filter.http.HttpDefaultFilter" erweitert.
    2. Überschreiben Sie die abstrakte Methode "doFilter" und optional die Methoden "init" und "destroy". Wenn Sie die Methoden "init" und "destroy" überschreiben, müssen Sie die Superversionen dieser Methoden aufrufen, um die Lebenszyklusfunktionen des Filters zu bewahren.
    3. Schreiben Sie eine neue Methode "doFilter", die die Schnittstelle "HttpProxyServiceContext" verwendet.
      Diese neue Methode "doFilter" kann so geschrieben werden, dass sie
      • alle Artefakte ändert, die der Anforderung bzw. Antwort zugeordnet sind, z. B. die Anforderung selbst, den Antwortcode oder die Header,
      • alle Artefakte ändert, die der Anforderung und der Antwort zugeordnet sind,
      • Informationen zur Anforderung bzw. Antwort abruft,
      • Informationen zur Anforderung und der Antwort abruft.
    4. Verwenden Sie die Managed Bean ((MBean) für Proxy-Server-Filter "proxyFilterMbean", um die richtige Ordinalzahl für den Filter zu bestimmen.
      proxyFilterMbean = AdminControl.queryNames('type=ProxyServerFilterBean,*')
      AdminControl.invoke(proxyFilterMbean, 'viewAllFilters')
      Die Reihenfolge, in der alle Filter im Proxy-Server verarbeitet werden, wird angezeigt.
    5. Erstellen Sie die Filterdeskriptordatei "filter-context.xml".

      Diese Datei wird verwendet, um alle Filter zu definieren, die diesen Deskriptor haben. Das folgende Beispiel veranschaulicht eine Basisversion der Datei "filter-context.xml".

      In diesem Beispiel bestimmt der Deskriptor, wo und wann der angegebene Filter für die Anforderung und die Antwort ausgeführt wird. Der Filterpunkt bestimmt, wo der Filter ausgeführt wird. In diesem Beispiel wird der Filter nach dem Empfang der Anforderung ausgeführt. Die Ordinalzahl bestimmt, wann der Filter im Vergleich mit anderen Filtern an demselben Filterpunkt verarbeitet wird. Je höher die Ordinalzahl ist, desto höher steht der Filter in der Verarbeitungswarteschlange.

      <?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. Packen Sie die kompilierten Dateien mit der Erweiterung ".class" für den Filter und den zugehörigen Filterdeskriptor in eine JAR-Datei.
  2. Importieren Sie das Artefakt (JAR-Datei), die den angepassten Filter enthält.
    1. Klicken Sie in der Administrationskonsole auf Anwendungen > Anwendungstypen > Assets > Importieren.
    2. Wählen Sie Lokales Dateisystem oder Fernes Dateisystem aus, um anzuzeigen, wo sich die JAR-Datei befindet.
    3. Geben Sie den vollständig qualifizierten Namen der JAR-Datei an.

      Der vollständig qualifizierte Name der JAR-Datei enthält den Verzeichnispfad, in dem sich die Datei befindet, und den Dateinamen. Wenn Sie den vollständig qualifizierten Namen der JAR-Datei nicht kennen, können Sie die Datei mit der Funktion "Durchsuchen" suchen.

  3. Erstellen Sie eine Geschäftsanwendung, die dieses Artefakt enthält.
    1. Klicken Sie in der Administrationskonsole auf Anwendungen > Neue Anwendung > Neue Geschäftsanwendung.
    2. Geben Sie im Feld Name einen Namen für die neue Anwendung an, die Sie erstellen.

      Im Feld Beschreibung können Sie eine Beschreibung der Anwendung eingeben.

    3. Klicken Sie auf Anwenden.
  4. Erstellen Sie aus dem Artefakt eine Kompositionseinheit für die Geschäftsanwendung.
    1. Klicken Sie in der Tabelle Implementierte Assets auf Hinzufügen > Asset hinzufügen.
    2. Wählen Sie den Namen des im ersten Schritt importierten Artefakts aus und klicken Sie anschließend auf Weiter.
    3. Ändern Sie die Einstellungen der Kompositionseinheit wie gewünscht und klicken Sie anschließend auf Ziel ändern.
    4. Wählen Sie in der Liste der verfügbaren Implementierungsziele den Proxy-Server aus, in dem Sie diese Kompositionseinheit implementieren möchten, und klicken Sie anschließend auf OK.

      Wenn Sie auf OK klicken, ordnet das Produkt die Kompositionseinheit dem ausgewählten Proxy-Server zu.

    5. Geben Sie die Beziehungsoptionen für diese Kompositionseinheit an.
    6. Klicken Sie auf Fertigstellen.

    Wenn Sie sicherstellen möchten, dass das Produkt die Kompositionseinheit erfolgreich hinzugefügt hat, klicken Sie auf Anwendungen > Geschäftsanwendungen > Anwendungsname. Wenn das Produkt die Kompositionseinheit erfolgreich hinzugefügt hat, erscheint der Name der Kompositionseinheit in der Liste der implementierten Assets für diese Geschäftsanwendung.

  5. Starten Sie den Proxy-Server.
  6. Starten Sie die Geschäftsanwendung, die den Filter enthält.

Ergebnisse

Der Filter wird im Proxy-Server ausgeführt.

Nächste Schritte

Verwenden Sie die Managed Bean (MBean) für Proxy-Server-Filter "proxyFilterMbean", um sicherzustellen, dass der Filter im Proxy-Server installiert wurde und dass er in Bezug auf die anderen Filter, die im Proxy-Server implementiert sind, an der richtigen Position ausgeführt wird. Wenn Sie Position des Filters in der Verarbeitungsreihenfolge ändern müssen, führen Sie den Befehl "modifyOrdinal" mit der Managed Bean "proxyFilterMbean" aus.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjpx_proxyfilter
Dateiname:tjpx_proxyfilter.html