none
Cliente Java + Worker Role RRS feed

  • Pergunta

  • Olá pessoal, como é o ciclo de vida de um Worker Role?

    Outra dúvida. Tenho a seguinte situação: Worker roles buscando dados num banco de dados SQL Azure e minha a aplicação cliente está escrita em Java (não é uma aplicação com interface Web). Eu preciso acessar o resultado do processamento do worker role a partir desse programa Java (no meu caso, o Worker role gera um DataSet a partir de uma query ao BD). É possível essa comunicação Java + Worker Role gerando System.Data.DataSet?

    Obrigado.

    terça-feira, 6 de março de 2012 16:01

Todas as Respostas

  • Oi Claudivan.

    O ciclo de vida de um worker role, de maneira simplificada, é o seguinte:

    • O evento OnStart é chamado quando a instância está pronta. Nesse método você pode inicializar a sua aplicação.
    • Em seguida o método Run é chamado. Neste método fica a sua lógica. Em um worker role, tipicamente é um loop infinito que fica esperando e processando eventos.
    • Caso o método Run termine por algum motivo, o método OnStop é chamado, onde você pode fazer um encerramento da aplicação, liberar recursos, ou o que for necessário. Note que este método pode não ser chamado, caso a instância falhe.

    Este ciclo de vida é explicado em detalhes na documentação e também neste artigo.

    Sobre a outra dúvida, diga-me se eu entendi direito o que você está precisando. Pelo que eu entendi, você teria um servidor, em uma worker role, obtendo dados do SQL Azure e respondendo via um serviço a uma aplicação cliente escrita em Java, rodando fora do Azure. Isto é perfeitamente possível, mas o DataSet não vai ser o tipo de dados mais favorável para esta comunicação entre .NET e Java. DataSet é um tipo específico do .NET que é serializado de uma forma um tanto difícil de trabalhar em Java. Uma alternativa seria usar uma conversão de dados, ou seja, o padrão DTO, para gerar uma lista ou coleção de objetos C# comuns, e serializar isto como XML. Se você criar um web service WCF com Data Contract e um endpoint XML, deve ficar bem fácil consumir em Java.


    Fernando Correia
    pensandoazure.wordpress.com
    @facorreia

    terça-feira, 20 de março de 2012 02:14