O Magic xpa (uniPaaS) Server é nosso motor de execução do lado server para aplicações WEB MERGE e RIA. Neste caso iremos detalhar o processo visando a instalação de uma aplicação uniPaaS RIA no Windows Azure, plataforma da Microsoft para Cloud Computing.
Para utilizar o Windows Azure você precisará estar devidamente cadastrado, podendo utilizar a versão de testes por 90 dias. Para obter maiores informações sobre como fazer seu cadastro, clique aqui.
Após estar devidamente credenciado, você conseguirá acessar o seu painel conforme mostrado abaixo:
Todas as informações obtidas nos próximos passos foram extraídas da documentação da Microsoft.
Criando o certificado
Para realizar a transferência de dados entre sua máquina e o Windows Azure é necessário um certificado.
Para criar o certificado clique aqui e siga os passos somente do item “Step 1: Create a self-signed PFX certificate”. Guarde o local para onde foi exportado o arquivo PFX e a senha definidos no item 6.
Criando o ambiente para o Windows Azure
1) Para criar o ambiente é necessário o SDK do Windows Azure. Instale-o clicando aqui.
2) Crie uma pasta para manter todos os arquivos. Ela conterá a definição das informações do serviço do Windows Azure.
3) Nesta pasta crie um arquivo com o nome “Teste_uniPaaS_ServiceDefinition.csdef” e neste arquivo coloque o seguinte texto:
Este arquivo nada mais é do que um XML com a definição do serviço que estará disponível no Windows Azure. Veja o que significa cada item deste XML clicando aqui.
Um detalhe especial quanto ao XML é o grupo “Startup” que significa que quando a instância do servidor iniciar será executado um script que estará no arquivo “EnableIsapi.cmd”. Este script será rodado pelo motivo de o uniPaaS possuir o ISAPI, sendo necessário liberá-lo no item “ISAPI and CGI Restrictions”.
4) Crie uma pasta chamada “Role_uniPaaS” dentro da pasta criada no item 2. Nesta pasta crie os seguintes arquivos e conteúdos:
O arquivo web.config é um arquivo de configuração da aplicação web no IIS. Nele está sendo definido somente um documento padrão de abertura que é o próprio arquivo criado posteriormente com um HTML simples de texto.
5) Crie uma pasta chamada “bin” dentro da pasta criada no item 4. Nesta pasta crie um arquivo chamado “EnableIsapi.cmd” e nele coloque o seguinte script:
O script anterior deve estar em uma única linha. Este script libera a execução do ISAPI conforme comentado no item 3.
6) Crie uma pasta chamada “uniScripts” dentro da pasta criada no item 4. Nesta pasta crie um arquivo chamado “web.config” e neste arquivo coloque o seguinte código:
O arquivo web.config é um arquivo de configuração da aplicação web no IIS. Nele está sendo definido que a pasta atual “uniScripts” terá permissão de execução de ISAPI/CGI.
Criando os arquivos para disponibilização da aplicação no Windows Azure
1) Acesse Iniciar/Todos os programas/ Windows Azure SDK for .NET – November 2011/ Windows Azure Command Prompt. Veja abaixo como foi acessado:
2) Pela tela de prompt aberta, acesse a pasta criada no item 2 do capítulo anterior e execute o seguinte comando:
cspack Teste_uniPaaS_ServiceDefinition.csdef /role:Role_uniPaaS;Role_uniPaaS /out:Teste_uniPaaS_WindowsAzure.cspkg /generateConfigurationFile:Teste_uniPaaS_ServiceConfiguration.cscfg
O comando anterior irá criar os arquivos de configuração do serviço (Teste_uniPaaS_ServiceConfiguration.cscfg) e pacote (Teste_uniPaaS_WindowsAzure.cspkg) para o Windows Azure que será usado no próximo capítulo.
Disponibilizando o ambiente no Windows Azure
1) Acesse o gerenciador do Windows Azure conforme as 3 primeiras imagens deste post e clique em “Serviços Hospedados, Contas de Armazenamento e CDN”. Clique em “Serviços Hospedados” e no primeiro item da lista clique com o botão direito e acesse “Novo Serviço Hospedado”
2) Será aberta uma tela para definição do serviço. Escolha nome, url, região e selecione a opção “Não implantar”. Clique em OK.
O serviço será criado. Aguarde ficar no estado de “Criado”.
3) Após ficar no estado de “Criado” irá aparecer logo abaixo o item “Certificado”. Clique com o botão direito neste item e acione “Adicionar Certificado”. Selecione o certificado gerado e exportado no primeiro capítulo e digite a senha.
4) Pegue o texto completo que está no campo “Impressão Digital” do certificado no Windows Azure.
5) Abra o arquivo Teste_uniPaaS_ServiceConfiguration.cscfg e substitua o texto apontado conforme abaixo pelo texto copiado anteriormente do campo “Impressão Digital”.
6) Clique com o botão direito no Serviço Hospedado e clique em “Nova Implantação em Preparo”. Abrirá uma tela para definir o nome da implantação e selecionar os arquivos “Teste_uniPaaS_WindowsAzure.cspkg” e “Teste_uniPaaS_ServiceConfiguration.cscfg” gerados anteriormente. Aparecerá uma tela de aviso sobre a questão de instâncias que você pode clicar em “Sim”.
Aguarde a implantação ficar no status de “Pronto”. Veja abaixo as telas dos passos deste item.
7) Após a implantação ficar no status “Pronto”, é possível clicar na implantação e clicar no link da url do DNS da implantação e a resposta será o HTML index.html criado anteriormente. Veja:
Disponibilizando o acesso via Terminal Server para instalar o uniPaaS
1) Clique na linha da função e clique em Habilitar. Abrirá uma tela para definir os dados (usuário, senha, expiração) de conexão via Terminal Server.
Após definir os dados, clique OK e aguarde ficar no status “Pronto”. Veja abaixo os itens acionados:
2) Clique na instância, depois em conectar, irá baixar um arquivo com extensão RDP . Clique em abrir.O arquivo fará uma conexão Terminal Server normal. Digite os dados de usuário e senha definidos anteriormente. Pronto! Irá conectar no Windows Azure via Terminal Server.
Veja abaixo o acesso feito por este item:
Finalizando o ambiente
1) Como está conectado normalmente a um Windows 2008, faça a instalação e configuração do Magic xpa (uniPaaS) Server normalmente.
2) A pasta e:\approot é o local root da aplicação web no Windows Azure. Então, após a instalação e configuração do uniPaaS, copie o conteúdo da pasta Scripts para E:\approot\uniScripts. Para aplicação RIA será necessário uma pasta em E:\approot\uniRIAApplications com os dados da aplicação publicada.
Conclusão
Como vimos, podemos facilmente disponibilizar e rodar o uniPaaS Server no Windows Azure.
Clique aqui e veja a aplicação exemplo “Rich Internet Demo” rodando normalmente. Como a assinatura do Windows Azure utilizada foi a versão de 90 dias (versão de testes) pode ser que no momento em você lê este post, este prazo já tenha expirado.
Clique aqui e obtenha os arquivos criados neste artigo.