Azure Services Platform : falando sobre serviços e workflows na nuvem.

image

image

Olá pessoal, tudo certo?

Sem dúvida, um dos cenários possíveis para o desenvolvimento na nuvem é a integração entre empresas e aplicações do enteprise. Permitir que diferentes domínios de aplicação troquem mensagens e executem serviços através de uma interface padrão, pela internet e com alta escalabilidade, é quase uma vocação para a nuvem.

No post de hoje, vamos tratar da suíte .NET Services, presente na plataforma de serviços do Windows Azure.

O que é o .NET Services?

  • Podemos dizer que o principal objetivo do .NET Services é fornecer um “Service Bus” com alta disponibilidade e escalabilidade na nuvem. Para isso, o .NET Services oferece uma suíte de capacidades que estendem as tecnologias .NET para a nuvem, oferecendo suporte a padrões abertos e interoperáveis como REST, SOAP, RSS, AtomPub, etc. para a construção de serviços e workflows, além de servir como um repositório de serviços na nuvem. Ele também oferece um SDK para Java, PHP, Ruby e linguagens .NET, o que permite um conjunto maior de opotunidades de integração entre empresas de diferentes plataformas.

O .NET Services possui 3 grandes caixas de serviços, que tratam aspectos necessários para a integração e composição de serviços e workflows sobre o Azure. Veja o diagrama a seguir:

image

O que é o Access Control?

  • O .NET Access Control Services oferece um mecanismo de controle de acesso para aplicações web e serviços. Ele utiliza providers de identidade baseados em padrões seja através de sistemas de diretórios no enterprise ou sistemas de identidade na web como o Windows Live ID. Como exemplo temos o suporte do SAML - Security Assertion Markup Language v.2.0 - um padrão XML para troca de informações sobre autorização, autenticação e declarações de segurança através de atributos. Assim, decisões sobre autorização para o acesso de funcionalidades podem ser retiradas da aplicação e colocadas em um conjunto de regras de declarações via Access Control, transformando declarações (claims) de segurança em regras que as aplicações entendem e aplicam na execução de seus processos de negócio.

O que é o Service Bus?

  • O .NET Service Bus tem por objetivo facilitar a conexão entre aplicações através da Internet. Para isso, ele permite que serviços sejam registrados num barramento (Bus) que é facilmente descoberto e acessado, através de qualquer topologia de rede. De fato, o Service Bus oferece um pattern familiar de Enterprise Service Bus (ESB) na nuvem, facilitando a integração através de diferentes fronteiras de rede, segurança, limites organizacionais, na escala da internet.

O que é o Workflow Services?

  • O .NET Workflow Services é um host de alta escalabilidade para a execução de fluxos de controle na nuvem. Ele fornece um conjunto de atividades otimizadas para envio, recebimento e manipulação de mensagens HTTP e mensagens do Service Bus. Entre as ferramentas disponibilizadas pelo Workflow Services temos: um conjunto de ferramentas para deployment, gerenciamento e rastreamento de instâncias executadas de workflows e um conjunto de API's para gerenciamento. Para o desenvolvedor, workflows podem ser construído usando as ferramentas de desenho no próprio Visual Studio 2008, de forma integrada.

No portal da plataforma Azure, você tem acesso a todas as informações previstas para os serviços do .NET Services, como vemos a seguir:

 image

O que preciso saber sobre o Access Control?

  • O Access Control pode ser usado como principal mecanismo de autenticação de suas aplicações sobre o Azure. Ainda, o Access Control pode ser o mecanismo integrado de controle de autorização e acesso para aplicações externas, instaladas no enterprise e que consomem serviços da nuvem. O desenho a seguir exemplifica esse cenário, onde aplicações customizadas no enterprise consomem serviços e aplicações na nuvem.

image

O que preciso saber sobre o Service Bus?

  • O Service Bus oferece o conceito de registro de EndPoints para publicação dos serviços no barramento. Um exemplo de URL para um serviço no Service Bus segue:

[http|sb]://servicebus.windows.net/services/projeto/serviço/…

  • A partir do registro do serviço, aplicações externas ou serviços no próprio Azure podem acessar os serviços através de seus EndPoints. A figura a seguir exemplifica o barramento do Service Bus com a publicação dos diversos EndPoints de serviços registrados, com Pub/Sub via URI's.

image

O que preciso saber sobre o Workflow Services?

  • O Worflow Services oferece uma coordenação de regras para o disparo de serviços, de acordo com os parâmetros de entrada de um workflow.

image

Já deu para perceber que o assunto .NET Services é muito amplo, abrindo espaço para grandes discussões sobre serviços na nuvem, workflows, controle de acesso, barramento de serviços, integração entre enterprise e nuvem, etc.

Em posts futuros, vamos avançar no detalhamento das demais caixas do .NET Services, incluindo alguns exemplos de projetos. Aguardem!!!

Finalmente, o pacote SDK do .NET Services já está disponível desde dezembro passado:

Microsoft .NET Services SDK (Dec 2008 CTP)
Ref.: https://www.microsoft.com/downloads/details.aspx?FamilyID=83e1e30f-bd9a-4284-80a6-388ba2e768fd&displaylang=en

Por enquanto é só! Até o próximo post :)

Waldemir.