Notas sobre o Release


20.4 Visão Geral Funcional do MQSeries

Um conjunto de funções do MQSeries é fornecido com o DB2 UDB Versão 7.2, para permitir que instruções SQL inclua operações de mensagens. Isso significa que esse suporte está disponível para aplicativos gravados em qualquer linguagem suportada, por exemplo, C, Java, SQL utilizando qualquer uma das interfaces do banco de dados. Todos os exemplos mostrados abaixo são em SQL. Esse SQL pode ser utilizado de outras linguagens de programação em todas as maneiras padrão. Todos os estilos de mensagens do MQSeries descritos acima são suportados. Para obter mais informações sobre as funções do MQSeries, consulte a seção Referência de SQL das Notas sobre o Release.

Em uma configuração básica, um servidor MQSeries é localizado na máquina servidora do banco de dados junto com o DB2. As funções do MQSeries estão instaladas no DB2 e fornecem acesso ao servidor MQSeries. Os clientes do DB2 podem ser localizados em qualquer máquina acessível para o servidor do DB2. Vários clientes podem concorrentemente acessar as funções do MQSeries através do banco de dados. Através das funções fornecidas, os clientes do DB2 podem executar operações de mensagens dentro de instruções SQL. Essas operações de mensagens permitem que aplicativos do DB2 se comuniquem entre eles ou com outros aplicativos do MQSeries.

O comando enable_MQFunctions é utilizado para ativar um banco de dados DB2 para as funções do MQSeries.Ele estabelecerá automaticamente uma configuração padrão simples que os aplicativos do cliente podem utilizar sem ação administrativa adicional. Para obter uma descrição, consulte as seções 20.6, enable_MQFunctions e 20.7, disable_MQFunctions. A configuração padrão permite aos programadores de aplicativos uma maneira rápida para introdução e uma interface mais simples para desenvolvimento. A funcionalidade adicional pode ser configurada incrementalmente conforme necessário.

Exemplo 1: Para enviar uma mensagem simples utilizando a configuração padrão, a instrução SQL seria:

VALUES DB2MQ.MQSEND('mensagem simples')

Isso enviará a mensagem mensagem simples para o gerenciador de filas e para a fila do MQSeries especificados pela configuração padrão.

A AMI (Application Messaging Interface) do MQSeries fornece uma separação limpa entre as ações de mensagens e as definições que ditam como essas ações devem ser transportadas. Essas definições são mantidas em um arquivo de repositório externo e gerenciadas utilizando a ferramenta AMI Administration. Isso torna os aplicativos da AMI simples para desenvolver e manter. As funções do MQSeries fornecidas com o DB2 são baseadas na interface MQSeries da AMI. A AMI suporta o uso de um arquivo de configuração externo, chamado o Repositório da AMI, para armazenar as informações de configuração. A configuração padrão inclui um Repositório da AMI do MQSeries configurado para uso com o DB2.

Os dois conceitos de chave na AMI do MQSeries, os pontos e as políticas de serviço, são transportados nas funções do DB2 MQSeries. Um ponto de serviço é um nó de extremidade lógico a partir do qual uma mensagem é enviada ou recebida. No repositório da AMI, cada ponto de serviço é definido com um nome de fila e gerenciador de filas do MQSeries. As políticas definem a qualidade de opções de serviço que deve ser utilizada para uma determinada operação de mensagens. As qualidades da chave de serviço incluem a prioridade e a persistência da mensagem. Os pontos de serviço padrão e as definições de política são fornecidos e podem ser utilizados pelos desenvolvedores, para simplificar mais tarde seus aplicativos. O exemplo 1 pode ser regravado como segue para especificar explicitamente o ponto de serviço e o nome de política padrão:

Exemplo 2:

VALUES DB2MQ.MQSEND('DB2.DEFAULT.SERVICE', 'DB2.DEFAULT.POLICY',
 'simple message')

As filas podem ser atendidas por um ou mais aplicativos no servidor, no qual as filas e os aplicativos residem. Em muitas configurações, várias filas serão definidas para suportarem aplicativos e objetivos diferentes. Por esse motivo, muitas vezes é importante definir os pontos de serviços diferentes quando criar pedidos do MQSeries. Esse é demonstrado no seguinte exemplo:

Exemplo 3:

VALUES DB2MQ.MQSEND('ODS_Input', 'mensagem simples')

Nota:
Nesse exemplo, a política não é especificada e, dessa maneira, a política padrão será utilizada.

20.4.1 Limitações

O MQSeries fornece a capacidade para operações de mensagens e de bancos de dados serem combinadas em uma única unidade de trabalho como uma transação atômica. Esse recurso não é inicialmente suportado pelas Funções do MQSeries no Unix e Windows.

Ao utilizar as funções de envio ou de recebimento, o comprimento máximo de uma mensagem do tipo VARCHAR é de 4000 caracteres. O comprimento máximo ao enviar ou receber uma mensagem do tipo CLOB é 1 MB. Esses também são os tamanhos máximos de mensagens para publicação de uma mensagem utilizando o MQPublish.

Às vezes, são necessárias funções diferentes ao se trabalhar com mensagens CLOB e VARCHAR. Geralmente, a versão CLOB de uma função MQ utiliza a sintaxe idêntica como seu correlativo. A única diferença é que seu nome tem os caracteres CLOB no final. Por exemplo, o equivalente CLOB de MQREAD é MQREADCLOB. Para obter uma lista detalhada dessas funções, consulte a seção 42.3.3, Dados CLOB Agora São Suportados nas Funções do MQSeries.

20.4.2 Códigos de Erros

Os códigos de retorno retornados pelas Funções do MQSeries podem ser encontrados no Apêndice B da Publicação MQSeries Application Messaging Interface.


[ Início da Página | Página Anterior | Próxima Página | Índice | Índice Remissivo ]