WebSphere MQ 메시지 큐
메시지 큐는 원격 프로그램 호출의 대안을 제공합니다. 메시지 큐잉을 사용하여 큐에 메시지를 쓰고 큐에서 메시지를 읽어 프로그램이 통신합니다.
메시지 큐 인터페이스(MQI)는 WebSphere® MQ(이전에는 MQSeries®) 메시지에 액세스하고, 다양한 IBM® 및 비IBM 플랫폼에서 실행되는 프로그램 간에 데이터 전송을 지원하는 서비스를 큐 지정하기 위한 애플리케이션 프로그래밍 인터페이스(API)의 IBM 스펙입니다. 서비스는 프로그램이 하위 레벨의 통신 네트워크에 대한 지식이 없고 기타 프로그램의 위치에 대한 지식 없이 통신하도록 허용합니다.
메시지 큐는 프로그램(로컬)과 동일한 시스템 또는 다른 시스템(원격)에 있을 수 있습니다. 큐 관리자는 큐에 대한 액세스 및 큐 간의 데이터 전송을 관리합니다.
MQI 메시지는 하나의 프로그램에서 다른 프로그램으로 전송된 데이터의 문자열입니다. MQI 메시지는 메시지 큐 관리자(제어 정보)가 사용하는 라우팅 정보 및 프로그램 정보로 구성됩니다. 프로그램 정보의 구조 및 컨텐츠는 큐 관리자가 아니라 통신 프로그램에 의해 판별됩니다.
- 프로그램 간의 실제 접속이 없습니다.
- 통신 네트워크 액세스 기능이 프로그램이 아니라 큐 관리자로 빌드됩니다.
- 통신 프로그램을 병렬로 실행할 수 있습니다.
- 통신 프로그램을 동시에 실행할 필요가 없습니다.
- 중간 통신 링크 실패는 메시지 전달에 지장을 주지 않습니다.
- 작업은 소형의 자립 프로그램에 의해 수행됩니다.
- 통신은 이벤트에 의해 구동될 수 있습니다.
- 메시지에 우선순위가 지정될 수 있습니다.
- 메시지는 데이터베이스 또는 파일 업데이트와 함께 커미트되거나 롤백되는, 복구 가능한 자원일 수 있습니다.
- 단일 큐 처리에 대해 다중 서버를 시작하여 워크로드의 균형을 맞출 수 있습니다.
- 큐를 서비스하기 위해 다중 대체 프로세서를 지정하여 가용성을 늘릴 수 있습니다.
- add 및 get next와 같은 EGL 특정 키워드를 사용할 수 있습니다. 이 경우 EGL은 WebSphere MQ API 호출 생성에 대한 모든 세부사항을 처리합니다.
- 이전 프로그램 지원을 위해 WebSphere MQ API 호출을 직접 쓸 수 있습니다.
새 코드는 EGL 키워드를 사용하여 메시지 큐와 통신해야 합니다.
EGL은 자원 연관을 사용하여 레코드가 지정된 큐를 판별합니다. 자세한 정보는 메시지 큐에 대한 자원 연관 정의의 내용을 참조하십시오.
후속 절에서는 EGL에서 WebSphere MQ 프로그램 작성에 대한 세부사항을 제공합니다.
EGL에서 메시지 정의
EGL은 MQRecord 스테레오타입이 있는 레코드를 사용하여 메시지의 내부 표시를 작성합니다.
MQRecords는 기타 EGL 레코드와 동일한 일반 규칙을 따릅니다. 이는 메시지 데이터 및 다수의 특성으로 구성됩니다. 하나의 특성 세트는 WebSphere MQ와 통신하기 위해 생성하는 API 명령을 작성하는 방법을 EGL에 지시합니다. 다른 세트는 사용할 메시지 큐의 실제 이름(fileName), 논리적 큐 이름(queueName), 변수 길이 레코드의 크기(lengthItem) 및 기타 기본 정보를 제공합니다.
해당 특성에 대한 자세한 정보는 MQRecord 특성의 내용을 참조하십시오.