Comparando uniPaaS e Java: não podemos ficar juntos?

Glenn Johnson – Senior Vice President – Magic Software Americas

Recentemente, realizamos um desafio interessante com uniPaaS Jet. Pedimos a um desenvolvedor independente, já familiarizado com programação Java e sem nenhuma experiência anterior em uniPaaS, para fazer o download do uniPaaS Jet, estudá-lo e criar um programa simples (nós já havíamos pedido a ele para criar o mesmo programa em Java.) Solicitamos que ele anotasse cuidadosamente os recursos necessários e todo esforço envolvido. O uniPaaS mostrou-se mais eficiente em cada categoria analisada. O uniPaaS utilizou metade da memória e metade do armazenamento do arquivo. O uniPaaS exigiu apenas 1% de linhas lógicas e 7% de linhas físicas de código. O programa uniPaaS foi executado pela primeira vez em 1 décimo da quantidade de tempo. O esforço aplicado foi de 202 horas em Java e apenas 3,2 horas em uniPaaS. A duração do projeto foi de 2,63 meses em Java e parte de um único dia em uniPaaS.

Nosso objetivo em relatar esses resultados não é criticar o Java ou apontar suas fraquezas, na verdade o uniPaaS é muito amigável ao Java. Temos alguns desenvolvedores Java em nosso departamento de pesquisa e desenvolvimento. E o mais importante é que nós acreditamos que o uniPaaS pode oferecer muito para as equipes de desenvolvimento Java fornecendo-lhes ferramentas que podem tirar aproveitar de seu investimento em Java, dando-lhes o tipo de vantagens experimentado pelo desenvolvedor independente mencionado acima.

A Integração Java embutida no uniPaaS permite que o uniPaaS faça interface com uma classe Java ou Enterprise JavaBeans (EJB), usando pseudo-referências que representam instâncias de classes Java ou arquivos EJB. Pseudo-referências são um identificador que representa os valores de uma instância de classe em uma variável BLOB. Os programas devem passar este identificador para acessar os métodos e variáveis ​​de uma instância da classe. Uma classe Java é uma definição de modelo dos métodos e variáveis ​​em um determinado tipo de objeto. Um objeto pode ser uma instância específica de uma classe e pode conter valores reais ao invés de variáveis. Para a integração de classes Java através de uma aplicação uniPaaS, você pode acessar métodos estáticos e variáveis, sem a pseudo-referência.

Instâncias Java, métodos estáticos e variáveis ​​são invocados pelo Java uniPaaS e funções EJB. No Java, uma instância de classe é uma implementação específica da classe Java, enquanto um método de classe estática é um método de classe que pode ser chamado sem instanciar a classe. Da mesma forma, uma variável de classe estática é uma variável de classe que pode ser acessada sem instanciar a classe.

Um Enterprise Java Bean (EJB) é uma arquitetura para definição dos componentes do programa Java que são executados em uma rede cliente / servidor. O uniPaaS EJB Component Generator é um assistente que gera um componente contendo programas uniPaaS que chamam uma classe Java ou funções EJB. A Java Native Interface (JNI) permite que programas não-Java possam interagir com os programas Java. O Java Component Generator é um assistente que permite que o uniPaaS automaticamente  acesse classes Java ou arquivos EJB, criando um componente que elimina a necessidade de especificar assinaturas JNI. Você também pode usar o uniPaaS para gerar Enterprise Java Beans (EJBs). Clientes que rodam em um ambiente J2EE são capazes de visualizar e ativar programas uniPaaS como métodos EJB. Você cria os EJBs usando o utilitário Component Builder do uniPaaS.

O uniPaaS pode criar uma instância de uma classe Java que permite que você ative um método, ou consulte e atualize variáveis ​​usando uma pseudo-referência. A pseudo-referência é uma variável BLOB que representa a instância da classe Java. Quando um método é invocado, a variável BLOB retorna ​​para o programa uniPaaS como códigos de retorno de função. Métodos estáticos de classes e variáveis ​​também podem ser acessados ​​sem uma instância da classe Java usando o nome da classe e o método ou o nome da variável.

As funções uniPaaS Java são usadas ​​para simular os métodos de chamada em Java. Cada contexto do motor internamente mapeia entre a pseudo-referência e a referência real.

Por exemplo, um programa uniPaaS pode chamar a função JCreate para criar uma pseudo-referência como Variável Virtual A. A referência real para a instância é, então, internamente, associada com o Variável Virtual A. Qualquer programa uniPaaS no contexto será capaz de acessar os métodos e variáveis ​​do objeto usando JCall (A ,…).

As funções do Java pode ser chamadas por um programa uniPaaS para:

• Criar uma nova instância de uma classe Java
• Chamar um método diretamente da classe Java ou de uma instância
• Reportar e retornar exceções
• Consultar e atualizar valores de variáveis

As funções EJB permitem ao uniPaaS explorar e chamar Enterprise JavaBeans.

Acho que a mensagem importante aqui é que o uniPaaS pode ajudar programadores Java a fazerem uso eficiente de classes Java e EJBs enquanto se beneficiam da eficiência da plataforma de aplicativos inteligente do uniPaaS. Para maiores informações acesse o Magic Software DevNet ou contate nosso representante local.

Um comentário

  1. O uniPaas realmente agiliza o desenvolvimento de softwares feitos do zero, pois ele mesmo implementa toda a parte de framework que em outras linguagens deverão ser criadas.

    Porém a parte ruim do uniPaas é que em sistemas que já estão prontos a manutenção dos mesmo é dificil de ser feita e a chance de estragar tudo apenas adicionando uma linha é muito grande, porque o uniPaas tem esse esquema de referência por linhas e não pelo nome da linha ou algum outro identificador, ou seja, adicione uma linha entre as outras e parabéns, você acaba de bagunçar todo o projeto, para voltar, CTRL + Z? não! Vá pedir ao gerente para voltar o backup anterior.

    Sem falar no editor de expressões do uniPaas que é simplesmente ridículo.

    Espero sinceramente que o uniPaas melhore pois tem muito à melhorar, bastaria implementar as dicas que fornecemos.

    Abraço

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *