Openlaszlo

21
OpenLaszlo Carlos Alberto Gomez Diego Fernando Dominguez

description

Exposicion sobre framework Openlaszlo

Transcript of Openlaszlo

Page 1: Openlaszlo

OpenLaszlo

Carlos Alberto GomezDiego Fernando Dominguez

Page 2: Openlaszlo

Que es OpenLaszloEs una plataforma de código abierto, ofrecida bajo Licencia Pública Común

(Common Public License o CPL), para el desarrollo y la entrega de aplicaciones de internet enriquecidas RIA.

El OpenLaszlo se autoproclama como la primera y la única plataforma RIA que soporta el desarrollo de aplicaciones en ambos Flash y AJAX, todo desde un único código fuente.

Page 3: Openlaszlo

GeneralidadesUno de los mayores desafíos que enfrentan los

desarrolladores de RIA es el de la compatibilidad de navegadores. Debido a que OpenLaszlo se basa en el paradigma del lenguaje Java™ de escribir una vez y ejecutar en todos lados, se asegura que las aplicaciones basadas en OpenLaszlo se ejecutan de manera uniforme en diversos navegadores de múltiples sistemas operativos.

Page 4: Openlaszlo

Historia del proyectoOpenLaszlo fue originalmente llamado Laszlo Presentation Server (LPS). El desarrollo del LPS comenzó en el otoño del 2001. El primer lanzamiento general de LPS fue a principios del 2002.En octubre de 2004, Laszlo Systems liberó la totalidad de los códigos fuente del Laszlo Presentation Server bajo la licencia de código abierto GPL, y fue puesto en marcha el proyecto OpenLaszlo. En el 2005, coincidiendo con el lanzamiento de la versión 3.0, el nombre del Laszlo Presentation Server se cambió a OpenLaszlo.Línea de tiempo:2000: Inicio del desarrollo de prototipos2001: Inicio del desarrollo2002: Lanzamiento de vistas previas de LPS2003: Liberado LPS 1.0, 1.1; Aplicaciones desplegadas (Yahoo!, Earthlink)2004: Liberado LPS 2.0, 2.1, 2.2; LPS libera su código2005: Liberado OpenLaszlo 3.0, 3.1; LPS cambia su nombre a OpenLaszlo2006: Liberado OpenLaszlo 3.2, 3.32007/09: Liberados OpenLaszlo 4.X2010 : Liberada OpenLaszlo 4.9 (actual)

Page 5: Openlaszlo

Hace uso del lenguaje de programación LZX, que es un lenguaje orientado a objetos que usa XML y javascript. Las aplicaciones enriquecidas de clientes escritas con OpenLaszlo se ejecutan en diversos navegadores y varias plataformas.

Page 6: Openlaszlo

ArquitecturaLa siguiente figura muestra el lado del servidor y la

arquitectura del lado del cliente de OpenLaszlo.

Page 7: Openlaszlo

El Servidor OpenLaszlo que nos permite compilar el código LZX es una aplicación Java servlet/JSP.

Interface Compiler — El Compilador de interfaces consiste en un LZX Tag Compiler (Compilador de Etiquetas LZX) y un Script Compiler (Compilador de Scripts), que convierten los archivos de origen en archives ejecutables (SWF) y los ofrecen como un bytecode para un complemento que se ejecuta en el navegador del cliente (como por ejemplo Flash o J2ME), o como un JavaScript (DHTML) ejecutado por el mismo navegador.

Media Transcoder — Transcodificador de medios convierte una completa variedad de recursos de medios a un único formato para que sea renderizado por el motor de renderización de clientes objetivo de OpenLaszlo. Esto permite que una aplicación de OpenLaszlo presente tipos de medios compatibles de una manera unificada en un mismo lienzo, sin múltiples aplicaciones auxiliares ni software de repetición suplementario. Media Transcoder automáticamente presenta los siguientes tipos de medios: JPEG, GIF, PNG, MP3, TrueType, y SWF.

Data Manager — El Administrador de datos funciona como una interfaz entre las aplicaciones de OpenLaszlo y otras aplicaciones de la red, como por ejemplo bases de datos y servicios Web XML. Consiste en un compilador de datos que convierte los datos a un formato binario comprimido y una serie de conectores de datos que permiten a las aplicaciones de OpenLaszlo recuperar estos datos por medio de XML/HTTP.

Page 8: Openlaszlo

La arquitectura del lado del cliente de OpenLaszlo consiste fundamentalmente en las clases de la Laszlo Foundation, que brindan el entorno en tiempo de ejecución para ejecutar las aplicaciones de OpenLaszlo. Cada vez que un cliente invoca una aplicación de OpenLaszlo mediante sus URL, también se descargan las bibliotecas necesarias y la fuente en tiempo de ejecución. El cliente mantiene en todo momento una conexión con el servidor.

Event System —Sistema de eventos es responsable del manejo de diversos eventos basados en el usuario, como por ejemplo los clics del mouse y los envíos de datos. Además, mejora el rendimiento de una aplicación al realizar diversas operaciones en el lado del cliente, como por ejemplo las de clasificación y validación, en lugar de pasarlas al servidor.

Data Loader/Binder — Cargador/Enlazador de recibe los datos despachados desde el lado del servidor y los vincula con sus respectivos elementos de UI, como menús, campos de texto y áreas de texto en el lado del cliente.

Layout and Animation System — Sistema de Disposición y Animación maneja numerosos algoritmos relacionados con la animación, permitiendo al usuario la visualización de los componentes de una manera continua desde el punto de vista visual. Además, controla la posición de diversos componentes usando un posicionamiento de píxeles absoluto y relativo con mínima programación.

Page 9: Openlaszlo

Ciclo de solicitudesEl flujo típico de solicitudes toma la siguiente ruta:El usuario envía una solicitud de un recurso en forma de URL a través del navegador.El servidor de OpenLaszlo recupera el recurso basado en el URL y lo envía al Interface Compiler

para su compilación.El Interface Compiler convierte las etiquetas y los JavaScripts de la descripción de la aplicación

LZX en un bytecode ejecutable (SWF) para su transmisión al entorno del cliente de OpenLaszlo. Este código es colocado en el caché, y desde allí es enviado al cliente.

Según cómo se invoque la aplicación, la misma es transmitida como un archivo SWF o como un archivo HTML con un objeto SWF incrustado, junto con las clases de la Laszlo Foundation adecuadas.

El navegador es el que muestra la aplicación en el caso de una respuesta con formato HTML. El reproductor de Flash es el que reproduce la aplicación en el caso de una respuesta con formato SWF.

El usuario ingresa ciertos datos de la solicitud desde el lado del cliente y envía estos datos.El servidor OpenLaszlo invoca al conector de datos adecuado, y éste, a su vez, toma los datos

XML.

Page 10: Openlaszlo

El servidor OpenLaszlo envía los datos nuevamente al cliente.Las clases de la Laszlo Foundation en el lado del cliente se enlazan los datos

a los objetos de UI adecuados. Los elementos de la pantalla se actualizan con los datos de la respuesta.

Page 11: Openlaszlo

Una aplicación en OpenLaszloEl desarrollo de una aplicación OpenLaszlo implica:Escribir el programa OpenLaszlo (en XML y JavaScript)

usando un editor de texto.Guardar el archivo como un archivo LZX.Compilar el archivo LZX a un archivo SWF o DHTML, ya

sea manualmente o usando el servidor OpenLaszlo y visualizando el resultado en el navegador.

Como una aplicación de OpenLaszlo es un documento XML se puede usar cualquier editor de texto para escribir el código. El código del Listado 1 corresponde a una aplicación simple de HelloWorld LZX.

Page 12: Openlaszlo

HelloWorld.lzx<canvas height="350" width="1050" bgcolor="#FFBE7D"> <view width="500" height="250" align="center" valign="middle" bgcolor="#FFFF66"> <text align="center" valign="middle"> <font size="25">Welcome to Hello World!</font> </text> </view> </canvas>

Page 13: Openlaszlo
Page 14: Openlaszlo

<canvas height=”250”> <dataset name=”weatherdata” request=”true” src=”http://www.laszlosystems.com/cgi-pub/weather.cgi?zip=10022”/> <grid datapath=”weatherdata:/weather”“contentdatapath=”forecast/day”/></canvas>

Ejemplo de un componente “grid”

Page 15: Openlaszlo
Page 16: Openlaszlo

Componentes enriquecidosOpenLaszlo ofrece a los usuarios un conjunto de componentes enriquecidos listo para usar para cualquiera de las aplicaciones LZX.

datepicker

Page 17: Openlaszlo

ScrollBar

Page 18: Openlaszlo

TannedPane

Page 19: Openlaszlo

TreeView

Page 20: Openlaszlo

ConclusionesOpenLaszlo es una plataforma de desarrollo de código abierto para

construir aplicaciones Web enriquecidas escritas en LZX, que es un lenguaje XML que incluye JavaScript incrustado.

Las aplicaciones de OpenLaszlo se pueden transportar a distintos navegadores. Esto es posible gracias a la tecnología de compilación de OpenLaszlo, que cuida los detalles del tiempo de ejecución, permitiendo que el desarrollador se concentre más en el comportamiento/ la lógica y la apariencia de la aplicación, conformando así una verdadera plataforma de “escriba una vez y ejecute en todos lados”. OpenLaszlo soporta un modelo de gráficos enriquecidos con numerosos componentes incorporados y reutilizables, así como texto WYSIWYG avanzado y herramientas de edición gráfica.

Page 21: Openlaszlo

Linkshttp://wn.com/OpenLaszlohttp://openlaszlo.org/lps_demos/laszlo-explorer/index.htmlhttp://gowebtop.com/webtophttp://gruaz.net/?page_id=15