Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Olá pessoal.
Neste post vou apresentar o Managed Services Engine, um Service Bus Open Source e gratuito criado pela Microsoft.
O MSE surgiu da necessidade de uma série de clientes da consulturia da Microsoft em Virtualizar, Versionar e Gerenciar seus serviços já existentes.
O MSE ajuda as empresas a:
- Reduzir o tempo de desenvolvimento e publicação de Serviços dimunuindo o time-to-market de novos Serviços.
- Versionar Serviços.
- Gerenciar politicas de acesso e autorização a Serviços.
- Disponibilizar sistemas legados como Serviços.
- Criar uma Governança de Serviços
Arquitetura Lógica do MSE
Um ponto que deve ficar claro é que o MSE não hospeda os serviços, ele simplesmente é um um “roteador” para os serviços físicos. Porém, ele permite que uma série de atividades sejam realizadas antes da chamada ao serviço físico. Sua arquitetura é composta de três componentes lógicos:
Messager: É a primeira camada da arquitetura do MSE. Ele é responsável por expor os endpoints, receber as chamadas dos serviços e executar todas as tarefas no nível da mensagem como transformação de formatos.
Broker: Segunda camada da arquitetura do MSE responsável por controlar as funcionalidades do serviço, validação das chamadas, contexto dos serviços e aplicar as politicas necessárias a chamada do serviço.
Dispatcher: A camada “mais baixa” do MSE. Ela é responsável por identificar através do formato da mensagem recebida, qual é o serviço físico que deve ser chamado. Com isto, em função da mensagem recebida, um versão específica de um serviço será chamada.
Arquitetura Física do MSE
O MSE foi construído utilizando .Net Framework 3.5 e WCF. Por ser um produto Open Source, ele vem com o código fonte. O único componente que não vem com o código fonte é o Runtime do MSE. Isto se deve ao fato de que o Runtime do MSE é construído em cima de componentes do Biztalk, e por uma questão de licenciamento, não foi liberado seu fonte.
Service Catalog: Armazena os metadados dos serviços virtualizados. Fisicamente estas informações são armazenadas em um banco de dados SQL Server e são expostos para os outros componentes do MSE via WCF.
MSE Runtime: É o componente chave da solução. É ele que possúi a lógica para virtualizar os serviços físicos.
MSE Model Viewer: É uma interface gráfica feita em Windows Presentation Foundation – WPF – que permite gerenciar toda a infra-estrutura de serviços expostas no MSE.
O MSE é uma solução muito robusta e escalável. Podemos ir de um modelo de topologia Single Server:
Até uma topologia complexa com vários nós de componentes Messengers, Balanceamento de carga e alta disponibilidade.
Futuramente pretendo falar um pouco mais detalhadamente sobre a parte de escalabilidade do MSE.
FAQ:
E o AppFabric (“Dublin”), como fica?
Bom, você deve estar se perguntando aonde o “Dublin” ou o AppFabric se encaixa cenário, não é? Pois bem. O AppFabric (“Dublin”) é um host de serviços para WCF e WF, ele NÃO versiona nem virtualiza os serviços hospedados. O MSE serve para cubrir esta falta no AppFabric. Eles não são concorrentes, são complementares.
Posso Versionar / Virtualizar serviços da Núvem, .Net Services?
Sim. Você pode utilizar o MSE para virtualizar serviços em geral como abaixo:
Posso Versionar / Virtualizar serviços Java?
Sim. Como dito, o MSE não hospeda o serviço, ele é ESB, e por isso permite que serviços padrão WS-* sejam publicados nele.
A Microsoft dá suporte ao MSE?
Sim. Através do contrato Premier da Microsoft é possível ter suporte ao produto.
A Microsoft pretende continuar evoluíndo o produto:
Sim. O MSE possúi duas formas de utilização. Você pode baixar e instalar / configurar o produto por conta própria ou contratar a Microsoft Consulting Services para fazer isto para você. Com isto, existe um plano de evolução do produto que hoje se encontra na versão 7.5. Para mais informações: Microsoft Services – SOI
O MSE é uma solução escalável?
Sim. Como mostrado na arquitetura física podemos ir de um simples servidor até uma topologia complexa com balanceamento de carga, cluster geográfico e alta disponibilidade.
Para conhecer mais: https://www.codeplex.com/servicesengine
Abraços,
Daibert