segunda-feira, 10 de outubro de 2011

Prototipação na Cloud


Tem certos detalhes no EV2 que demonstram que o projeto está excelente, e uma que me chama muito a atenção é a facilidade para publicação na nuvem.   Já havia testado esse recurso com sucesso para projetos Android, mas não havia ainda tentado nada para projetos web tradicionais.

Como o gerador atual roda Mysql+Ruby temos alguns ajustes a serem realizados, principalmente a instalação correta do Mysql e do Ruby na máquina de desenvolvimento, e para o Ruby é necessário um ajuste na variável PATH do Sistema, pois, no meu caso ocorria um pequeno problema no momento da publicação.


\========== Execution started ==========
ruby gxdeploy_build_transfer.rb
error: System.ComponentModel.Win32Exception: The system cannot find the file specified
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at Artech.Genexus.Common.Run.RunBase.ExecuteCommand(IDictionary`2 tokens, String command, Boolean synchro, Boolean printCmd)
   at Artech.Genexus.Common.Run.RunBase.ExecuteCommand(IDictionary`2 tokens, String command, Boolean synchro)
   at Artech.Packages.Genexus.BL.Services.RunServices.RunRuby.BuildTransferTARFile(KBModel model)
   at Artech.Packages.Genexus.BL.Services.RunServices.RunRuby.DeployCloudApp(KBModel model, String& diag)
   at Artech.Packages.Genexus.BL.Services.RunServices.RunRuby.GetEntry(KBModel model, IEnumerable`1 tokens, Boolean isReorg, Boolean createDataBase, IEquatable`1 pgmType, IEquatable`1 mainType, EntryName entryName)
   at Artech.Genexus.Common.Run.RunBase.BuildCommand(KBModel model, IEnumerable`1 tokens, Boolean isReorg, Boolean createDataBase, IEquatable`1 pgmType, IEquatable`1 mainType, EntryName cmdType, String& command)
   at Artech.Packages.Genexus.BL.Services.RunServices.RunRuby.Execute(KBModel model, EntityKey objKey, String execParams)
Execution Failed
Run Developer Menu Failed

Analisando com cuidado, havia um espaço em branco a mais na definição do caminho a pasta BIN do Ruby, que ajustado, e em seguida após a maquina reiniciada, o processo concluiu com sucesso.  Portanto, aponte o PATH (Local e Sistema) para o diretório: C:\Program Files (x86)\Artech\GeneXus\GeneXusXEv2\gxruby\win\ruby\bin.


ruby gxdeploy_build_transfer.rb
Building file gx_last_transfer.zip...
Uploading 4086 Kbytes
3831 Kbytes left
3576 Kbytes left
3321 Kbytes left
3066 Kbytes left
2811 Kbytes left
2556 Kbytes left
2301 Kbytes left
2046 Kbytes left
1791 Kbytes left
1536 Kbytes left
1281 Kbytes left
1026 Kbytes left
771 Kbytes left
516 Kbytes left
261 Kbytes left
6 Kbytes left
Deploying website
Execution Success



O resultado vale a pena, pois ocorre a publicação da aplicação e do banco de dados na nuvem.  O acesso ao banco também pode ser realizado de forma tão tranqüila, e aqui um pequeno detalhe, o acesso remoto ao Banco de Dados também é possível, de as propriedades são configuradas automaticamente no Datastore default.

Server: apps.genexus.com
Database: Idd0c218ea805a43b7a2d67f24448ca31x
User: ule3L0rjrukTNaIJ
Password: *************

Um detalhe, a senha do banco é a  mesma do nome do usuário.

Portanto, tá esperando o que pra colocar sua cabeça nas nuvens?