Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

As validações de dados devem ser feitas nos eventos antes de inserir, remover ou atualizar de uma fonte de dados do lado do servidorservidor (ver figura abaixo). Você pode validar do lado cliente algumas coisas, por questão de performance, mas elas precisam ser revalidadas do lado servidor. A arquitetura impõe essa boa prática, visto que traz mais segurança na entrada de dados e mais flexibilidade no uso de diferentes dispositivos alimentando a mesma fonte, como por exemplo, uma página web e um aplicativo, alimentando um cadastro e usando a mesma fonte. As fontes de dados viram serviços REST, logo não impede que uma pessoa a chame diretamente através de qualquer outro meio. Logo, se sua validação estiver apenas no cliente, ele conseguirá entrar com dados errados no seu sistema. O desenvolvedores modernos precisam saber que banco, servidor e cliente não podem ser misturar. Uma fonte de dados é um REST e ela tem que "vida" própria e desconhece quem o alimenta.


Image Added

Figura 1. Eventos usando eventos para validação de entrada de dados.

Bloco Cliente chamando Bloco Servidor

O Cronapp fornece duas funções para um bloco cliente chamar um bloco servidor: a função "Chamar Bloco" e "Chamar Bloco Assíncrono". "Chamar Bloco" usa uma especificação Ajax do navegador de bloqueio síncrono que está ameaçada de descontinuidade pelos navegadores modernos há algum tempo já. Logo, não usem essa função. Nós a mantemos apenas por compatibilidade com sistemas mais antigos (mas será removida no futuro). A função "Chamar Bloco Assíncrono é indicada para esse fim, visto que não bloqueia o navegador, deixando seu sistema mais fluido. 

Image Added

Figura 2. Forma correta de chamar um bloco servidor através de um bloco cliente.

Valores Padrões (Iniciais)

...

Observação: Os valores padrões são usados também como valores iniciais de um formulário no Cronapp. Logo, ao clicar em "Novo", o formulário será alimentado com os valores padrões definidos. Tais valores podem ser valores fixos ou valores dinâmicos, obtidos através de blocos (ver figura abaixo).


Figura 13. Exemplo de definição de valores padrões para uma fonte de dados.

...

Trabalhar com data e hora em sistemas modernos requer entender completamente o uso de fuso horários. Uma aplicação web ou mobile é composta, em sua maioria das vezes, de banco de dados, servidor e cliente (navegador web ou aplicativo). É necessário entender bem que o fuso de cada uma dessas camadas pode ter especificações diferentes que podem gerar confusões ao implementar seu sistema. Sugerimos a leitura do documento Entendendo o funcionamento dos tipos data e hora para elucidar todas as dúvidas relacionadas ao uso de data e hora no Cronapp;

Garantia de Execução de Rotinas

Uma prática muito comum é o uso do bloco "try" com a opção "finally" para garantir a execução de uma rotina, mesmo que ela falhe. O usuário precisar que uma rotina seja executada mesmo que haja um erro é muito comum, porém muitos usuários fazem isso de forma não segura. Exemplo: Um rotina que abre um arquivo temporário, faz uso desse arquivo e depois o apaga. Muitos usuários fazem como segue:

Image Modified 

A figura acima mostra a forma insegura de manipulação de arquivos. Caso o bloco Processa Arquivo apresentar um problema, o arquivo ficará como lixo na pasta. A forma correta e segura é a seguinte:

Image Modified

A figura acima mostra como garantir que o arquivo será removido independente de falhas no processamento do mesmo.

...

O Cronapp fornece blocos para Tratar Exceções (try), Criar Exceções e Lançar Exceções. Tais blocos devem ser usados para tratamento de erros para diversos fins, porém um bem comum é apresentar erros amigáveis para usuários. Exemplo: ao usar o bloco de Obter Conteúdo de uma URL e o retorno falhar por algum motivo, você pode capturar o erro e exibir uma mensagem amigável para o usuário. Observe a figura abaixo:

Image Modified

Agendador de Tarefas vs Bloco Agendar Execução

...

Um boa prática é logar as informações mais importantes do seu sistema, a fim de rastrear erros e monitorar execuções de rotinas. Para isso o Cronapp fornece uma função chamado Logar com diversas opções para o desenvolvedor. Por padrão, essa função logará em arquivos organizados por data no servidor de aplicações. Tais logs podem ser muito úteis para rastreabilidade em aplicações.


Image Modified

Internacionalização

...

Ao criar um sistema, é bem comum que esse sistema tenha parametrizações diferentes para diferentes implantações (ex, diferentes clientes). É um boa prática usar o Perfis e Parâmetros do Sistema para tal fim.  Observe a figura abaixo. Nesse caso estamos parametrizando o um servidor SAP de forma diferente no momento de desenvolvimento e produção.

Image Modified

Uso de Sistema de Arquivo Local

...