Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

MOM vs WebServices - Qual a melhor alternativa?

Olá, Comecei a assistir o curso de Mensageria, e estou com uma dúvida: - Qual a diferença entre webservices e um mom? - Em qual cenários ambos são indicados?

2 respostas
solução!

Oi Thiago, tudo bem?

Quando usamos SOAP/WSDL ou Rest, ou seja webservices, estamos nos integrando com um sistema que possui um contrato que define um conjunto de operações que você pode chamar. Em outras palavras, imagine uma classe com conjunto de métodos que você pode chamar. Por padrão, serviços SOAP/Rest são síncronos, mas é possível trabalhar também de forma assíncrona (como o AsyncResponse do JAX-RS 2.0). EJB e RMI também seguem esse estilo de integração.

Quanto aos MOM's nossa aplicação não conhece os sistemas que irão receber as informações e deixamos a missão de entregar as mensagens a esses sistemas por conta do próprio MOM. Ideal quando precisamos de uma arquitetura assíncrona, com acoplamento fraco e resiliente :)

Abraços!

Gostaria de adicionar à resposta do instrutor Leonardo, que quando pensamos em trocas de mensagens, o que importa é o conteúdo da mensagem, ou seja, os dados que serão trafegados, desta forma, o foco do produtor da mensagem (quem envia) é apenas em produzir os dados do conteúdo, não importando quem irá receber e o que irá fazer com esses dados. Da mesma forma, cabe ao consumidor (quem recebe) apenas o trabalho de "desembrulhar" esse conteúdo e realizar as operações e dar o destino que melhor lhe convier. O foco na mensageria é o conteúdo em si e não o processamento do mesmo. Claro que existe sempre algum consenso entre as partes para que os dados façam sentido, mas é apenas um consenso e não um contrato (interfaces e métodos pré-definidos) como ocorre no WS/REST/SOAP. Uma segunda vantagem, creio que será explorado nos próximos capítulos, se deve ao fato de termos uma garantia do recebimento e armazenamento das mensagens até que alguém possa consumir as mesmas. Desta forma, não temos problemas com eventuais quedas de sistemas, pois a maioria dos MOMs sabe armazenar fisicamente as mensagens até que alguém consuma e caso ele caia ou seja finalizado, ao ser iniciado novamente, ele recupera as mensagens e as recoloca na fila. Para este comportamento em um WS/REST/SOAP seria necessário implementar um mecanismo do tipo, que já é padrão dos MOMs.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software