논리적 트리 구조는 메시지의 내부(브로커) 표현입니다.
메시지가 브로커에 도착하면 메시지 플로우에 구성된 입력 노드에서 이를 수신합니다. 메시지 플로우가 메시지를 처리하기 전에, 메시지 데이터의 비트스트림으로부터 논리적 트리 표현을 작성하는 하나 이상의 구문 분석기가 메시지를 해석해야 합니다.
트리 형식에는 트리가 작성된 비트스트림과 동일한 컨텐츠가 들어 있으나 메시지 플로우 내에서 가공하기가 더 쉽습니다. 다수의 내장 메시지 플로우 노드에서는 트리 내에서 메시지를 조회 및 갱신할 수 있도록 인터페이스를 제공하고 각 노드에 필요한 기능을 쉽게 제공하도록 메시지 및 데이터베이스에 대한 기타 조치를 수행합니다.
세 개의 인터페이스가 제공됩니다.
구문 분석기가 작성한 트리 구조는 대부분 메시지 형식(예: XML)에 독립적입니다. 메시지 트리의 일부로 작성되어 메시지 본문을 나타내는 서브트리는 이에 대한 예외입니다. 서브트리는 메시지에 종속되며 컨텐츠가 자세히 설명되지는 않습니다.
입력 노드는 다음과 같이 네 가지의 서브트리로 구성된 논리적 트리를 작성합니다.
메시지 트리를 채우는 방법에 설명된 대로 이들 트리 중 첫 번째 트리는 입력 메시지 비트스트림의 컨텐츠로 채워져 있으며, 나머지 세 개의 트리는 처음에는 비어 있습니다.
작성된 네 개의 트리마다 루트 요소(각 트리에 고유한 이름이 있음)가 있습니다. 각 트리는 요소라고 하는 여러 개의 분리된 정보로 이루어져 있습니다. 루트 요소에는 상위 및 동위(동위란 단일 상위를 공유하는 요소임)가 없습니다. 루트는 여러 하위 요소에 대한 상위입니다. 각 하위에는 상위가 있어야 하며 0개 이상의 동위가 있거나 또는 0개 이상의 하위가 있을 수 있습니다.
내장 및 사용자 정의 입력 노드 모두와 구문 분석기에 대해 네 개의 트리가 작성됩니다.
입력 노드가 메시지 플로우에서 후속 메시지 처리 노드로 작성된 논리적 트리 구조를 전달합니다.
다른 트리가 포함되었는지 판별하려면 노드의 처리 모드 등록 정보 값을 지정해야 합니다(고급 탭에 표시됨). 디폴트 조치는 메시지를 작성하는 것입니다. 출력 트리에 결합된 메시지, 로컬 환경 및 예외 목록 트리를 작성하도록 지정할 수 있습니다.
출력 트리가 입력 메시지 트리의 완전한 사본을 포함하도록 할 경우, 사본을 작성할 하나의 ESQL SET문을 코딩할 수 있습니다. 출력 메시지가 입력 메시지 트리의 서브세트를 포함하게 하려면 원하는 부분을 복사하는 ESQL을 코드화하십시오. 두 경우 처리 모드를 선택했으면 메시지를 포함해야 합니다.
출력 트리가 입력 로컬 환경 또는 예외 목록 트리 컨텐츠의 전부 또는 부분을 포함하게 하려면 해당 트리에 보유할 정보를 복사하는 적절한 ESQL을 코딩하십시오. 처리 모드를 선택했으면 로컬 환경이나 예외 또는 둘 다를 포함해야 합니다.
입력 트리로부터 복사되지 않는 정보로 출력 메시지, 환경, 로컬 환경 또는 예외 목록 트리를 채우는 ESQL도 코딩해야 합니다. 예를 들면, 데이터베이스에서 데이터를 수신하거나 입력 메시지 데이터에서 컨텐츠를 계산할 수 있습니다.