software‎ > ‎módulos‎ > ‎engine‎ > ‎

blog

'Sessions': novo menu do Manager

postado em 3 de jan de 2011 06:24 por Usuário desconhecido   [ 3 de jan de 2011 06:41 atualizado‎(s)‎ ]

A versão 11.x que já está disponível na base DESENVOLVE da Unum trás um novo item de menu no Manage. Trata-se do [Sessions].
Esta opção serve para monitorar as sessões criadas no Engine. É uma importante ferramenta que pode ser usada nos diagnósticos de erros de consumo excessivo de memória.

Segue abaixo alguns screenshots da melhoria:




Base de Conhecimento do Engine

postado em 23 de set de 2010 10:08 por Usuário desconhecido   [ atualizado em 5 de nov de 2010 08:01 por Usuário desconhecido ]

Aos poucos estamos colocando as informações de suporte do iEngine na Internet, para diminuir a demanda de requisitos de dúvidas, e melhorar a documentação do produto. O nosso desejo é de que um usuário do sistema possa tirar suas dúvidas procurando no Google. Todavia, encontrar algo muito específico no Google é difícil, devido ao seu algoritmo de page-ranking. 

Em várias partes do Engine(e também do ERP), existe mensagens de erro com informações que muitas vezes não são suficientes para a resolução de um problema do usuário. Em cada mensagem adicionamos um identificador único de um artigo. Isso permite que o usuário, ao pesquisar pelo identificador no google, encontre a página que dá informações detalhadas sobre o problema, as possíveis causas e soluções. 


Temos como exemplo a mensagem de erro quando um usuário não consegue acessar um servidor Engine Remoto: 
"An error occurred while allocating memory for an String."

A alteração que será feita é adicionar o identificador ao final da menssagem. Ela deverá ficar parecida como essa:
"An error occurred while allocating memory for an String. [su_e10032201]"

O Identificador do arquivo é o código su_e10032201. Ele é um identificador único para um artigo aonde vamos coletar todas as informações de suporte sobre o problema. 

Por que um código tão extenso? O motivo é facilitar as buscas no Google, tentando colocar um código único na web para que apareça nos resultados de pesquisa como a primeira referência. 


Você pode visitar a nossa base de conhecimento para conhecer todos os artigos de suporte escritos até agora, estamos trabalhando para torná-la maior a cada dia.

Novos drivers de banco

postado em 22 de set de 2010 07:09 por Usuário desconhecido

O Engine conecta-se aos bancos de dados através dos drivers de banco, que pertencem ao módulo Idc. Esses drivers utilizam as APIs nativas dos fornecedores de SGBD, evitando-se bibliotecas multi-banco e assim obtendo a maior performance possível. Hoje temos drivers para o Oracle, MS SQL 2000, e DB2.

Há vários meses iniciamos o desenvolvimento dos drivers do PostgreSQL e MS SQL 2005, mas nenhum dos dois chegou a atingir o nível de estabilidade necessário para ser usado por nossos clientes em ambiente de produção. Voltamos agora a investir esforços para concluir e estabilizarmos esses drivers, dando outras opções SGBD aos nossos clientes.

O driver do PostgreSQL tinha um problema de estouro de memória quando o Engine fazia consultas ao banco que retornavam uma grande massa de dados. Essa é uma limitação da API do client do PostgreSQL. Alteramos o driver para que utiliza-se cursores, e assim suportar consultas que retornem grandes massas de dados. A nova versão está sendo usado internamente por alguns desenvolvedores da Unum, e estará disponível no próximo build da série 10.2.3. 

No MS SQL 2000, a API client de acesso ao banco, era a DB-Library, sobre a qual desenvolvemos o nosso driver. A partir do MS SQL 2005, a Microsoft tornou essa biblioteca deprecated. Dessa forma, implementamos um novo driver do zero, com aproveitamento mínimo do código antigo. Após a retomada no seu desenvolvimento, o driver mostrou-se estável nos testes iniciais. Mais alguns testes serão realizados e provavelmente na próxima semana ele também estará disponível.

Campos do tipo hora(time) são importados como filtros do DataSource com os sufixos "_START" e "_END"

postado em 17 de ago de 2010 06:28 por Usuário desconhecido   [ atualizado em 5 de nov de 2010 08:02 por Usuário desconhecido ]

O recurso citado no título deste post já exista para campos do tipo DATE e foi portado para campos do tipo TIME. Maiores informações em: http://l.unum.com.br/dts_art0001

Assinatura Digital dos Executáveis

postado em 12 de ago de 2010 11:43 por Usuário desconhecido   [ atualizado em 12 de ago de 2010 12:53 por Usuário desconhecido ]

Hoje iniciamos o uso de assinaturas digitais no aplicativo executável do Engine. Com isso, esperamos dar aos nossos clientes maior segurança no uso de nosso servidor de aplicações. A assinatura digital é verificada automaticamente pelo Windows, e dá ao usuário garantias de autenticidade e de integridade. Assim, o usuário poderá ter a certeza de que o executável veio realmente da UNUM, e de que não foi alterado por um terceiro. Consequentemente, caso de um vírus que esteja na máquina de um cliente se aloje em nosso aplicativo, a assinatura digital não será validada, alertando o usuário do perigo.

Armazenamento de imagem

postado em 27 de jul de 2010 05:28 por Usuário desconhecido   [ atualizado em 5 de nov de 2010 08:03 por Usuário desconhecido ]

Aproveitando o post do Marcelo no qual citou a iVFS gostaria de noticiar mais uma funcionalidade que estamos por lançar: Armazenamento de imagem vinculado na iVFS a um registro da base. O projeto foi uma demanda de um cliente para que imagens de produtos fossem exibidas no website. 


Para isso, criamos um processo no formato wizard para que o usuário possa fazer a carga das imagens e depois vinculá-las a um produto (ou qualquer outro vínculo que queira fazer entre imagem e registro da base). Essa imagem, a princípio, vai estar na iVFSLob, ou seja, estará no cache. 


Por esse motivo não é recomendado para vínculo com tabelas de movimentação, exemplo: vincular um documento a um título de cobrança. Pois isso aumentaria muito o tamanho do cache, pois cada uma dessas imagens vinculada aos diversos títulos, seriam carregadas no cache.


O mais legal é que será possível informar atributos da imagem através de x-class (customizável), exemplo: tamanho, ângulo, fotógrafo, etc. Para esse ponto tivemos um trabalho diferente de transformar uma estrutura que estava toda em um campo, para campos em uma grade a ser modificada pelo usuário, definindo, assim, os atributos da imagem.


Ainda há muito para se implementar nesse projeto. Funcionalidades que deixariam o sistema cada vez mais fácil de trabalhar com imagens. 


Como por exemplo a visualização dessas imagens na grade, ou até mesmo através de um modal (como é feito no SlideShow). Mais um outro é o envio de arquivo (FileUpload), pois hoje, o processo citado anteriormente, lê um diretório pegando todos os arquivos dentro desse diretório e buscando o registro da tabela que deseja vincular (fazendo o vínculo através do nome do arquivo e os campos da tabela definidos como campos para vínculo com imagem).


Bom, é isso, conforme já "twittamos", a funcionalidade está quase saindo do forno. Testes e ajustes finais estão sendo realizados e logo estará para ser homologado e utilizado por todos.


Scripts em Disco

postado em 5 de jul de 2010 07:11 por Usuário desconhecido

Uma das bases do sistema Unum é o uso da iVFS, o sistema de arquivos virtual, armazenado no Banco de Dados e replicado para o cache local, que possui todos os scripts usados pelas aplicações. O fato de os scripts estarem junto com os dados nos dá grande facilidade de customização, dando dinamismo ao processo de desenvolvimento. Entretanto, o uso da iVFS nos impede de usarmos ferramentas do mercado para a edição de scripts, assim como de controle de versão destes. A grande maioria dessas ferramentas trabalham exclusivamente com o File system do Sistema Operacional, não permitindo a integração com o nosso sistema de arquivos virtual.

Para contornar essa limitação, estamos implementando a possibilidade do uso de scripts em disco. Dessa forma, o desenvolvedor poderá também usar uma IDE padrão(Eclipse, Komodo, etc.) para a edição de scripts, e fazer a gerência de configuração através de ferramentas como o Mercurial e o Git, entre outras.O deployment desses scripts continua sendo feito pelas iVFS. Cada conjunto de scripts que formam uma unidade coesa, é empacotada num arquivo comprimido, e armazenada na iVFS. O Engine executa diretamente esses scripts armazenados nos arquivos comprimidos, da mesma forma que executa os arquivos em disco.

O leitor deve estar com muitas dúvidas, o que é natural, pois o conceito não é a primeira vista trivial. Quando liberarmos essa funcionalidade, acredito que logo em breve, teremos uma documentação bem detalhada, elucidando todas as dúvidas.

Um novo Javascript

postado em 16 de jun de 2010 13:46 por Usuário desconhecido

Há algum tempo estamos trabalhando na substituição de nosso interpretador Javascript. O projeto de desenvolvimento do interpretador atual, que é utilizado desde as versões 3.3.1 do Engine, data de meados de 2003. Naquela época, os interpretadores conhecidos eram os criados pela Microsoft e pela Mozilla, e usados em seus respectivos navegadores. Optamos por desenvolver o nosso para termos mais liberdade para estendermos a linguagem, e otimizarmos a implementação para as demandas do nosso sistema de ERP. 

O cenário atual é bem diferente. A competição entre as implementações ficou mais acirrada, com dois novos interpretadores: o JavaScriptCore e o Google V8. Atualmente, todos eles usam diversas técnicas de compilação para código nativo, executando código várias vezes mais rápido do que as antigas versões daquela época. Neste cenário dominado pelos interpretadores Open Source, usamos uma estratégia diferente, a de integrar ao Engine o JavaScriptCore, um interpretador desenvolvido pelo projeto WebKit e usado no Safari, navegador do Apple Mac OS X.

Estamos muito empolgados com esse projeto. Teremos um JavaScript extremamente rápido, compatível com o padrão ECMAScript, ampliando as possibilidades de uso da linguagem para domínios que exigem uma maior performance de execução, além de possibilitar o reuso de bibliotecas JavaScript que usem características da linguagem que não havíamos implementadas. Será um grande avanço tecnológico para a nossa plataforma.

1-8 of 8