sexta-feira, 24 de agosto de 2007

Configurando eDev10 para usar Web Services


Caso você esteja com problemas em configurar o ambiente eDeveloper 10 para uso de Web Services, segue um roteiro explicando como configurar.
Utilize a versão 1.5.0 do Java JDK.
1. Environment Variables:
When typing "%WASP_HOME%" in "Start->Run" you should navigate to the SSJ directory that was created by eDeveloper 10 installation.
When typing "%JAVA_HOME%" you should navigate to the installed Java directory along side SSJ (if you didn't have Java when installing eDeveloepr) or to another location if Java was installed before eDeveloper, in this case you must make sure you have JDK version 1.5.

2. In the %WASP_HOME%\lib directory you should find many JAR files (among them edevSSJ.jar and edevRequester.jar).

3. After you create the service entry and load it (at the moment you can't reach this) you should have a new JAR file under "Magic directory/SoapClientModules/Service name".


You can identify the JAVA version by opening the "ReadMe.html" file located under your %JAVA_HOME%.

sexta-feira, 17 de agosto de 2007

Magic - Rich Client

A Magic está finalizando um novo método para desenvolvimento de programas que estão chamando de Rich Client. Este novo conceito ainda não está liberado oficialmente mas já está incluso no pacote 10.1 SP3 liberado esta semana, para seu uso é necessário uma nova licença.

Este novo conceito de programação é totalmente voltado para ambiente Web, uma das grandes vantagens é a utilização de computadores com baixa configuração. Mesmo sendo um produto web, será possível utilizar todos os recursos de interface GUI disponíveis atualmente, permitindo uma interação completa com o usuário. Outra vantagem que eles estão anunciando é a execução da ferramenta em vários sistemas operacionais, inclusive em dispositivos móveis.

Falando mais tecnicamente, este novo recurso utiliza uma aplicação JAVA que irá rodar no lado do client, eles prometem uma performance surpreendente. A vantagem será que o usuário não precisa utilizar um navegador web (no browser), a ferramenta utiliza seu próprio mecanismo de navegação.

Falando um pouco mais sobre os recursos de interface, estarão disponíveis os controles tree view, tab control, combo Box, list Box, etc. Teremos integração com menus. Houve uma melhoria considerável no table control para web, permitindo sort, multi marking, resizing columns.

OS recursos não param por ai, o aplicativo poderá executar comandos no S.O. do usuário, também será permitido a integração com ActiveX, manipulação de arquivos e no ambiente do sistema operacional.

Para finalizar, este ambiente rodará em Windows, Linux ou ainda Mac OS, podendo ser utilizado em celulares com Windows Mobile ou CE.

Agora é esperar para ver.


Maurício Ouriques

segunda-feira, 13 de agosto de 2007

eDeveloper 10 SP3

Acaba de ser liberado o novo SP da ferramenta, com grandes melhorias. Veja...

Liberado novo release do eDev 10 SP3

Version Control

Permite trabalhar com aplicativo de controle de versão chamado PushOK

http://www.pushok.com/soft_cvs_proxy.php

http://www.pushok.com/soft_cvs_vsvss.php

Browse Client

Melhorias nos scripts eDevScripts (Browse Client)

Migração

Agora permite migrar parte de uma aplicação v9, como range de programas.

Suporte PDF

O eDev10 agora suporta imprimir diretamente para um arquivo PDF, eliminando a necessidade de configurar uma impressora PDF

Possibilita implementar política de segurança em vários níveis com proteção por senha para impressão, cópia ou anotação.

Arquivo de Segurança

Um novo utilitário chamado MgUsrDmp.exe é instalado na pasta eDeveloper.

Este utilitário permite exportar o arquivo de segurança para um arquivo XML, tornando fácil o acesso e pesquisa as informações do usuário.

Para rodar este utilitário você precisa informar a senha do usuário SUPERVISOR.

Utilitário para extração de String

Um novo utilitário foi desenvolvido para permitir a você extrair frases do seu projeto do arquivo XML.

Este utilitário irá ajudá-lo quando você precisar traduzir o sistema para multi-linguagens.

Este utilitário pode ser executado por ambas as FERRAMENTA (Tools) de menus como um componente.

Gerenciamento de Janelas

A função SetWindowsFocus() foi melhorada para permitir setar o foco em outras janelas que não pertencem ao eDeveloper.

Retorno de valor de Store Procedure para MSSQL

Agora a ferramenta suporta receber o valor de uma SP do MSSQL

Isso pode ser feito escrevendo "? =" no enunciado DSQL ("EXEC ? = proc_name") e receber o retorno na variável virtual do return code do SQL Command.

Utilizando Cursor para MSSQL em Store Procedure

O eDeveloper agora suporta usar cursor para enunciados DSQL que retornam um result set.

Isso pode ser feito adicionando "/*=== CURSOR=Y ===*/" no DSQL.

Suporte a SP no DB2

Agora com suporte as Store Procedures do banco DB2.

sexta-feira, 29 de junho de 2007

Tratamento diferenciado para Verify Error em telas com guias.

Ao tentar acessar campos em uma guia, caso um campo de uma guia anterior gerar um Verify Error, não é possível identificar imediatamente qual é o campo. A solução é forçar a mudança para a guia onde está o campo com tratamento de Verify Error.

Programação: Criar um Block Combine Forward, com a condição que indica o Verify Error, dentro deste bloco deve existir um Update na virtual que controla a guia em Combine Backward e o próprio Verify Error em Combine Forward. Quando ocorrer o erro, o processo do Magic será entrar no Block, passar pelo Update e executar o Verify Error que causa um retorno em Backward para o último campo que pode receber foco, neste retorno que é feito o Update que permite o Magic se posicionar na guia e no campo de onde não se pode passar sem antes resolver o erro apresentado.


terça-feira, 19 de junho de 2007

Instalando o eDeveloper no Win2003SP2

Este post tem como objetivo ajudar os Magicianos a instalar o eDeveloper num servidor Windows 2003 usando o SP2.

Segundo a nave mae, Magic Enterprise, existe um bug no InstallShield, ocasionando um erro ao tentar iniciar a instalação do eDev.

Para contornar este pequeno problema, existem duas soluções.

1a. Baixar a última versão do InstallShield no endereço http://support.installshield.com/kb/files/Q108322/InstallShieldEngineUpdate701.exe

2a. Descompactar o pacote numa pasta e a partir da pasta executar o setup.exe
Para descompatar utilize o comando

EXE_name /extract_all:FOLDERNAME

EX.
eDev101sp2.exe /extrac_all:C:\temp\sp2install

Com isso será criada uma pasta dentro de c:\temp chamada sp2instal, ai é só executar o setup.exe.

T+

domingo, 13 de maio de 2007

Integrações com Google - Geocoding

Agora vamos mostrar como é fácil utilizar a ferramenta eDeveloper com integrações via web utilizando a função HTTPGet. Para começar vamos realizar uma integração com a API do Google que fornece o CEP de um endereço.

Para iniciar, precisamos de um xsd do kml para integrarmos com o serviço do Google. Com o xsd na mão é necesário adicioná-lo ao nosso projeto. Para isso crie um nova linha no repositório de dados, selecione o database de XML e então pressione 'Get Definition'. Informe o caminho onde encontra-se o xsd e confirme. Pronto já temos a estrutura para buscar a informação no Google.


Agora vamos criar o programa que irá buscar na web o CEP de um endereço informado. Para isso crie um novo programa no repositório de programas chamado Geocoding.
Crie uma variável do tipo Blob e altere a propriedade Details.Content para Ansi.

Na guia Logic crie uma linha para o Task Prefix, dentro deste handler adicione o comando Update na variável CEP com a seguinte informação: HttpGet('http://maps.google.com/maps/geo?q=Rua+Saldanha+Marinho+336,+Novo+Hamburgo,+Brazil
&output=xml&key=abcde')
Sendo que
http://maps.google.com/maps/geo? é o site onde irá retornar a informar do CEP
Rua+Saldanha+Marinho+336,+Novo+Hamburgo,+Brazil é o endereço pesquisado, aqui um pequeno deslize do nosso amigo Google, Brasil precisa ser informado com Z :(
&output=xml& é a forma como a informação chega até nós, no caso um xml e finalmente,
key=abcde que é a sua chave de ativação ao serviço, para conseguir esta chave entre neste endereço. Aqui uma dica, o serviço só irá funcionar se você informar uma chave correta.


Com o procedimento acima, acabamos de buscar o CEP do endereço informado, agora basta usufruir desta informação. Vamos criar uma subtask para isso.
No Main Source da task filha vamos informar nosso XML PostalCode , na propriedade deste data source vamos informar em Data.XML Source variable a variável criada na task pai (PostalCode_CEP) e vamos adicionar o segmento (Column) PostalCodeNumber.



Pronto agora basta colocar na tela a informação


Caso queria dar uma espiada no projeto baixe ele aqui.

Este é apenas um pequeno exemplo de como podemos integrar o eDeveloper com serviçõs na web, este mesmo serviço fornece também as coordenadas geogáficas do endereço, basta apenas explorá-lo.

Enjoy :)







domingo, 29 de abril de 2007

eDeveloper - Componentes

Realizando chamadas entre componentes M10

Para quem está usando o eDeveloper 10 tem se confrontado com um grande problema que é a re-chamada entre componetes, ou seja, se tenho um componente A que chama o componente B este não pode chamar o componente A.

Para resolver este "pequeno" impasse seguem algumas dicas de uma solução:


Deve ser criado um Evento Global para que o componente chamado possa devolver um valor, vamos ao passos:

. No projeto A (principal) dentro do Main Program, deve ser criado um Evento Público teclando (CTRL+U) Janela Events (fig1). Conforme a figura, informe um nome para este Evento, crie um parâmetro para receber um valor e adicione o nome publico no nosso exemplo "ChamarPrograma".

. Ainda no Main Program agora devemos criar na Guia Logic o gatilho deste Evento, (CTRL+H) para criar o Event. Na coluna nome pressione F5 para informar o Evento, Type User Event ChamarPrograma. Será solicitado para criar a variável nesta parte do programa. Este recurso é interessante porque a variável estará disponível apenas quando o evento for chamado.

Com isso estamos preparados para receber a informação do componente que estamos chamando.

No projeto B (componente chamado) deve ser criada uma chamada para o Evento Público (fig3) gerado no projeto A.
Dentro de um programa na Guia logic crie um evento conforme a necessidade. dentro deste evento crie uma linha com a operação Raise Event apontando para o Public Event informando o nome deste evento, no nosso caso 'ChamarPrograma'. Na coluna Arguments informe os parâmetros que serão passados para o projeto A.

Com isso estaremos devolvendo ou chamando algum componente do projeto que iniciou a chamada.


Espero que com isso alguns probleminhas sejam resolvidos ;)