terça-feira, 6 de fevereiro de 2007

OpenLaszlo: um leitor de RSS 2.0 simples

um exemplo simples de como criar um leitor de RSS pelo OpenLaszlo:

<canvas>
   <dataset name="dset" request="true" src="http://rss.terra.com.br/0,,EI4795,00.xml"/>
   <simplelayout axis="y" spacing="5"/>
   <view datapath="dset:/rss/channel/item">
      <simplelayout axis="x" spacing="5"/>
      <text width="250" datapath="title/text()"/>
      <text datapath="description/text()"/>
      <text datapath="pubDate/text()"/>
   </view>
</canvas>

OpenLaszlo: CRUD

Outro recurso muito utilizado em aplicações são as operações CRUD:

C - Criar
R - Recuperar, listar
U - Atualizar
D - Apagar, deletar

como em uma aplicação em OpenLaszlo temos uma aplicação com 2 lados, o client-side que é onde está sendo executado a interface da aplicação, mais especificamente na máquina do usuário e o server-side que é onde está a lógica de negócio da aplicação, ou seja, esta parte da aplicação está em um servidor web na internet, ou na intranet de algum ambiente de rede...

para termos essas funcionalidades CRUD em uma aplicação RIA como o OpenLaszlo precisamos ter: os controles na interface, e os respectivos códigos de execução nos códigos da aplicação no lado do servidor, sendo que no lado do servidor podemos implementar essas utilidades usando acesso ao banco comunicando via SQLs ou utilizando algum framework como o Hiberante para facilitar o desenvolvimento...

no capítulo 35 item 7 da documentação oficial do OpenLaszlo temos um exemplo simples de como construir essa funcionalidade CRUD em uma aplicação web com interface OpenLaszlo, no qual é exemplificado através de um .jsp e de um .lzx que seria a interface em execução na máquina cliente: Updating, Deleting, and Inserting Data

OpenLaszlo: trabalhando com parâmetros

O OpenLaszlo possibilita uma boa flexibilidade na hora de determinar os parâmetros que deverão ser enviados para o servidor, porém para isso é necessário utilizar um dataset para poder enviar os dados para o servidor... neste dataset para onde será enviado os dados este pode ser um servidor de qualquer tecnologia web, java, como jsf, jsf, ou algum framework java para web, ou ainda um servidor .Net, PHP entre outros servidores, bastando definir o atributo src do dataset para o respectivo endereço URL para onde serão enviados os respectivos atributos...

digamos que no seu fonte OpenLaszlo para facilitar você crie um método para gerenciar o envio dos dados para o servidor, e dentro desse método você utilize a classe LzParam( aconselho o uso dessa classe ) termiamos no fonte .lzx algo como o respectivo código:

...
   <dataset name="ds" querytype="post" request="false" proxied="false" type="http"/>
...
   <method name="enviarDados">
   <![CDATA[
      // instancia um objeto 'LzParam' para envio dos dados por parametro...
      var param = new LzParam();

      // adiciona como parametro o objeto retirado do dataset temporário...
      param.addValue("param1", "valor1", true);
      param.addValue("param2", "valor2", true);
      // recuperando o dataset de envio de dados para o servidor
      var ds = canvas.datasets[ 'ds' ];
      // define a ação que irá executar
      ds.setSrc( "http://www.dominio.end/app/processa.jsp" );
      // seta os parametros a serem enviados para o servidor
      ds.setQueryString( param );
      // realiza a requisição
      ds.doRequest();
   ]]>
   </method>

com isso nesse formado é possível uma maior flexibilidade e controle dos parâmetros que serão enviados para um respectivo servidor...