사용할 노드 결정

시작하기 전에

메시지 플로우 노드에 대한 개념 주제를 읽으십시오.

WebSphere Message Broker는 메시지 플로우 내에서 사용할 수 있는 다수의 메시지 처리 노드를 포함합니다. 또한 사용자 정의 노드로 알려진 사용자 소유의 노드를 정의하는 데 사용할 수 있는 인터페이스를 제공합니다.

사용할 노드에 대한 결정은 메시지에 대해 수행할 처리에 따라 달라집니다. 내장 노드는 여러 범주에서 고려할 수 있으며 이 범주에 그룹화되어 있는 Workbench에 표시됩니다(이 그룹화가 노드의 조작에는 영향을 주지 않더라도). 동일한 방법으로 사용자 정의 노드를 분류할 수도 있습니다. 범주는 다음과 같습니다.

입력 및 출력
입력 및 출력 노드는 클라이언트가 메시지를 송신하고(MQInput 등의 입력 노드) 클라이언트가 메시지를 수신하는(MQOutput 등의 출력 노드) 메시지 플로우의 지점들을 정의합니다. 클라이언트 응용프로그램은 노드에서 메시지의 소스나 대상으로 지정한 I/O 자원으로 메시지를 전송하거나 수신함으로써 이들 노드와 상호작용합니다. 메시지 플로우에 적어도 하나 이상의 입력 노드가 포함되어야 하지만 출력 노드를 포함할 필요는 없습니다.
  • 브로커에 전개할 메시지 플로우를 작성 중인 경우, 메시지를 수신하려면 최소 하나의 입력 노드를 포함시켜야 합니다. 선택하는 입력 노드는 입력 메시지의 소스 및 플로우에서 메시지를 수신하려는 위치에 따라 달라집니다.
    MQInput
    메시지가 브로커의 WebSphere MQ 큐에 도착하고 노드가 메시지 플로우의 시작점인 경우

    변경 시작WebSphere Message Broker 버전 6.0에서는 MQeInput 노드를 포함하는 메시지 플로우를 더 이상 사용하지 않습니다. 메시지 플로우를 다시 설계하여 MQe 노드를 제거하고 사용자의 고유 스펙에 구성되고 MQe 게이트웨이 구성에 통합된 MQ 노드로 바꾸십시오. 자세한 정보는 WebSphere MQ Everyplace 노드를 포함하는 메시지 플로우 이주를 참조하십시오.변경 끝

    MQGet
    메시지가 브로커의 WebSphere MQ 큐에 도착하고 노드가 메시지 플로우의 시작점이 아닌 경우
    SCADAInput
    원격(telemetry) 디바이스가 메시지를 송신한 경우
    HTTPInput
    웹 서비스 클라이언트가 메시지를 송신한 경우
    Real-timeInput 또는 Real-timeOptimizedFlow
    변경 시작JMS 또는 멀티캐스트 응용프로그램이 메시지를 송신한 경우 Real-timeInput 노드는 입력 노드이고 Real-timeOptimizedFlow 노드는 고성능의 publish/subscribe 메시지 플로우를 제공하는 완전한 메시지 플로우입니다.변경 끝
    변경 시작JMSInput변경 끝
    변경 시작JMS 응용프로그램이 메시지를 송신할 경우변경 끝
    사용자 정의 입력 노드
    메시지 소스가 여러 프로토콜 및 전송을 사용하는 클라이언트 또는 응용프로그램인 경우
    입력 노드
    독립형 메시지 플로우로서 전개하지 않을 다른 메시지 플로우(서브플로우)에 임베드할 메시지 플로우를 작성 중인 경우, 서브플로우로 메시지를 수신하려면 최소 하나의 입력 노드를 포함시켜야 합니다.

    Input 노드의 인스턴스는 in 터미널을 표시합니다. 예를 들면, 하나의 입력 노드 인스턴스를 포함하는 경우, 서브플로우 아이콘은 하나의 in 터미널을 표시합니다. 이를 통해 다른 노드를 연결할 때와 동일한 방법으로 기본 플로우의 다른 노드에 연결할 수 있습니다.

    최소 하나의 입력 노드를 갖고 있는 메시지 플로우만 전개할 수 있습니다. 메시지 플로우에 입력 노드가 포함되어 있지 않으면 브로커 아카이브 파일에 이를 추가할 수 없습니다. 입력 노드는 기본 플로우 또는 기본 플로우에 임베드된 메시지 플로우에 있을 수 있습니다.

    메시지 플로우에 둘 이상의 입력 노드를 사용할 수 있습니다. 자세한 정보는 둘 이상의 입력 노드 사용을 참조하십시오.

  • 메시지 플로우에서 생성된 메시지를 대상 응용프로그램으로 송신할 경우, 하나 이상의 출력 노드가 있을 수 있습니다. 선택된 출력 노드는 대상 응용프로그램이 어떤 전송 방식을 통해 이 메시지를 수신하는지에 따라 다릅니다.
    Publication
    브로커에 subscribe하는 응용프로그램에 대해 지원되는 모든 프로토콜에 걸쳐 Publish/Subscribe 네트워크를 사용하여 메시지를 분배하려는 경우. Publication 노드는 subscription이 현재 메시지의 특성과 일치하는 subscriber에서 식별한 출력 목적지를 사용하는 출력 노드입니다.
    MQOutput
    대상 응용프로그램이 입력 메시지 MQMD에 지정된 WebSphere MQ 큐 또는 WebSphere MQ 리플라이-투 큐에서 메시지를 수신하는 경우

    변경 시작WebSphere Message Broker 버전 6.0에서는 MQeOutput 노드를 포함하는 메시지 플로우를 더 이상 사용하지 않습니다. 메시지 플로우를 다시 설계하여 MQe 노드를 제거하고 사용자의 고유 스펙에 구성되고 MQe 게이트웨이 구성에 통합된 MQ 노드로 바꾸십시오. 자세한 정보는 WebSphere MQ Everyplace 노드를 포함하는 메시지 플로우 이주를 참조하십시오.변경 끝

    MQReply
    대상 응용프로그램이 입력 메시지 MQMD에 지정된 WebSphere MQ 리플라이-투 큐에서 메시지를 수신하는 경우
    SCADAOutput
    원격(telemetry) 디바이스가 출력 메시지의 대상이며 Publication 노드가 적합하지 않은 경우
    HTTPReply
    메시지가 웹 서비스 클라이언트에 대한 것인 경우
    HTTPRequest
    메시지 플로우가 웹 서비스 클라이언트와 상호작용하는 경우
    Real-timeOptimizedFlow
    대상 응용프로그램이 JMS 또는 멀티캐스트 응용프로그램인 경우
    변경 시작JMSOutput변경 끝
    변경 시작메시지가 JMS 목적지에 대한 것인 경우변경 끝
    사용자 정의 출력 노드
    대상이 여러 프로토콜 및 전송을 사용하는 클라이언트 또는 응용프로그램인 경우
    Output 노드
    독립형 메시지 플로우로서 전개하지 않을 다른 메시지 플로우(서브플로우)에 임베드할 메시지 플로우를 작성 중인 경우, 서브플로우로 연결하는 후속 노드로 메시지를 전달하려면 최소 하나의 Output 노드를 포함시켜야 합니다.

    Output 노드의 인스턴스는 out 터미널을 표시합니다. 예를 들면, 두 개의 Output 노드 인스턴스를 포함하는 경우, 서브플로우 아이콘은 두 개의 out 터미널을 표시합니다. 이를 통해 다른 노드를 연결할 때와 동일한 방법으로 기본 플로우의 다른 노드에 연결할 수 없습니다.

메시지 가공, 확장 및 변환

대부분의 엔터프라이즈에는 여러 해에 걸쳐 서로 다른 프로그래밍 언어 및 서로 다른 통신 방법을 사용하여 여러 시스템에서 개발된 응용프로그램이 있습니다. WebSphere Message Broker에서는 한 형식에서 다른 형식으로 메시지를 변환하는 메시지 플로우를 구성할 수 있는 기능을 제공하므로 응용프로그램이 이러한 차이점을 이해할 필요가 없습니다.

예를 들면, 개인 이름이 여러 응용프로그램에서 다양한 형식으로 보유되어 있습니다. 성 또는 이름, 중간 머리글자 사용 여부, 대문자 또는 소문자: 이는 간단한 순서의 차이입니다. 메시지 플로우가 각 응용프로그램의 요구사항을 알 수 있도록 구성할 수 있기 때문에 송신 및 수신 응용프로그램을 수정하지 않고도 각 메시지를 올바른 형식으로 변환할 수 있습니다.

메시지의 컨텐츠에 대해 작업하여 여러 가지 방법으로 메시지를 갱신할 수 있습니다. 여기서 선택할 수 있는 내용은 메시지 플로우가 사전정의된(모델화된) 메시지 또는 자체 정의 메시지(예: XML)를 핸들링해야 하는지 아니면 둘 다를 핸들링해야 하는지에 따라 달라질 수 있습니다.

메시지 플로우는 메시지를 완전하게 다시 빌드하거나 메시지를 다른 형식으로 변환하거나(형식은 필드 순서, 바이트 순서, 언어 등을 의미), 메시지에서 컨텐츠를 제거하거나 특정 데이터를 메시지에 도입할 수 있습니다. 예를 들면, 노드는 데이터베이스와 상호작용하여 추가 정보를 검색하거나 메시지 사본(전체 또는 일부)을 오프라인으로 처리할 수 있도록 데이터베이스에 저장할 수 있습니다.

다음 예에서는 중요한 메시지 변환이 이루어지는 방법을 보여줍니다.

  • 주문 입력 응용프로그램에는 메시지 본문에 파트 ID가 있지만, 상대 재고 응용프로그램에서는 이 ID가 메시지 헤더에 있을 것으로 예상합니다. 메시지는 서로 다른 두 형식을 알고 있는 메시지 플로우로 전달되므로 필요에 따라 정보를 재형식화할 수 있습니다.
  • 데이터 입력 응용프로그램에서는 재고 거래 정보가 포함된 메시지를 작성합니다. 이 메시지를 수신하는 일부 응용프로그램의 경우 제공된 그대로의 정보가 필요하지만 나머지 응용프로그램에는 가격 대 수익(PE) 비율에 대한 메시지에 추가된 기타 정보가 필요합니다. 재고 거래 메시지는 변경되지 않은 메시지를 일부 출력 노드로 전달하는 메시지 플로우로 전달되지만, 나머지 메시지 플로우에는 추가 정보를 계산하여 추가합니다. 메시지 플로우는 데이터베이스에서 현재 재고 가격을 찾아서 이를 수행하고 갱신된 메시지를 전달하기 전에 이 값과 원래 메시지의 거래 정보를 사용하여 PE 값을 계산합니다.

이러한 노드를 사용하여 서로 간에 상호작용하는 메시지 플로우를 작성할 수도 있습니다. 한 메시지 플로우의 디폴트 조작이 다른 메시지 플로우의 조작에 영향을 주지는 않지만, 데이터베이스 등과 같은 외부 소스에 정보를 저장 및 검색할 수 있도록 메시지 플로우를 구성하여 이런 상황을 강제 수행할 수 있습니다.

Compute
메시지 컨텐츠를 가공하고, 몇 가지 방법으로 메시지를 변환하며, 데이터베이스와 상호작용하여 메시지의 컨텐츠 또는 데이터베이스 컨텐츠를 수정하고, Compute 노드를 사용하여 하나 이상의 새 메시지를 전달할 수 있습니다. 이 노드를 사용하여 사전정의 및 자체 정의 메시지를 가공할 수 있습니다.

ESQL 편집기를 사용하여 이 노드에 고유하며, 메시지 또는 데이터베이스에 대해 수행할 조치를 정의하는 명령문이 포함된 ESQL 모듈을 작성하십시오. 다른 유형의 노드에서 Compute 노드를 위해 개발한 ESQL 코드를 사용하지 마십시오.

노드 등록 정보에 지정한 데이터 소스에 대한 사용자 및 암호 정보를 지정함으로써, 모든 노드를 사용하여 데이터베이스에 액세스하는 방법을 제어할 수 있습니다. 이 값을 초기화하고 유지보수하려면 mqsisetdbparms 명령을 사용하십시오.

노드 등록 정보에 지정한 데이터 소스에 대한 사용자 및 암호 정보를 지정함으로써, 모든 노드를 사용하여 데이터베이스에 액세스하는 방법을 제어할 수 있습니다. 이 값을 초기화하고 유지보수하려면 mqsisetdbparms 명령을 사용하십시오.

메시지 가공 요구사항이 복잡하면 단일 Compute 노드 내에서 가공을 완료합니다. 브로커는 각 Compute 노드에 있는 항목에 대한 메시지를 구문 분석하기 때문에 몇 개의 복잡한 Compute 노드를 수행하는 것이 여러 개의 간단한 노드를 수행하는 것보다 좋습니다.

Mapping
Mapping 노드를 사용하여 입력 메시지의 요소로부터 또는 데이터베이스 컨텐츠로부터 출력 메시지 요소의 컨텐츠를 맵핑함으로써 입력 메시지로부터 새 메시지를 작성할 수 있습니다. 메시지의 부분을 추출하거나 선택적으로 컨텐츠를 변경하여 노드가 수신하는 메시지 사본의 부분인 새 출력 메시지를 작성할 수도 있습니다. Mapping 노드는 사전정의된 메시지만 핸들링합니다.

노드 등록 정보에 지정한 데이터 소스에 대한 사용자 및 암호 정보를 지정함으로써, 모든 노드를 사용하여 데이터베이스에 액세스하는 방법을 제어할 수 있습니다. 이 값을 초기화하고 유지보수하려면 mqsisetdbparms 명령을 사용하십시오.

메시징 편집기를 사용하여 Mapping 노드의 사전정의된 메시지에서 단순 가공을 수행하기 위한 맵핑을 개발할 수 있습니다. 다른 유형의 노드에서 맵핑 노드를 위해 개발한 맵핑을 사용하지 마십시오.

Extract
Extract 노드를 사용하여 입력 메시지의 지정된 요소에서 새 출력 메시지를 작성할 수 있습니다. 메시지의 부분을 추출하거나 선택적으로 컨텐츠를 변경하여 노드가 수신하는 메시지 사본의 부분인 새 출력 메시지를 작성할 수 있습니다. Extract 노드는 사전정의된 메시지만 핸들링합니다.

맵핑 편집기를 사용하여 Extract 노드의 사전정의된 메시지에서 단순 가공을 수행하기 위한 맵핑을 개발할 수 있습니다. 다른 유형의 노드에서 Extract 노드를 위해 개발한 맵핑을 사용하지 마십시오.

Database
노드 등록 정보로 식별되는 데이터베이스와 상호작용하려면 Database 노드를 사용하십시오. Database 노드는 사전정의 및 자체 정의 메시지를 모두 핸들링합니다. ESQL 편집기를 통해, ESQL 함수를 코드화하여 메시지의 정보를 기초로 메시지로부터 데이터베이스 컨텐츠를 갱신할 수 있으며, 새 정보를 데이터베이스에 삽입할 수 있고, 데이터베이스에서 정보를 삭제할 수 있습니다. 다른 유형의 노드에서 Database 노드를 위해 개발한 ESQL 코드를 사용하지 마십시오.

이 노드는 광범위한 기능을 가진 매우 유연한 인터페이스를 제공합니다. 또한 상호작용이 트랜잭션에 관여하는 방법을 제어하는 데 사용할 수 있는 등록 정보도 있습니다.

노드 등록 정보에 지정한 데이터 소스에 대한 사용자 및 암호 정보를 지정함으로써, 모든 노드를 사용하여 데이터베이스에 액세스하는 방법을 제어할 수 있습니다. 이 값을 초기화하고 유지보수하려면 mqsisetdbparms 명령을 사용하십시오.

이 노드에서는 데이터베이스만 갱신할 수 있으며 메시지 컨텐츠는 갱신할 수 없습니다. 메시지 컨텐츠를 갱신하려면 Compute 또는 Mapping 노드를 사용하십시오.

DataDelete, DataInsert, DataUpdate
DataDelete, DataInsert 및 DataUpdate 노드는 단일 상호작용 모드(각각 하나 이상의 행 삭제, 하나 이상의 행 삽입 또는 기존의 하나 이상의 행 갱신)를 제공하는 Database 노드의 특수한 형식입니다. DataDelete, DataInsert 및 DataUpdate 노드는 사전정의된 메시지만 핸들링합니다. 이러한 함수를 수행하기 위한 맵핑을 개발하려면 맵핑 편집기를 사용하십시오. 다른 노드 유형으로 이들 노드를 위해 개발한 맵핑은 사용하지 마십시오. 이 노드를 통해 이 노드가 수행하는 갱신의 트랜잭션 특성도 제어할 수 있습니다.

노드 등록 정보에 지정한 데이터 소스에 대한 사용자 및 암호 정보를 지정함으로써, 모든 노드를 사용하여 데이터베이스에 액세스하는 방법을 제어할 수 있습니다. 이 값을 초기화하고 유지보수하려면 mqsisetdbparms 명령을 사용하십시오.

이 노드에서는 데이터베이스만 갱신할 수 있으며 메시지 컨텐츠는 갱신할 수 없습니다. 메시지 컨텐츠를 갱신하려면 Compute 또는 Mapping 노드를 사용하십시오.

Warehouse
Warehouse 노드는, 예를 들면, 감사 이유로 데이터베이스에 메시지 전체 또는 부분을 저장하는 데 사용할 수 있는 저장 인터페이스를 제공합니다. Warehouse 노드는 사전정의된 메시지만 핸들링합니다. 이 조치를 수행하기 위한 맵핑을 개발하려면 맵핑 편집기를 사용하십시오. 다른 노드 유형에서 Warehouse 노드를 위해 개발한 맵핑은 사용하지 마십시오.

노드 등록 정보에 지정한 데이터 소스에 대한 사용자 및 암호 정보를 지정함으로써, 모든 노드를 사용하여 데이터베이스에 액세스하는 방법을 제어할 수 있습니다. 이 값을 초기화하고 유지보수하려면 mqsisetdbparms 명령을 사용하십시오.

이 노드에서는 데이터베이스만 갱신할 수 있으며 메시지 컨텐츠는 갱신할 수 없습니다. 메시지 컨텐츠를 갱신하려면 Compute 또는 Mapping 노드를 사용하십시오.

XMLTransformation

XMLT 스타일 시트를 사용하여 입력 XML 메시지를 다른 형식으로 변환하려면 XMLTransformation 노드를 사용하십시오. 반드시 데이터를 XML 메시지로 구문 분석할 수 있어야 합니다. 변환 결과는 BLOB 메시지 출력입니다. 스타일시트는 시트 안에 정의된 규칙을 사용하여 데이터를 정렬할 수 있습니다. 특정 기준에 따라 포함하거나 제외할 데이터 요소를 선택하고 데이터를 다른 데이터 형식으로 변환할 수 있습니다.

Xalan-Java 변환 엔진(Apache Xalan-java XSLT 프로세서)은 기본 변환 엔진으로 사용됩니다. XMLT에 대한 자세한 내용은 W3C XSL Transformations을 참조하십시오.

양식 스타일과 XML 파일을 브로커 실행 그룹에 전개하여 스타일시트와 XML 파일 유지보수를 쉽게 수행할 수 있습니다.

변경 시작JMSMQTransform변경 끝
변경 시작JMS 메시지 트리를 가지고 있는 메시지를 WebSphere MQ JMS 제공자가 생성하는 메시지의 형식과 호환 가능한 메시지 트리 구조를 가진 메시지로 변환하려면 JMSMQTransform 노드를 사용하십시오.

MQJMSTransform 노드를 사용하여 메시지를 레거시 메시지 플로우로 송신하고 WebSphere MQ JMS 및 WebSphere Message Broker publish subscribe와 상호작용할 수 있습니다.

변경 끝
변경 시작MQJMSTransform변경 끝
변경 시작WebSphere MQ JMS 제공자 메시지 트리 형식을 가지고 있는 메시지를 수신하고 이 메시지를 JMS 목적지로 송신할 메시지와 호환 가능한 형식으로 변환하려면 MQJMSTransform 노드를 사용하십시오.

MQJMSTransform 노드를 사용하여 메시지를 레거시 메시지 플로우로 송신하고 WebSphere MQ JMS 및 WebSphere Message Broker publish subscribe와 상호작용할 수 있습니다.

변경 끝
변경 시작MQOptimizedFlow변경 끝
변경 시작

Publication 노드에 연결된 MQInput 노드로 구성되고 WebSphere MQ MQ 전송을 통해 JMS를 사용하는 publish/subscribe 메시지 플로우를 바꾸려면 MQOptimizedFlow 노드를 사용합니다. MQOptimizedFlow 노드는 z/OS 시스템에서 사용할 수 없습니다.

성능을 개선하려면, 특히 단일 publisher가 단일 subscriber에 대해 지속 publication을 생성할 경우 MQOptimizedFlow 노드를 사용하십시오.

변경 끝
사용자 정의
사용자 정의 노드를 포함시켜 데이터베이스와 상호작용할 수 있습니다.

노드 등록 정보에 지정한 데이터 소스에 대한 사용자 및 암호 정보를 지정함으로써, 모든 노드를 사용하여 데이터베이스에 액세스하는 방법을 제어할 수 있습니다. 이 값을 초기화하고 유지보수하려면 mqsisetdbparms 명령을 사용하십시오.

다음 표에는 이 노드가 갱신할 수 있는 내용이 요약되어 있습니다.

노드 데이터베이스 갱신 여부 메시지 갱신 여부 로컬 환경 갱신 여부 메시지 세트 필요 여부
Compute 아니오
Database 아니오 아니오
DataDelete 아니오
DataInsert 아니오
DataUpdate 아니오
Extract
Mapping
Warehouse 아니오
의사 결정

플로우가 메시지를 처리하는 방법을 결정하기 위해 여러 가지 방법으로 메시지 플로우 내의 제어 플로우 및 순서를 결정하는 노드를 사용할 수 있습니다. 메시지 플로우 내의 이벤트, 발생 빈도 및 시간을 판별하는 노드(TimeoutControl 및 TimeoutNotification)를 사용할 수도 있습니다. 메시지가 거치는 라우트를 통해 메시지에 대해 어떠한 변환이 수행될 지를 정확히 판별할 수는 있지만 라우팅은 메시지 변환과 무관합니다.

예를 들면, 송금 응용프로그램은 항상 메시지를 다른 응용프로그램으로 송신합니다. 고가의 트랜잭션이 모두 기록될 수 있도록 전송 값이 $10,000 이상인 모든 메시지는 두 번째 응용프로그램으로 송신되도록 결정할 수 있습니다.

다른 예로, 전국 자동차 클럽에서는 임계값 이상으로 주문하는 특정 구성원에게 최고의 서비스를 제공합니다. 대부분의 주문은 일반 채널을 통해 라우트되지만 멤버쉽 번호와 주문 값이 특정 기준에 맞으면 이 주문은 특수하게 처리됩니다.

메시지 처리 시 추가 라우팅 정보를 메시지에 빌드하여 더욱 동적인 라우팅 옵션을 설정할 수도 있습니다. 메시지에 설정된 값(목적지)에 따라 메시지를 수신하도록 선택적 규칙 세트가 설정됩니다. 추가된 메시지 컨텐츠로 정해진 순서대로 하나 이상의 선택적 규칙 세트로 메시지가 처리되는 규칙을 설정할 수 있습니다.

다음의 노드를 사용하여 메시지가 메시지 플로우를 따르는 라우트에 대해 결정하십시오.

변경 시작유효성 검증변경 끝
변경 시작Validate 노드를 사용하여 해당 입력 터미널에 도착한 메시지가 예상된 메시지인지 점검합니다. 메시지에 예상된 메시지 템플리트 등록 정보(메시지 도메인, 메시지 세트 및 메시지 유형 등)가 포함되어 있는지와 메시지 컨텐츠가 올바른지 점검할 수 있습니다. 메시지를 하나 이상의 메시지 도메인, 메시지 세트 또는 메시지 유형에 대해 점검할 수 있습니다.

Validate 노드가 WebSphere Message Broker 버전 6.0 및 후속 릴리스에서 더 이상 사용되지 않는 Check 노드를 대체합니다. Validate 노드는 Check 노드와 동일한 방법으로 작동되지만 추가 유효성 검증 등록 정보를 포함하고 있어서 구문 분석기를 사용한 메시지 컨텐츠 유효성 검증을 허용합니다(이 기능을 지원하는 구문 분석기인 경우).

변경 끝
Filter
이 노드가 메시지를 송신할 다음 노드를 판별하기 위해 ESQL문을 코드화할 수 있습니다. 다른 유형의 노드에서 Filter 노드를 위해 개발한 ESQL 코드를 사용하지 마십시오.

테스트가 성공할 경우에는 메시지가 true 터미널로 전달되고 실패할 경우에는 false 터미널로 전달됩니다. 명령문을 해석할 수 없으면(예를 들면, 입력 메시지에 나타나지 않는 필드의 값을 테스트함) 메시지가 unknown 터미널로 전달됩니다. 다른 오류가 감지되면 메시지가 failure 터미널로 전달됩니다.

ESQL문의 테스트는 메시지 컨텐츠, 데이터베이스 컨텐츠 또는 이들의 조합에 따라 달라질 수 있습니다.

데이터베이스를 참조하는 경우 브로커 시스템의 레지스트리에 정의된 각 데이터 소스에 대한 사용자 및 암호 정보를 지정하여 이 노드에서 액세스하는 방법을 제어할 수 있습니다. 분산 시스템에서는 이 값을 초기화하고 유지보수하려면 mqsisetdbparms 명령을 사용하십시오.

z/OS에서는 데이터베이스에 액세스하려는 브로커 시작 작업 ID를 사용합니다.

Compute 노드 대신 이 노드를 사용하여 이 기능을 제공하십시오. 제어 메시지 선택 및 라우팅을 제어하도록 Compute 노드를 구성할 수도 있지만 Filter 노드가 해당 기능을 보다 적절하게 수행합니다.

FlowOrder
이 노드 터미널을 연결하여 하나의 노드 순서에 이어 두 번째 노드 순서가 이 메시지를 강제로 처리되게 할 수 있습니다.
변경 시작Passthrough변경 끝
변경 시작Passthrough 노드를 사용하여 실행 시 서브플로우를 버전화하십시오. Passthrough 노드를 사용하면 메시지 플로우 또는 서브플로우에 레이블을 추가할 수 있습니다. 이 레이블과 버전 제어 시스템의 키워드 대체를 결합함으로써 전개된 메시지 플로우에 어떤 버전의 서브플로우가 포함되어 있는지 알 수 있습니다. 사용자의 목적을 위해 이 레이블을 사용할 수 있습니다. 레이블에 올바른 버전 키워드가 포함되어 있으면 다음과 같은 레이블의 값이 표시됩니다.
  • 브로커 아카이브(BAR) 파일에 저장, mqsireadbar 명령 사용
  • 특정 브로커에 마지막으로 전개, Message Brokers Toolkit에서 전개된 메시지 플로우의 등록 정보
  • 실행 시에, 해당 메시지 플로우에 대한 사용자 추적을 사용하는 경우
변경 끝
RouteToLabel 및 Label
Compute 노드에 RouteToLabel 노드에 활동하는 목적지 목록을 정의할 수 있습니다. 이 목록은 목적지를 알아내 해당 Label 노드로 메시지를 전달합니다.
ResetContentDescriptor
메시지 플로우의 후속 노드가 다음에 메시지 비트스트림을 구문 분석할 때 사용하는 새 메시지 등록 정보를 설정할 수 있습니다.

특정 시간에 매일 배치 작업을 실행하거나 고정 간격으로 정보를 처리하여 공개할 수 있습니다(예를 들면, 환율에 대한 정보를 계산하여 은행으로 송신할 수 있음). 또는 특정 트랜잭션이 정의된 시간 내에 완료되지 않을 경우 지정된 복구 조치를 취할 수도 있습니다. 이 모든 경우를 위해 두 개의 시간종료 노드(TimeoutControl 및 TimeoutNotification)가 제공됩니다.

TimeoutControl
특정 시간이나 정의된 시간 간격으로 발생하는 이벤트를 제어하려면 메시지 플로우에서 TimeoutControl 노드와 TimeoutNotification 노드를 함께 사용하십시오. TimeoutControl 노드는 시간 종료 요청을 포함하는 입력 메시지를 수신합니다. 이 입력 메시지는 유효성 검증 후 저장되어(메시지의 부분 또는 전체) 메시지 플로우에서 연관된 TimeoutNotification 노드에 의해 전달됩니다. 또한 입력 메시지는 메시지 플로우의 다음 노드에 변경되지 않은 상태로 전달됩니다.

두 개 이상의 TimeoutControl 노드가 각 TimeoutNotification 노드와 연관될 수 있습니다.

TimeoutNotification
구성된 시간에 또는 시간 간격을 두고 추가 처리를 위해 메시지 플로우의 다음 다음 노드로 전달되는 메시지를 생성하려면 독립형 TimeoutNotification 노드를 사용하십시오.
요청 조합

AggregateControl, AggregateReply 및 AggregateRequest 노드를 사용하여 관련 요청 및 응답을 조합할 수 있습니다. 이러한 노드를 사용하여 하나의 입력 메시지에 대한 응답으로 여러 개의 요청을 생성하고 이러한 요청에 대한 응답으로 수신한 응답을 제어 및 통합하며 응답에서 제공된 정보를 결합하여 처리를 계속하십시오.

오류 핸들링 및 보고

오류 핸들링 및 보고에 영향을 주는 노드를 사용할 수 있습니다.

Trace
Trace 노드가 있을 경우, 해당 지점에서 메시지 플로우에 발생한 내용을 기록하기 위해 하나 이상의 추적 항목을 생성할 수 있습니다.
TryCatch
TryCatch가 있을 경우, 예외가 전달될 때 오류 처리를 제어할 수 있습니다.
전달
Throw 노드를 포함시키면, 예외를 강제 생성하고 예외 ID를 지정할 수 있으므로 문제점을 더 쉽게 진단할 수 있습니다.

Compute, Extract 및 Mapping 노드를 제외하고는 노드에서 수신한 입력 메시지와 노드에서 송신한 출력 메시지는 동일합니다.

관련 개념
메시지 플로우 개요
일반 사용자 응용프로그램 지원
로컬 환경 트리 구조
관련 태스크
DB2 설정
메시지 플로우 설계
메시지 플로우에서 데이터베이스에 액세스
메시지 플로우 작성
메시지 플로우 컨텐츠 정의
의사 결정을 위해 노드 사용
전개
관련 참조
mqsisetdbparms 명령
내장 노드
일반 사용자 응용프로그램 지원
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ac00330_