A interface de programação do Java Message Service (JMS) permite que as mensagens sejam enviadas e recebidas de forma assíncrona entre os aplicativos ou componentes Java . JMS torna possível implementar uma arquitetura do tipo MOM (middleware orientado a mensagem). Um cliente também pode receber mensagens de forma síncrona no modo de comunicação ponto a ponto.
A API JMS permite que aplicativos Java façam interface com middleware baseado em mensagem ou MOM. Os MOMs permitem interações entre os componentes do aplicativo em uma estrutura fracamente acoplada, assíncrona e confiável.
JMS permite a troca de mensagens entre dois ou mais sistemas. Este serviço oferece suporte ao modelo publicar-assinar e ao modelo ponto a ponto.
No modelo publicar-assinar, as entidades se registram em um tópico para receber mensagens. Na verdade, não se trata mais de enviar mensagens em uma fila ( cauda ), mas em um tópico. Quem publica as mensagens e quem as recebe não se conhecem.
Para o modelo ponto a ponto, o produtor posta as mensagens em uma fila e o consumidor lê as mensagens da fila. Nesse caso, o produtor sabe o destino das mensagens e as envia diretamente para a fila do consumidor. Para usar este modelo, o consumidor deve invocar o método receive () que está bloqueando
Para usar a API JMS é necessário ter um provedor de serviços que gerencie conexões, sessões, destinos e mensagens. Existem vários provedores de serviços JMS:
Artigos sobre implementações de código aberto de JMS:
Artigos sobre implementações comerciais de JMS:
Todos os servidores de aplicativos Java EE da versão 1.4 devem fornecer um serviço JMS, esse serviço deve ser acessível por meio de JCA ( arquitetura de conector Java ).