Canais
O IBM® MQ pode usar três tipos diferentes de canais: um canal de mensagens, um canal MQI e um canal AMQP.
Não confunda estes tipos distintos de canais:
- Canal de mensagens
- Um canal de mensagens é um link de comunicações unidirecional entre dois gerenciadores de filas. O IBM MQ utiliza os canais de mensagens para transferir mensagens entre os gerenciadores de filas. Para enviar mensagens em ambas as direções, você deve definir um canal para cada direção.
- canal MQI
- Um canal MQI é bidirecional e conecta um aplicativo (cliente MQI) a um gerenciador de filas em uma máquina do servidor. O IBM MQ usa os canais de MQI para transferir chamadas e respostas de MQI entre clientes e gerenciadores de filas do MQI.
Canal AMQP
- Um canal AMQP, que é bidirecional e conecta um cliente AMQP a um gerenciador de filas em uma máquina de servidor. O IBM MQ usa canais AMQP para transferir chamadas AMQP e respostas entre aplicativos AMQP e gerenciadores de filas.
Ao referir-se aos canais de mensagens, a palavra canal é normalmente usada como um sinônimo de definição de canal. Fica claro, pelo contexto, se estamos falando de um canal completo, que tem duas extremidades, ou de uma definição de canal, que tem apenas uma extremidade.
Canais de Mensagens
As definições de canal de mensagens podem ser um dos seguintes tipos:
Tipo de definição de canal de mensagens | Descrição |
---|---|
Emissor | Um canal emissor é um canal de mensagens que o gerenciador de filas utiliza para enviar mensagens a outros gerenciadores de filas. Para enviar mensagens utilizando um canal emissor, é necessário criar também, no outro gerenciador de filas, um canal receptor com o mesmo nome do canal emissor. É possível também utilizar canais emissores com canais solicitantes se estiver implementando um mecanismo de "retorno de chamada". |
Servidor | Um canal servidor é um canal de mensagens que o gerenciador de filas utiliza para enviar mensagens a outros gerenciadores de filas. Para enviar mensagens utilizando um canal servidor, é necessário criar também, no outro gerenciador de filas, um canal receptor com o mesmo nome do canal servidor. Também é possível utilizar os canais de servidor com os canais de solicitante. Nesse caso, a definição de canal solicitante na outra extremidade do canal solicita o início da definição de canal servidor. O servidor envia mensagens para o solicitante. O servidor também pode iniciar a comunicação assim que o servidor souber o nome da conexão do canal do parceiro. |
Receptor | Um canal de receptor é um canal de mensagens que o gerenciador de filas utiliza para receber mensagens de outros gerenciadores de filas. Para receber mensagens utilizando um canal receptor, é necessário criar também, no outro gerenciador de filas, um canal emissor ou servidor com o mesmo nome desse canal receptor. |
Solicitador | Um canal do Solicitante é um canal de mensagens que o gerenciador de filas usa para receber mensagens de outros gerenciadores de filas. Um canal do Solicitante pode solicitar que o canal do parceiro definido na extremidade remota seja iniciado. Se o canal do parceiro for um canal do Servidor, o canal do Servidor aceitará a solicitação de início e começará a enviar mensagens, da fila de transmissão identificada na definição de canal do Servidor para o canal do Solicitante. Se o canal do parceiro for um canal Emissor, o canal Emissor aceitará a solicitação de início e, em seguida, encerrará a conexão com o Solicitante. Em seguida, o canal Emissor é iniciado, negocia uma sessão com o canal do Solicitante do parceiro e começa a enviar mensagens da fila de transmissão identificada na definição do canal emissor. Essencialmente, este último caso fornece um mecanismo de retorno de chamada no qual o canal do Solicitante solicita que canal emissor efetue o retorno de chamada. |
Emissor de cluster | Uma definição de canal emissor do cluster (CLUSSDR) define a extremidade de envio de um canal no qual um gerenciador de filas do cluster pode enviar informações sobre o cluster para um dos repositórios completos. O canal emissor do cluster é utilizado para notificar o repositório de todas as mudanças no status do gerenciador de filas, por exemplo, a inclusão ou remoção de uma fila. É utilizado também para transmitir mensagens. Os próprios gerenciadores de filas de repositório completo têm canais emissores do cluster que apontam um para o outro. Eles os utilizam para comunicar uns aos outros alterações no status do cluster. É de menor importância para qual repositório completo uma definição de canal CLUSSDR do gerenciador de filas aponta. Depois que o contato inicial foi feito, novos objetos do gerenciador de filas do cluster são definidos automaticamente conforme requerido para que o gerenciador de filas possa enviar informações sobre o cluster a cada repositório completo e mensagens a cada gerenciador de filas. Para obter mais informações, consulte Clusters de Gerenciadores de Filas. |
Receptor de cluster | Uma definição de canal receptor do cluster (CLUSRCVR) define a extremidade de recebimento de um canal no qual um gerenciador de filas do cluster pode receber mensagens de outros gerenciadores de filas no cluster. Um canal receptor do cluster pode também transportar informações sobre o cluster destinadas ao repositório. Definindo o canal receptor do cluster, o gerenciador de filas indica aos outros gerenciadores de filas do cluster que ele está disponível para receber mensagens. Você precisa de pelo menos um canal receptor do cluster para cada gerenciador de filas do cluster. Para obter mais informações, consulte Clusters de Gerenciador de Filas. |
Para cada canal, você deve definir ambas as extremidades para que haja uma definição de canal para cada extremidade do canal. As duas extremidades do canal devem ser de tipos compatíveis.
Você pode ter as seguintes combinações de definições de canal:
- Emissor-Receptor
- Servidor-Receptor
- Solicitante-Servidor
- Solicitante-Servidor (retorno de chamada)
- Cluster-emissor-Cluster-receptor
Agentes do Canal de Mensagem
Cada definição de canal criada pertence a um determinado gerenciador de filas. Um gerenciador de filas pode ter vários canais de tipos iguais ou diferentes. Em cada extremidade do canal, há um programa, o MCA (Message Channel Agent). Em uma extremidade do canal, o MCA responsável pela chamada pega as mensagens da fila de transmissão e as envia por meio do canal. Na outra extremidade do canal, o MCA responsável pelo atendimento recebe as mensagens e as entrega ao gerenciador de filas remotas.
Um MCA responsável pela chamada pode estar associado a um canal de emissor, servidor ou solicitante. Um MCA responsável pelo atendimento pode estar associado a qualquer tipo de canal de mensagens.
O IBM MQ suporta as seguintes combinações de tipo de canal nas duas extremidades de uma conexão:
Responsáveis pela Chamada | Direcionamento do Fluxo de Mensagens | Responsável pelo Atendimento | ||
---|---|---|---|---|
Tipo de Canal | Listener Exigido? | Listener Exigido? | Tipo de Canal | |
Emissor | Não | Responsável pela Chamada para Responsável pelo Atendimento | Sim | Receptor |
Servidor | Não | Responsável pela Chamada para Responsável pelo Atendimento | Sim | Receptor |
Servidor | Não | Responsável pela Chamada para Responsável pelo Atendimento | Sim | Solicitador |
Solicitador | Não | Responsável pelo Atendimento para Responsável pela Chamada | Sim | Servidor |
Solicitador | Sim | Responsável pelo Atendimento para Responsável pela Chamada | Sim | Emissor |
Canais MQI
Os canais MQI podem ser de um dos seguintes tipos:
Tipo de Canal MQI | Descrição |
---|---|
Conexão de servidor | Um canal de conexão do servidor é um canal MQI bidirecional que é usado para conectar um cliente do IBM MQ a um servidor do IBM MQ. O canal de conexão do servidor é a extremidade de servidor do canal. |
Conexão de cliente | Um canal de conexão do cliente é um canal MQI bidirecional que é usado para conectar um cliente do IBM MQ a um servidor do IBM MQ. O IBM MQ Explorer também usa conexões do cliente para se conectar a gerenciadores de filas remotas. O canal de conexão do cliente é o final do cliente do canal. Quando você cria um canal de conexão do cliente, é criado um arquivo no computador que hospeda o gerenciador de filas. Deve-se copiar o arquivo de conexão do cliente no computador cliente do IBM MQ. |
![[ UNIX, Linux, Windows, IBM i ]](./ngmulti.gif)
Canais AMQP
Existe somente um tipo de canal AMQP.
É usado um canal para conectar um aplicativo de sistema de mensagens AMQP com um gerenciador de filas, ativando o aplicativo para troca de mensagens com os aplicativos do IBM MQ. Um canal AMQP permite que você desenvolva um aplicativo usando MQ Light e, em seguida, implemente-o como um aplicativo corporativo, tirando vantagem das instalações de nível corporativo fornecidas pelo IBM MQ.
Para obter mais informações sobre canais, consulte Canais na IBM Knowledge Center.