A programação orientada a eventos no uniPaaS permite que o fluxo da execução do programa seja desencadeado por eventos e seja tratado da forma desejada.
O desenvolvimento de software orientado em eventos no uniPaaS é baseado em seu exclusivo e poderoso motor de regras de negócio.
O motor uniPaaS diferencia a plataforma de aplicativos uniPaaS de outras abordagens de desenvolvimento e implantação. Com capacidade nativa para realizar manipulações complexas de dados que são transparentes para o desenvolvedor e para o usuário final, o motor uniPaaS é a chave para a produtividade e desempenho fornecida pela solução da Magic Software para desenvolvimento e implantação de aplicações.
O motor inclui um conjunto de operações para uso do desenvolvedor na criação de aplicativos. Ele serve-se também de uma estrutura de passos de execução chamados de “unidades lógicas”, que trabalham com as operações para realizar tarefas para o usuário final. O desenvolvedor não precisa dizer à plataforma de aplicativos uniPaaS como fazer o seu trabalho. O motor uniPaaS já sabe como executar ações como a abertura de arquivos, leitura de registros, ordenação, exibição de dados na tela, e muito mais.
Compare isso com as tradicionais linguagens 3GL e 4GL onde o desenvolvedor tem de fornecer instruções detalhadas através de codificação para dizer a um programa como implementar cada etapa, independente de quão tedioso e repetitivo isso seja. Programadores que desenvolvem em Java e outras linguagens ficam muito frustrados com o fato de terem que repetir a programação feita por centenas, senão milhares de vezes antes por outras pessoas. Muitos se envolvem em todo o processo de programação e dizem “Estive lá, fiz aquilo”, enquanto outros quase parecem gostar de ser escravos de seu código. Em contrapartida, a plataforma uniPaaS economiza ao desenvolvedor quantidades consideráveis de tempo ao fornecer essas operações e etapas de execução nativas.
Naturalmente, o motor uniPaaS inclui extenso suporte para a programação orientada a eventos. Eventos, triggers (gatilhos) e handlers (manipuladores) são conceitos nativos. O uniPaaS permite definir a lógica uniPaaS como resposta a eventos implícitos e explícitos que podem ocorrer durante a execução de uma tarefa.
Para o desenvolvedor uniPaaS, um evento é simplesmente uma definição lógica de uma ocorrência. Um evento pode ser tratado por um “handler” de eventos para executar um fluxo de operações que o desenvolvedor escolhe. Um evento também pode ser atribuído como uma “trigger” de um outro evento definido pelo usuário. Quando o fato gerador ocorre, ele aciona o “handler” definido pelo usuário, associado àquele evento. Mas o uniPaaS não apenas tem consciência das ocorrências, como também permite ao desenvolvedor manipular eventos muito especificamente. No uniPaaS, um handler é um conjunto de operações designadas para serem executadas quando um determinado evento é gerado.
Há um número de diferentes tipos de eventos gerenciados pelo uniPaaS:
Eventos de sistema são acionados por combinações de teclas definidas. Desenvolvedores uniPaaS podem definir combinações de teclas para eventos de sistema em uma caixa de diálogo.
Um evento interno uniPaaS é geralmente tratado pelo próprio uniPaaS. Mas você pode definir um “handler” novo ou adicional para este evento interno, de forma que pode alterar o comportamento padrão do UniPaaS em resposta àquele evento específico.
Eventos de usuário adicionais podem ser definidos pelo desenvolvedor no repositório de eventos.
Eventos de tempo no uniPaaS são baseados em tempo decorrido (timers), de modo que para cada intervalo de tempo de duração determinada, o evento ocorre e o “handler” é chamado.
Eventos de Expressão são eventos que são disparados quando uma expressão é avaliada como verdadeira (True). Se a expressão for avaliada como falsa (False), o evento não é disparado.
Eventos de Erro são chamados quando erros de bancos de dados ocorrem, tais como um índice duplicado ou registro que tenha sido alterado por outro usuário.
Eventos ActiveX são ainda usados em alguns programas que usam objetos COM e ActiveX. Um evento ActiveX é gerado para objetos COM. Se o evento tem variáveis internas, elas são criadas no handler. Note que os eventos ActiveX não são suportados com as tarefas de rich client.
Eventos .NET são os preferidos no modo de rich client, onde o uniPaaS inclui suporte completo para variáveis e eventos .NET. Quando um evento tem variáveis internas, elas são criados como parâmetros no handler com o tipo .NET relevante. Você também pode definir um handler, sem definir uma variável. Nesse caso, você pode escrever o objeto do qual você quer selecionar o evento.
Eventos uniPaaS podem ser eventos relacionados ao projeto, desencadeados durante a execução de qualquer um dos programas do projeto ou eventos relacionados a tarefas restritas a uma tarefa específica em que são definidos ou para a tarefa e suas subtarefas.
Um evento pode ter mais de um disparo e mais de um handler. Cada disparo pode gerar o evento em um cenário diferente. Um ou mais handlers podem manipular o evento para cada cenário. Isto permite a programação de eventos complexos e dirigidos, evitando a complexidade da codificação linha por linha. A plataforma de aplicações uniPaaS está disponível comercialmente com a Magic Software Enterprises.
Vejo o engenho Magic como o poderoso diferencial da linguagem, automatizando muito do trabalho árduo em linguagens 3 GL, mas antes da programação orientada a eventos, que permite uma agilidade adicional ao engenho Magic clássico, o s desenvolvedores de aplicação magic tinham recursos limitados para gerenciar a interação entre usuários e as telas das aplicações. Programação orientada a eventos é o poderoso recurso que faltava ao já poderoso engenho Magic.