WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

Planung für benutzerdefinierte Parser

In diesem Abschnitt finden Sie Informationen zu den Konzepten, mit denen Sie sich vor der Entwicklung eines benutzerdefinierten Parsers auseinandersetzen sollten.

Nachdem Sie die hier bereitgestellten Informationen gelesen haben und bereit für die Entwicklung Ihres eigenen Parsers sind, können Sie den Parser gemäß den Anweisungen im Abschnitt Benutzerdefinierten Parser implementieren erstellen.

Analyse

Vor der Erstellung eines benutzerdefinierten Parsers sollten Sie erst genau überlegen, wofür Sie diesen Parser benötigen. Ein Großteil der Tasks kann mit den in WebSphere Message Broker verfügbaren Funktionen ausgeführt werden, daher ist für die von Ihnen ins Auge gefasste Task unter Umständen gar kein benutzerdefinierter Parser notwendig.

Vor der Erstellung und Implementierung eines benutzerdefinierten Parsers sollten Sie Folgendes entscheiden:
  • Ist die Erstellung eines benutzerdefinierten Parsers notwendig?

    Wenn keiner der in WebSphere Message Broker verfügbaren Parser Ihren Anforderungen entspricht, können Sie Ihren eigenen Parser für die syntaktische Analyse kundenspezifischer oder generischer kommerzieller Nachrichtenformate definieren.

  • Steht in WebSphere Message Broker bereits ein Parser für die Domäne oder den Nachrichtenheader zur Verfügung?

    Im Abschnitt Parser finden Sie ausführliche Informationen zu den Nachrichtendomänen, für die die bereitgestellten Parser Eingabenachrichten akzeptieren können, sowie Informationen zu den Nachrichtenheadern, mit denen die bereitgestellten Parser arbeiten können.

  • Ist für die Syntax der unternehmensinternen oder kommerziellen Nachricht ein bestimmtes Format notwendig, das syntaktische analysiert werden kann?
  • Muss der Parser zur erfolgreichen Syntaxanalyse der Nachricht mit einer Software anderer Anbieter interagieren? Wenn dies der Fall ist, kollidiert die API, die den Zugriff auf diese Software ermöglicht, das Threadmodell?
  • Müssen Nachrichten verarbeitet werden, die aus mehreren Teilen bestehen und mehrere Formate enthalten?

    WebSphere Message Broker unterstützt keine Nachrichten mit mehrere Teilen und mehreren Formaten. Bei einer MRM-Nachricht, die aus mehreren Teilen besteht, müssen alle Teile dasselbe Format haben.

  • Welche Syntaxanalysenstruktur bietet die beste Leistung?

    WebSphere Message Broker unterstützt die teilweise syntaktische Analyse; der Parser ist also in der Lage, nur die relevanten Felder in einer Nachricht syntaktisch zu analysieren. Damit können Systemressourcen gespart werden.

Teilweise und vollständige Syntaxanalyse

WebSphere Message Broker unterstützt die teilweise Syntaxanalyse. Wenn eine einzelne Nachricht Hunderte oder gar Tausende Felder enthält, sind für die Syntaxanalyse viel Speicherplatz und Prozessorressourcen notwendig. Da ein einzelner Nachrichtenfluss vielleicht nur auf einige wenige oder keines dieser Felder verweist, ist eine Syntaxanalyse der gesamten Nachricht überflüssig. Daher ist es mit WebSphere Message Broker möglich, Nachrichten nach Bedarf syntaktisch zu analysieren. (Dies hindert einen Parser nicht daran, die gesamte Nachricht auf einmal syntaktisch zu analysieren, und manche Parser sind so definiert, dass sie dies auch tun.)

Jedes Syntaxelement ist eine logische Nachricht, bei der zwei Bits angeben, ob alle Elemente auf jeder Seite des Elements sowie alle untergeordneten Elemente syntaktisch analysiert wurden. Die Syntaxanalyse erfolgt normalerweise von unten nach oben und von links nach rechts. Wenn ein Parser die Syntaxanalyse für die gleichgeordneten Elemente eines bestimmten Elements, das vor dem gegebenen Element und dem ersten untergeordneten Element kommt, beendet hat, setzt er das erste Abschlussbit auf 1. Wenn der Zeiger auf das nächste gleichgeordnete Element sowie der Zeiger auf dessen letztes untergeordnetes Element abgeschlossen ist, wird das andere Abschlussbit auf 1 gesetzt.

Bei der teilweisen Syntaxanalyse wartet der Broker, bis auf einen Teil der Nachricht verwiesen wird, und ruft dann den Parser für eine Syntaxanalyse dieses Teils auf. Nachrichtenverarbeitungsknoten verweisen unter Verwendung hierarchischer Namen auf die Felder innerhalb einer Nachricht. Der Name beginnt mit dem Stammelement der Nachricht und durchläuft dann die Nachrichtenbaumstruktur bis hin zu dem betreffenden Element. Wird ein Element gefunden, dessen Abschlussbit nicht gesetzt ist, und soll die Baumstruktur weiter durchlaufen werden, dann wird der entsprechende Parsereinstiegspunkt aufgerufen, damit dieser Nachrichtenteil syntaktisch analysiert wird. Der entsprechende Nachrichtenteil wird syntaktisch analysiert, die entsprechenden Elemente werden der logischen Nachrichtenbaumstruktur hinzugefügt und das fragliche Element als abgeschlossen gekennzeichnet.

Wenn nicht der gesamte Bitstrom syntaktisch analysiert werden muss, können Sie die teilweise Syntaxanalyse verwenden. Bei dieser teilweisen Syntaxanalyse wird ein Parser rekursiv aufgerufen, bis das angeforderte Element zurückgegeben wird oder bis die Nachrichtenbaumstruktur als vollständig gekennzeichnet ist und es feststeht, dass das Element nicht vorhanden ist.

Ob Sie eine vollständige oder teilweise Syntaxanalyse ausführen, hängt davon ab, wie die Nachricht verarbeitet wird. Wenn während der Verarbeitung auf die meisten Feldelemente der Nachricht ein Zugriff erfolgt, wird sich insbesondere bei kürzeren Nachrichten eine vollständige Syntaxanalyse beim Zugriff für gewöhnlich als effektiver erweisen.

Wenn jedoch während der Verarbeitung auf die meisten Feldelemente wahrscheinlich kein Zugriff erfolgt, ist besonders bei steigender Nachrichtengröße beim Zugriff auf ein bestimmtes Feld eine teilweise Syntaxanalyse sinnvoller.

Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:21:58


KonzeptthemaKonzeptthema | Version 8.0.0.5 | as01403_