Nos posts anteriores, falamos sobre a arquitetura de soluções WEB/Enterprise (corporativas) com o uniPaaS e também sobre instalação e configuração.
Falamos ainda sobre aplicações/soluções do tipo Request/Response.
Vamos abordar agora um segundo tipo de solução: BrowserClient.
Foi o primeiro movimento do uniPaaS, quando ainda se chamava eDeveloper, em direção ao RIA. Isso foi nos anos de 2000 e 2001.
O client do BrowserClient não é nativo do sistema operacional. Ele utiliza (obrigatoriamente) o Web Browser como interface da solução e é implementado através de Applets (inicialmente disponibilizados em Java, e mais tarde, em .NET) e códigos JavaScript.
O BrowserClient é o que alguns diriam, o “RIA by the book”.
Dá para perceber que as soluções criadas com o BrowserClient serão, em essência, Aplicações Internet.
O Web Browser conectado a um uniPaaS Enterprise Server, através dos requesters HTTP.
A criação de um programa BrowserClient no uniPaaS é muito simples. Ele se dá pelo fato de definir o programa como sendo do tipo ‘Browser’:
Essa definição informa que este programa é um BrowserClient, ou seja, um programa que executará “interativamente” dentro de um Web Browser.
Funcionalmente, ele idêntico a um programa On-Line (interativo através da interface do sistema operacional), mas não existe o módulo Deployment do no lado do usuário final. Apenas o seu navegador internet. Este navegador se comunica com o AppServer remoto do uniPaaS, usando ou o requester CGI, ou o ISAPI.
Do ponto de vista do desenvolvimento, ele também é idêntico aos outros programas interativo (On-Line). E isso é talvez o principal destaque do uniPaaS: um paradigma único de desenvolvimento, sejam quais forem as tecnologias ou ambientes envolvidos.
Todas as (significativas) diferenças entre se fazer uma solução Desktop e uma solução Internet são resolvidas pelo framework (uniPaaS) e o desenvolvedor se concentra em suas regras de negócio, mantendo sempre o mesmo ‘jeito’ de criar/estruturar suas soluções.
A ideia é: desenvolvedor, cuida da implementação do negócio. uniPaaS, da tecnologia.
Mas, é claro, que as coisas não são exatamente (100%) iguais no mundo Desktop e Internet.
Para o desenvolvedor uniPaaS existe uma diferença: a interface.
Ao criar uma aplicações Desktop, a interface com o usuário é desenhada no próprio Studio do uniPaaS.
Para aplicações BrowserClient, ela deve ser criada fora (em outras ferramentas). Isso porque, se a interface com o usuário final será o Web Browser, a ‘tela’ da aplicação será uma página HTML. E o uniPaaS não ambiciona ser um editor de páginas web. Existem muitas outras ferramentas (inclusive ‘free’) especializadas para isso.
O processo é simples:
- Desenha-se a interface (tela) como uma página HTML:
- No Studio, faz-se a ligação (bind) entre o objeto HTML e o objeto uniPaaS:
Isso faz com que as informações do objeto uniPaaS sejam apresentadas no objeto HTML, e quando alteradas na interface HTML, atualizem também o objeto uniPaaS.
Quando o usuário invoca o programa através do navegador, o uniPaaS intercepta a operação e devolve a ele a página HTML já devidamente alterada, com informações “enxertadas” que vão estabelecer a conexão (sessão) entre o client e o server.
O que o usuário faz no lado client se reflete no lado server, e vice-versa.
Apesar de toda esta versatilidade, o fato concreto é que este tipo de solução uniPaaS (BrowserClient) não tende a se expandir.
E os motivos para isso são (resumidamente):
1) A tecnologia client (Applets & JavaScripts) utilizada se baseia no Internet Explorer (5.5 ou superior), o que restringe a plataforma do lado do cliente ao MS-Windows.
2) As constantes inovações no IE, especialmente nos quesitos de segurança, tendem a ‘quebrar’ o funcionamento destes Applets & JavaScripts e isso torna a compatibilidade da tecnologia bastante trabalhosa.
3) Novas tecnologias, como o RIA Native Client (suportada também pelo uniPaaS) superam em muito os recursos disponíveis no BrowserClient.
De qualquer forma, está aí uma ótima opção para criação de Aplicações Internet Ricas, baseadas em navegadores web.
Em nosso próximo post da série falaremos sobre o RIA Native Client do uniPaaS.
Manoel Frederico Silva
Product Manager & MAGIC Evangelist / Magic Software Brasil