Já ouvi falar sobre o NServiceBus , mas não entendi direito o que é. Eles afirmam ser "o barramento de serviço de código aberto mais popular para .net".
Assim; o que é um "barramento de serviço" e quando preciso de um?
Já ouvi falar sobre o NServiceBus , mas não entendi direito o que é. Eles afirmam ser "o barramento de serviço de código aberto mais popular para .net".
Assim; o que é um "barramento de serviço" e quando preciso de um?
Respostas:
Você pode pensar em um barramento de serviço como a Ethernet de SOA.
Em primeiro lugar, ele introduz uma linguagem de identificação de coisas, como um endereço IP na Ethernet. Este nome não é algo inerentemente físico.
Em seguida, você tem algo físico envolvido em cada nó, como uma fila no caso de um barramento para suportar comunicação semiconectada, ou uma placa Ethernet na metáfora.
Além do físico, existe a parte do "protocolo" da comunicação, como a pilha OSI para Ethernet. Com o barramento, são as bibliotecas de cliente usadas pelo código do aplicativo.
Por fim, você pode ver um barramento de serviço como fornecendo o próximo nível superior de abstração para a construção de sistemas distribuídos. Você também pode usá-lo para comunicação cliente-servidor para fornecer mensagens unilaterais duráveis, bem como para o servidor enviar notificações por push de volta para o cliente.
Especificamente, você descobrirá que o NServiceBus é bastante leve e fácil de usar depois de fazer as pazes com o uso da tecnologia de enfileiramento - sua escolha de RabbitMQ, MSMQ, Tabelas regulares SQL, Amazon SQS, Filas de armazenamento do Azure e Azure Service Bus.
Confira o artigo da Wikipedia sobre o Enterprise Service Bus .
Um Service Bus atua como mais uma camada de abstração na busca incessante de implementar uma boa Arquitetura Orientada a Serviços. O Barramento de Serviços pode lidar com parte do trabalho pesado visto por trás de uma boa Arquitetura Orientada a Serviços, como Mensagens, Roteamento e Coordenação de Serviços.
Se você não tem certeza de por que deseja algo assim, sugiro ler sobre o que torna uma boa Arquitetura Orientada a Serviços O livro que realmente abriu meus olhos e provou a diferença entre apenas ter serviços da Web e ter uma verdadeira arquitetura orientada a serviços foi a arquitetura orientada a serviços de Thomas Erl : conceitos, tecnologia e design
Este termo foi introduzido com SOA, que é de certa forma o sucessor (como palavra da moda) de EAI .
Quando você precisar? Esta é uma boa pergunta. Ele vem com muita complexidade.
Uma regra prática poderia ser aplicada se resolver mais problemas do que causar.
Falar sério se você tem um ambiente heterogêneo e deseja alinhar aplicativos (usando tecnologias diferentes) aos processos de negócios. Então, pode ser útil usar BPEL (mas isso apresenta problemas de migração) para orquestração e coreografia
EDIT: O que não está na Wikipedia, é a prática: Um ESB pode se adaptar usando conectores especiais, aplicativos de terminal antigos para uso com Corba ou Java Enterprise que significa interoperabilidade. A desvantagem são os mais de 100 'Padrões' em torno do SOAP que não cooperam sem um enorme esforço.
Você definitivamente precisa disso se tiver que interconectar sistemas de TI dentro de seis meses após a fusão de 2 grandes empresas de garantia.