domingo, 31 de dezembro de 2006
OpenLaszlo: projetos e arquivos
ter terminado minha monografia sobre o OpenLaszlo
publiquei ela e um conjunto de projetos no Portal Java
para aumentar a quantidade de material disponível sobre o assunto em português,
segue os respectivos links:
Monografia sobre OpenLaszlo [link]
projeto da monografia: Laszlo Agenda [link], referente ao capítulo 7 - implementação
também reformulei e republiquei projetos em branco para facilitar o estudo e uso
do OpenLaszlo com frameworks MVCs em Java
em ambos os projetos possuem os respectivos suportes:
- OpenLaszlo 3.3.3
- Hibernate 3.2, utilizando mapeamentos com annotations
- XStream 1.1.3
- Jasperreports 1.2.8
- Log4j 1.2.12
também desde Setembro de 2006, está disponível no Portal Java
um ambiente pré-configurado de desenvolvimento para OpenLaszlo
versão para Windows. [link]
porém quem quizer montar um mesmo ambiente em outro sistema operacional
basta seguir os passos indicados, no Anexo B - Ambiente de Desenvolvimento,
da monografia, página: 112, ou então verificar os passos descritos no Forum:
Portal Java - Ajax/OpenLaszlo, tópico: Eclipse e Laszlo [link]
neste [link] você verá todas as notícias publicadas no Portal Java,
relacionadas ao tema OpenLaszlo.
no mais aguardamos anciosamente pelo OpenLaszlo 4 ( Legals ),
para conferir quais serão as novidades dessa nova versão,
que a princípio a primeira release espera-se para início de 2007.
terça-feira, 21 de fevereiro de 2006
Aplicações de Internet Rica e o futuro da Web
Problemas com a Web hoje
Aplicações web em HTML são um acidente do crescimento da Internet. A Web foi originalmente projetada para disponibilizar documento online, mas agora serve como veículo principal para disponibilizar aplicações em rede. Em conseqüência, serviços providos, negócios, desenvolvedores de aplicações e seus respectivos clientes sofrem com os seguintes itens:
Experiência inferior do usuário: em uma comparação com aplicações desktop, impede a adaptação com os serviços disponibilizados na web para comunicação e comercio online, devido as limitações quanto a interface gráfica do sistemas disponivel para uso de seus respectivos usuários.
Aumenta os custos de centralizar as operações de dados: pelo fato do processamento da lógica de UI no HTML em aplicações web, ser centralizada e realizada no servidor.
Desafios de distribuição e manutenção: com aplicações baseadas em DHTML quando suportam multiplos web browsers em multiplos sistemas operacionais, onde essas aplicações devem ser desenvolvidas e mantidas garantindo que funcionem em diferentes web browser de diferentes sistemas operacionais.
O futuro da Web > RIA
Rich Internet Application( RIA | Aplicações de Internet Rica ): esses frameworks prometem inovações além das atualmente encontradas em sistemas web e avigorar/aprimorar as aplicações de internet, com uma nova experiência para os usuarios, historicamente limitado a aplicações desktop. Estes frameworks, algumas vezes referenciados como arquiteturas de cliente rica ou executaveis de internet, permite aos desenvolvedores de aplicações, prover serviços e negócios online, criando e disponibilizar uma nova geração de aplicações web mais eficazes para satisfação de seus clientes, aumentando a adaptabilidade de seus serviços e reduzindo, os custos de desenvolvimento e manutenção dessas aplicações.
Um exemplo de aplicação que implementa o RIA é o Laszlo Mail o qual foi desenvolvifo utilizando Laszlo, o qual destaca muita das vantagens de aplicações de internet rica. Ao contrário do convencional web mail em HTML, Laszlo Mail permite um acesso IMAP ao e-mail dos usuários através:
Uma GUI completamente costumizada
Controles de teclado
Redimensionamento de janelas
Gerenciamento das mensagens usando Drag and Drop
Compativel com todos os web browser populares para Windows, MacOS, Linux ou qualquer outro browser de algum outro sistema Operacional que possuia o plugin Flash Player instalado
Alta capacidade de resposta e interatividade devido a uma transferencia minima de dados após a instanciação inicial do cliente, uma vez com a interface, as proximas transações com o servidor são apenas de dados da aplicação.
Fazendo o futuro da web realidade agora
Para aumenta a experiência web, desenvolvedores requerem plataformas para entregar uma interface de usuário avançada, enquanto alavanca os existententes jogos de habilidades dos desenvolvedores e infraestruturas de desenvolvimento. Se não, excessivos custo de desenvolvimento e distribuição poderia confinar os avanços a protótipos de laboratório. Toda plataforma viável de aplicações de internet rica deve seguir os seguintes requerimentos:
Experiencia dinâmica para o usuário
Interfaces GUI intuitivas que prevem uma experiência de single-page(uma unica página) sem os refresh das aplicações HTML web
Uma integração sem emendas com a maioria de tipos de media em um único canvas sem separação por plugins ou por camadas
Suporta notifiação e mensagens em tempo real
Um desenvolvimento rápido da aplicação
Um desenvolvimento familiar com os paradigmas de programação e fluxo de trabalho
Possibilitar um desenvolvimento baseado em equipe
Simplificar a manutenção a longo prazo do código
Disponibilização dirigida a padrões para qualquer lugar
Compatibilidade com o prevalecimento das infraestruturas padrões existentes( J2EE, XML, Web Services, SSL )
Rodar em qualquer web browser sem download suplementar ou instalações
Desloca a sobre carga do processamento dos servidores centrais de dados, ou seja o processamento dos dados também é realizado no cliente e não totalmente centralizados no servidor.
Comparando com aplicações web baseadas em HTML, internet rica e clientes de aplicações rica possibilita uma vasta melhoria no tempo de resposta da aplicação e usabilidade da aplicação.
Em cada domínio, uma experiência de alta qualidade e satisfação dos clientes traduzem na melhoria dos negócios. Para os principais fornecedores de aplicações de internet para comuniações IP ao e-commerce, um modesto aumento uniforme na utilização do serviço ou das taxas de conclusão de transação pode gerar um ganho de rendimentos significantes e redução dos custos de manutenção.
Em uma era onde a missão crítica são os sistemas de informação e agora são expostos rotineiramente aos usuários fináis, onde todos os setores representativos, públicos e privados, fornecem seus serviços aos seus clientes online, a interface desses sistemas necessitam ser dignos dos produtos e serviços por eles representados.
OpenLaszlo
É uma plataforma que conduz ao desenvolvimento de aplicações de internet rica. Openlaszlo combina excepcionalmente:
Licença sobre certificado OSI CPL Open Source
Plataforma nativa XML
Disponibilização em qualquer lugar sem instalação
Suporte para qualquer web browser para Windows, Linux, MacOS e qualquer outro sistema operacional que possua um web browser com plugin Flash Player
Opção de disponibilização para ambos servidores web HTTP e J2EE
Uma experiência de interface rica para o usuário
segunda-feira, 20 de fevereiro de 2006
OpenLaszlo
O que é o Openlaszlo?
Ë uma plataforma open source para desenvolvimento e disponibilização de aplicações segundo a modalidade RIA( Rich Internet Application | Aplicações de Internet Rica ). A plataforma Openlaszlo consiste em 3 componentes principais:
- Compilador: o qual pega os arquivos de código e compila para arquivos Flash( swf ) que são executados em qualquer browser que possua o plugin da Macromedia para execução do Flash( swf ).
- Runtime Framework: inclui os componentes de interface, suporte para manipulação de dados( data binding ) e serviços de comunição na rede.
- Servlet: habilita o suporte runtime para tipos adicionais de media, suporte para SOAP e XML-RPC.
Com o OpenLaszlo, você pode:
- Desenvolver aplicações baseadas em RIA com um código baseado em XML e JavaScript.
- Disponibilizar essa aplicação em qualquer browser na modalidade SOLO, ou disponibilizar em qualquer servidor de aplicação J2EE ou em qualquer container Java de servlet( ex.: Tomcat ), rodando em qualquer sistema operacional que tenha o java instalado.
- Disponibilizar para qualquer web browser com Flash Player 5 ou superior, alcançando 97% de todos os computadores com acesso a web.
Desde 2002, as aplicações em Laszlo tem demonstrado que provem a usabilidade, escalabilidade e a confiabilidade em distribuições web( sistemas web que utilizam essa tecnologia) para milhares de usuários.
Quando e por que o OpenLaszlo se tornou Open Source?
Começou com a versão 2.2 no dia 5 de Outubro de
Por adotar um modelo de desenvolvimento aberto, nos esperamos acelerar a utilização por aplicações ricas para cliente na Web aberta, também como realce a qualidade, performance e um novo jogo de característica da plataforma OpenLaszlo. A empresa Laszlo Systems continuará a desenvolver a plataforma Open Source, junto com o fornecimento de módulos comerciais para aplicações, realizando o serviço de suporte e treinamento para seus clientes.
domingo, 30 de outubro de 2005
Links sobre AJAX
AJAX Patterns
AJAX Patterns - Cross-Browser Component
Getting Started with Ajax
Asynchronous JavaScript And XML (AJAX) -- And Why It's Not Enough
Ajax: A New Approach to Web Applications
Survey of AJAX/JavaScript Libraries
WWW SQL Designer
WWW SQL Designer - Demo
Sprinkle Some AJAX Magic in Your Struts Web Application
AJAX + STRUTS
DWR - Direct Web Remoting
Backbase
script.aculo.us
Artigo publicado no site do JAVA
Asynchronous JavaScript Technology and XML (AJAX)
With Java 2 Platform, Enterprise Edition
Blog's sobre AJAX
http://blog.elcio.com.br/ajax_e_o_hype/
http://www.ajaxian.com/
Juntão Ajax
Artigo publicado no Tableless
Ajax - Para quem só ouviu falar
Ajax - Introdução
Rich Internet | Internet Rica
* Uma nova forma de pensar e desenvolver sistemas web.
A internet é, sem dúvida, uma ótima ferramenta para encontrar e organizar informações, mas no que se refere á aplicações de usabilidade, interatividade em tempo real e multimídia, está apenas começando a dar seus primeiros passos, neste ponto entra o RIA.
Ao desenvolver um projeto baseado em RIA estamos combinando a interatividade e a funcionalidade do desktop com a abrangência e flexibilidade da web para criar uma única e integrada experiência, rica em conteúdo.
Comentário sobre o ambiente web
A web hoje é um ambiente onde é problemática a entrega de aplicações que exigem interfaces mais robustas e níveis mais altos de interatividade.
A plataforma web foi concebida sem maior consideração a possíveis necessidades de execução de aplicativos. Praticamente todas as aplicações para a web carregam novamente as páginas inteiras, a cada clique, o que dificulta a experiência do usuário e reduz o potencial de aplicações.
Basicamente a web é um ambiente onde o código é rodado principalmente no servidor, levando a custos maiores de transmissão de dados. Além disso, a experiência do usuário é inferior a aplicativos de desktop, com custos de desenvolvimento decorrentes de múltiplas plataformas e metodologias.
Dada a escalabilidade da web e sua maior abrangência, a implementação de aplicativos baseados na web substituiu os sistemas tradicionais cliente-servidor apresentando, porém, resultados finais limitados decorrentes dos problemas expostos anteriormente (carregar a pagina inteira novamente, por exemplo). O conceito RIA veio para tentar suprir tais limitações encontradas.
O que é RIA?
É um conceito inovador no modo de pensar e desenvolver na web. Aplicações RIA, unem a funcionalidade dos softwares para computadores de mesa com o extenso alcance e facilidades econômicas de aplicativos para internet, o que proporciona um novo nível de experiências para usuários e desenvolvedores.
A principal ferramenta para o desenvolvimento de RIA é o flash, porém o flash por si só não é capaz consultar bases de dados ou fazer qualquer operação no servidor sem o auxílio de algum recurso externo, ou seja, tecnologia Remoting. Mesmo com suas fabulosas vantagens, possui uma restrição séria, o servidor. Este deve ter suporte à tecnologia Remoting, o que torna o serviço de hospedagem para esses sites caro e inviável para pequenas empresas e sites pessoais. Em resposta a essa limitação, e dentro de um modelo de co-criação, grupos de desenvolvedores criaram uma alternativa Open-Source que viabiliza o uso de tecnologia Flash Remoting em servidores sem custos extras no servidor (necessitando somente do php, ou tecnologia Java J2EE).
Apesar de em um primeiro pensamento sobre RIA, pensarmos em flash, algo novo que neste ano vem ecoando na internet é o AJAX (Asynchronous JavaScript and XML) usado também para o desenvolvimento de RIA porém como dito na sigla usa javascript com xml.
Como Funciona?
Arquitetura tópica RIA
RIA são aplicações implementadas no servidor e que tiram vantagem da tecnologia cliente para prover uma nova classe de websites interativos com a sofisticação de aplicações de desktop, mas que não comprometem a facilidade de desenvolvimento, implementação e manuseio dos aplicativos web.
Os aplicativos de Rich Internet são baseados na tecnologia Rich Client, que fornece um ambiente dinâmico, com capacidade de hospedagem de aplicativos compilados no lado do servidor recebidos como arquivos através de HTTP. Os aplicativos no lado do cliente conectam-se de volta aos Back-Ends de servidores de aplicativos existentes, por meio de uma arquitetura assíncrona de Cliente/Servidor que oferece segurança, estabilidade e que é bem adaptada ao novo modelo orientado a serviços que está sendo promovido pela adoção de serviços web.
Descrição das Arquiteturas
Arquitetura Laszlo
Arquitetura Flash
Fonte
Tanto usando Flash quanto usando o AJAX o esquema de processamento entre os 2 são similares a esta imagem que demonstra o processamento assincrono do AJAX.
Considerações
A adoção crescente da tecnologia Rich Client não é uma etapa evolutiva de substituição a HTML. Consiste mais em uma aplicação da capacidade dos browsers e dispositivos com interfaces de usuário mais eficazes e responsivas. A maioria dos aplicativos "Rich" é executada no contexto de browsers, e muitos são executados dentro das páginas, junto com o conteúdo HTML. Os aplicativos "Rich" acrescentam mais recursos à internet, mas a linguagem HTML continuará a ter um papel fundamental na disponibilização de conteúdo, nas interfaces de usuário e na navegação.
Internet Rica porque pode ser executada tanto em browsers como em dispositivos, ela possibilita criar aplicativos que podem ser disponibilizados uniformemente em uma ampla gama de plataformas de conexão à internet. Além disso, como a tecnologia Rich Client possibilita o uso de elementos gráficos móveis, vídeo, áudio, comunicação bidirecional e formulários complexos, ela constitui um ambiente significativamente mais sólido para criação de interfaces de usuário de aplicativos.
As qualidades descritas nesta apresentação representam os principais pontos de evolução que possibilita a utilização do conceito de Internet Rica.
Essencial na utilização adequada destas aplicações está o planejamento adequado, centrado no usuário e em suas metas. Aplicações em RIA permitem que modelos mentais e objetivos de negócios sejam mais bem explorados. Para obtermos o potencial representado pelas tecnologias, todas as etapas do processo têm que receber o direcionamento de um planejamento adequado, conhecedor do processo e das ferramentas.
Benefícios
Agilidade no tempo de resposta; - Layouts gráficos mais elaborados; - Possibilidade de interface com animação (torna as operações mais interessantes); - Utilização de multimídia (áudio, vídeo, mais atratividade nos sites). O resultado final para o usuário de um sistema que utiliza RIA é de modo semelhante a um sistema cliente desktop.
( Essa é uma das idéias centrais de utilizar-se RIA em sistemas web ).
Situação atual
Atualmente ainda é muito baixo o número de sites que utilizam tecnologia RIA no Brasil, mas a tendência é aumentar rapidamente. A questão chave agora é definir aplicações RIA como estratégicas e geradoras de diferencial, capazes de melhorar as experiências dentro do marketing, vendas e relacionamento. É sem duvida uma nova forma de pensar e agir na web.
Programação WEB + R.I.A.
De uns tempos para até o atual momento( um ou dois anos ), tenho visto na internet algo novo, um novo conceito, ou até uma nova filosofia de programação de VIEW para sistemas WEB utilizando um conceito chamado RIA...
RIA( Rich Internet Application, ou em português literalmente,
Aplicação de Internet Rica )
Definição da Macromedia para RIA:
"Internet rica significa o uso da tecnologia da informação para unir o melhor da web, ao melhor do seu desktop e ao melhor das comunicações. É, em suma, uma experiência interativa muito mais rica para o usuário.
Para compreender melhor, pense no que acontece quando você navega pelo seu desktop ou por outras aplicações cliente-servidor. Você faz ações como "drag-and-drop", "desfazer" e muito mais - tudo na mesma tela, de maneira simples e intuitiva.
O conceito tradicional de internet impede este tipo de navegação, pois, normalmente, você precisa clicar em um link para ver alguma opção em alguma página; depois clicar em outro; em outro; e assim por diante.
RIA - ou Rich Internet Application é um conceito que permite uma experiência de navegação semelhante ao ambiente do seu desktop. Com códigos rodando no navegador, o próprio conceito de página é ampliado para o conceito de internet rica."
Atualmente exite 2 frentes de desenvolvimento usando esse conceito, interface web utilizando swf( flash ) ou usando AJAX.
Usando SWF
Temos uma interface para o usuário do sistema com efeitos cinematograficos podendo disponibilizar para o usuário do sistema todas as "frescuras", antender aos anseios, imaginação do usuário de como deveria ser a interface para o sistema, tendo muitos recursos de animações disponiveis.
Mas programar usando o Macromedia Flash + ActionScript é um trabalho um tando complicado para o desenvolvedor, então em Outubro de 2000 uma empresa chamada Laszlo Systems é fundada em São Francisco, Califórnia e inicia-se um projeto chamado Laszlo, com uma nova proposta de desenvolvimento da camada de visualização Web onde o resultado final é tão poderoso quando o resultado final gerado usando Macromedia Flash + ActionScript, porém a programação é mais amistosa pois é baseada em conceitos e paradigmas de programação com os quais grande maioria dos desenvolvedores já estão acostumados, um exemplo rápido é o desenvolvimento dessa camada de visualização Web utilizando de uma programação orientada a objeto.
A partir da versão 2.2 em 5 de Outubro de 2004, toda a plataforma Laszlo, agora chamada de OpenLaszlo foi disponibilizada pelo seu desenvolvedor original a Laszlo Systems, para ser uma plataforma gratuíta e OpenSource, licensa CPL, para o desenvolvimento e disponibilizações de aplicações web de internet rica.
Quanto a Macromedia, segundo boatos que circulam pela internet, logo após a Laszlo Systems ter lançado a ideia de inteface RIA, quanto ao formato de programação baseada em tag's XML gerando swf usado na interface de utilização do usuário, integrada com java como base de processamento, a Macromedia como foram eles os criadores do swf não perderam tempo e começaram a trabalhar em uma ferramente chamada Macromedia Flex que em si, a forma de programação é semelhante ao formato de programar usando laszlo, as duas usando uma base de código em formato XML. A grande diferente entre essas duas hoje é o fato, OpenLaszlo é open source CPL e executa em qualquer continer de servlet java ou servidor de aplicações web J2EE, ou ainda existe a possibilidade de uma distribuição chamada SOLO que independe podendo a aplicação ser colocado em um IIS ou outro servidor disponível no mercado, enquanto o Macromedia Flex foi projetado apenas para executar no JRun.
Usando AJAX
É uma tecnologia para desenvolvimento de sites usando o conceito RIA, porém a sua interface utiliza engines baseadas em javascript que realizam o processamento de uma request de algo no servidor de modo background, não gerando aquela inconveniente piscada de tela, onde fica tudo em branco e depois aparece o conteúdo da página, o AJAX é baseado em um objeto XmlHttpRequest do javascript o qual segundo informações já existe a mais de 10 anos o qual realiza a comunicação com o servidor em background e agora o pessoal do Google "desenterrou", "ressucitou", como queira; podemos ver o AJAX em ação no Google Maps e no Gmail, existem outros sites também, mas nesses podemos ver a diferença do formato desses sites comparando com demais sites na internet que não utilizam RIA.
Digamos que o AJAX é mais uma metodologia de programação de sistemas web do que efetivamente uma nova tecnologia. Porém ainda apresenta alguns problemas, para o desenvolvimento de sistemas que implementam RIA usando o AJAX é necessário um conhecimento quanto maior do desenvolvedor sobre javascript para poder realizar a compatibiliazação para a execução em diversos web browsers, atualmente existem taglibs disponíveis com implementações de AJAX o que reduz um pouco a complexidade da programação de sistemas web usando o AJAX.
AJAX x SWF
Tanto um quanto outro utilizam comunicação com o servidor fazendo uma request que a princípio não note-se diferença de um outro sistema web comum, porém o retorno da request, a resposta do servidor, essa sim é tratada de maneira diferente dos demais sistemas web atuais, utilizando o conceito de parsing de XML, XHTML, recuperam apenas os trechos importantes da resposta, caso seja um HTML retornado, ou caso no desenvolvimento já foi definido que a resposta retornaria como em formato XML, ambos realizam a leitura e "injetam", atualizam os trechos da página( AJAX ), ou SWF( OpenLaszlo, Flex ), com isso não remontando toda a página evitando que a tela fique em branco.
Uma das vantagens de ambos, caso seja bem estruturado, o seu uso em ambos poupam o consumo de banda, pois uma vez montado a VIEW do sistema para o usuário, apenas os dados para atualizar trechos da VIEW serão trafegados entre o browser do cliente e o servidor.
A diferença base entre os 2 é o fato. O AJAX é baseado o seu funcionamento no HTML e javascript interpretado pelo web browser do cliente com isso também o limitando apenas ao que o browser consegue interpretar do javascript, enquanto o OpenLaszlo e o Flex como gerar um resultado binário swf o qual é executado pelo plugin Macromedia Flash Player na máquina do cliente livra o desenvolvedor da preocupação de uma programação de compatibilizaçào pois o plugin é o mesmo para todos os web browser de diferentes sistemas operacionais e tipos de dispositivos.
Conclusões
Tanto AJAX, quando OpenLaszlo e o Flex, para camada VIEW de sistemas web já fornecem uma vasta possibilidade de funcionalidades que podem ser disponibilizadas para o usuário, aproximando o sistema web um pouco mais de um sistema cliente desktop possibilitando tambem o desenvolvimento de sistemas web na modalidade single-page sem os inconvenientes “piscar de tela” dos atuais sistemas web disponíveis.