Serviço de mensagens java (jms)

Definição - O que significa Java Message Service (JMS)?

Java Message Service (JMS) é uma interface de programação de aplicativo (API) da Sun Microsystems que funciona como middleware Java orientado a mensagens. Ele é projetado para uma troca de mensagens fracamente acopladas, confiáveis ​​e assíncronas entre diferentes componentes de aplicativos de software (chamados clientes), que são baseados no Java 2 Platform, Enterprise Edition (J2EE).

JMS é um padrão de mensagens capaz de criar, enviar, receber e ler mensagens como solicitações, relatórios ou eventos consumidos pelos componentes do aplicativo de software, não por humanos. O JMS permite que programas em sistemas diferentes, ou escritos em diferentes linguagens de programação, coordenem uns com os outros por meio de mensagens.

Definirtec explica Java Message Service (JMS)

A API JMS usa dois modelos de mensagens:

  1. Ponto a ponto, ou enfileiramento, modelo
    O JMS é fracamente acoplado em virtude de um componente intermediário, uma fila. Assim, os componentes de software se comunicam indiretamente. Isso significa que os componentes de software de envio de mensagens não exigirão conhecimento sobre o componente de software de recebimento. Este modelo é caracterizado por:

    • Apenas um componente está recebendo a mensagem.
    • O componente de origem não está operando quando o componente de recebimento recebe a mensagem.
    • O componente receptor não está operando quando a mensagem é enviada.
    • As mensagens processadas com sucesso estão sendo reconhecidas pelo componente receptor.

  2. Modelo de publicação e assinatura
    Este modelo funciona como um quadro de avisos anônimo. Um componente de assinatura pode registrar a necessidade de receber mensagens sobre um tópico específico, mas nenhum dos componentes (editor ou assinante) precisa saber sobre o outro. Este modelo é caracterizado por vários componentes que recebem a mensagem e uma dependência de tempo entre os componentes de publicação e os componentes de assinatura da seguinte forma:

    • O componente do editor cria um tópico de mensagem para outros componentes assinarem.
    • O componente do assinante permanece capaz de receber mensagens, a menos que uma assinatura durável seja estabelecida.
    • Se uma assinatura durável for estabelecida, as mensagens publicadas enquanto o assinante não pode receber mensagens serão redistribuídas sempre que o componente receptor se reconectar.