Postagens

Mostrando postagens de janeiro, 2018

ActiveMQ - Criando filas

Imagem
Pré-requisito: Introdução ao ActiveMQ Vamos continuar falando sobre filas. Exitem dois tipos de filas, as queue e as topic. Filas queue:  Tem um processo para onde a mensagem será enviada. O processo vai ler a fila, e pegar a mensagem que pode ser um objeto, uma string, um número, ou qualquer coisa. E vai excluir da fila quando pegar a mensagem. A próxima leitura na fila, vai pegar a próxima mensagem. A entrega é garantida, pois a mensagem vai permanecer em espera até o destinatário pegar ela. Ex: mensagem de e-mail. Somente um usuário vai ver a mensagem. Filas topic:  É uma fila, onde cada mensagem vem em forma de postagem, onde vários destinatários terão acesso. Não há garantia de leitura. Também pode ser um objeto, uma string, um número ou qualquer coisa. Os destinatários podem ser desconhecidos. Ex: um fórum de discussão. Aberto para que qualquer um possa ler a mensagem.  Criando uma fila queue Na tela de abertura da administração do ActiveMQ, clique no link

Introdução ao ActiveMQ

Imagem
Vamos iniciar com uma breve explicação do porque usar filas de mensagens (Message Queues ou MQ). Existem linguagens diferentes com tecnologias diferentes e propósitos diferentes. E ainda, as aplicações desenvolvidas podem ter performances diferentes. Tomemos esse sistema SIMPLIFICADO de um banco (é muito mais complexo, levando em conta que se trata de dinheiro e precisa ter uma confiabilidade alta). Temos aqui uma aplicação Cobol em um maimframe rápido, mas com operações complexas e com contato com outros sistemas. O resultado do processamento pode demorar ou ser rápido, dependendo da operação. Para fazer a comunicação dessas operações com uma aplicação WEB, há uma aplicação Java que filtra e repassa as requisições. E por último uma aplicação Web simples que precisa ser rápida, pois os usuários vão usar é ela. E a nuvenzinha do lado é a Web. Supondo que eu, como usuário, peça para fazer uma transferência. Sabemos que isso muitas vezes depende do sistema de outros bancos para

Falando um pouquinho de linguagens

Algumas ponderações sobre uma discussão recorrente que vejo nas rodas de amigos e fóruns de discussão (isso inclue G+, Twitter e Facebook). Insistem em falar que Java é melhor que PHP, C++ é incrivelmente rápido e versátil (com poucas modificações, pode-se compilar o código em diferentes plataformas, sem perder muito da funcionalidade), mas ninguém supera Assembly para algumas aplicações. Há também defensores de Python e Rubi por aí, e outros que falam que a plataforma .NET é insuperável. Algo que aprendi, é que cada linguagem é boa NO QUE ELA PROPÕE A FAZER. Algo que aprendi em arquitetura de softwares, é que se você quer uma funcionalidade, você vai buscar instalar uma linguagem adequada ao que você quer. E integrar ao sistema usando uma comunicação comum (a esmagadora maioria das vezes, usando mensagens, arquivos ou banco de dados quando são sistemas internos na empresa, ou webservices quando são dispostos pela Web (pode ser usado banco, se ambos os sistemas tem acesso a ele pe