这项技术是把类符合xml格式的Lzx文件通过日Java的Web服务器编译并生成Flash文件转发给页面。
因为这个页面就是由Flash构成,自然就具有Web2.0特性,并且实现异步与后台服务器进行通信。
OpenLaszlo 的体系机构
目录
5. OpenLaszlo 服务器的数据流-通过服务器形式的应用程序
OpenLaszlo 程序可以在网页上运行, 或者也可以通过以下两种方式实现:
· 通过服务器. 在你的本地机器上运行OpenLaszlo 服务器,然后
· 服务器会编译你的源代码,并把生成的结果二进制代码发到客户端运行。
· 代理服务在客户端和服务器之间起连接作用,在需要的时候对数据进行必要的控制。
· 单独运行 你可以用OpenLaszlo 编译器事先编译要源代码程序并且使编译出来的程序在你的服务器可以运行。当编译出来的程序在客户端直接运行时,程序就可以直接与其它服务器连接,而无需通过Openlaszlo服务器的中转。这个就叫做不用服务器(OpenLaszlo服务器)也能运行,孤独的OpenLaszlo输出方式。
在后面的章节我们将会更仔细的说明这两种运行方式不同,总的说来:
· 通过服务器的程序可以做一些单独运行的程序所不能做的事,但是通过服务器布署的程序更难配置,并且有时会运行得比较慢。
· 而单独运行的程序则很好配置,并且有时会运行得很快。
大多数情况下,你根本没有必要去决定到底采取哪种方式来布置你的程序,除非当你真的写好了程序该去布署了。而一般默认的布置方式是非服务器布署的,也就先生成好预定的页面。当你读下面的讨论时,请时刻在你的头脑里思考这上问题:当你静态布署你的程序时,OpenLaszlo服务器的运行能力(媒体代码转换能力和持久的连接管理)你根本就不用去考虑。
OpenLaszlo 服务器是一个Java应用程序,它运行在J2EE的servlet的容器中。OpenLaszlo服务器可以通过各种协议与后端的服务器或者数据源通信。OpenLaszlo应用程序写在扩展名为LZX的文件内,并而被OpenLaszlo服务器编译成字节码,并且在客户端的Web浏览器上运行。这个构成所谓有前端。当前需要支持的环境:Flash 7 或者更高的版本。 能稳定持久的运行在各种不同的操作系统和设备环境,如Windows, Pocket PC, Mac OS, Linux, 和 Solaris, 和一些手机和机顶盒平台. OpenLaszlo服务器以字节码的形式输入能被Macromedia Flash player (version 7 或者更高版本)识别的SWF文件,但是在OpenLaszlo的体系结构中没有任何东西与Flash挷定。在将来OpenLaszlo可能会支持更多的客户端浏览器。
在OpenLaszlo 中,客户端预示着LZX程序运行在用户的web浏览器中,服务器端预示着OpenLaszlo 服务器(它可能与其它服务器相连)LZX客户端与OpenLaszlo 服务器上是通过HTTP连接的。OpenLaszlo 服务器发送字节码,而LZX源程序发送XML文件。
所有OpenLaszlo平台的特点包括:流媒体和通知,并且是通过HTTP或者HTTPS进行传送。那样基于OpenLaszlo的应用程序就有与标准的防火墙的兼容能力。这是公共网络应用程序一个非常重要的能力。
图 1.1. Laszlo 客户端与服务器的体系结构
OpenLaszlo服务器运行在标准的J2EE应用服务器或者Java servlet容器运行在JRE1.4或更高的版本。这些应用服务器上很容易扩展的正如OpenLaszlo 服务器一样。OpenLaszlo 应用程序可以运行在任何的操作系统上,只要这个操作系统支持这些应用服务器。OpenLaszlo 支持Windows, Solaris, Linux 和 Mac OS X server 运行环境.
OpenLaszlo 服务器包括下面五个主要的子系统:
· 接口编译器
· 媒体代码转换器
· 数据管理器
· 持久连接管理器
· 缓冲器
接口编译器 包括LZX标记编译器和脚本编译器. 接口编译器又会调用媒体编译器和数据管理器去编译为应用程序准备的媒体和数据源
LZX标记和脚本编译器转换LZX的标记和JavaScript脚本为可运行的swf文件的字节码。这些代码先放在缓冲器中,然后再由缓冲器发给客户端。这些代码是通过swf文件传送还是通过嵌有swf文件的html文件。
媒体转换器转换各种类型的媒体文件变成统一格式给OpenLaszlo 的目的客户端渲染引擎。这使得OpenLaszlo 的应用程序能向用户提供可受支持的媒体类型,而且在单一的面板上定义统一的行为。而不会因为各种媒体的不对应而分散了注意力。
媒体转换器会自动的转换如下的媒体类型:JPEG, GIF, PNG, MP3, TrueType, 和 SWF (只针对艺术和动画).
数据管理器是同数据编译器和一系列数据连接器构成,数据编译器转换所有的数据变成OpenLaszlo可读的压缩的二进制代码。数据连接器可以使OpenLaszlo 应用程序通过XML/HTTP来检索数据。OpenLaszlo应用程序还可以通过网络与数据库和XMLWeb服务或者基于网络服务器的文件。
持久连接管理器为OpenLaszlo应用程序处理访问权限和实时信息服务。它提供实时信息服务和通知或者通过HTTP把数据发送出去。
| 注意 |
|
这个特性是临时的。它工作在很小的容量状态下,并且很容易扩展。但是我们不建议扩展这个特性,因为它可能产生低容量的异常,没有任务的严重的扩展。 如果使用这个特性, 你对应用程序的稳健性有任何问题,请直接联系Laszlo系统! |
缓冲器包含任何程序刚刚编译的大部分版本文件。OpenLaszlo 应用程序第一次发起请求时,服务器编译并发送相应的SWF文件给客户端。服务器的缓冲器也相应的存了一份备份,这样当后面的请求到来时就不用再去编译了。
Laszlo的客户端结构包含OpenLaszlo 运行库(OpenLaszlo Runtime Library (ORL))。它是一个核心的库,它将被编译到每一个OpenLaszlo的应用程序当中,并且提供运行时的服务(例如,一个计时器和一个空闲方法)和一个表示层的渲染器(它将提供二维图形的渲染和声音的播放),并且这些库文件都是不依赖于Flash服务或者使用Flash对象模型。Flash播放器也被单独的用做渲染引擎。
<canvas/> |
当应用程序运行时,即使它没有做任何事情,它还是保存有与服务器的连接,并且所有的用于运行LZX应用程序的相应组件都被下载到本地。
在OpenLaszlo 运行库里有四个主要的容器:事件系统,数据加载和挷定器, 布局和动画系统和一系列的应用服务。
事件系统识别并处理应用程序的事件,例如鼠标单击或者服务器的数据输出。这个组件允许在客户端进行标准的基于事件的编程。与传统的应用程序相比,OpenLaszlo 应用程序大大缩短了从本地服务器上下载的过程。而是允许更多的任务在客户端运行,例如客户端的排序、处理、验证和动态数据显示。
数据加载器就像一个数据交通的指导者,它通过网络从OpenLaszlo服务器接收数据流并且把它挷定到相应的可视化的元素中去,例如文本输入框、表单和菜单按钮。
布局和动画系统提供给OpenLaszlo 应用程序一个基于属性的屏幕布局(它有接口元素和基于算法的动画)这个组件使你能够通过很少的编程就能创建动态的应用接口,它允许你放置一系列的接口元素,不论是通过相对的坐标位置还是通过绝对的动态像素位置来定位。通过动画算法,屏幕接口的更新就能通过可视的渲染显示出来,这样很明显示的交换应用程序就能显示在用户面前。
OpenLaszlo 运行时需要计时器、声音和模式对话框的支持。
5. OpenLaszlo 服务器的数据流-通过服务器形式的应用程序
这个例子是通过存放在服务器上的weather.lzx 文件来构成的应用程序,下面的图表将解释这个应用程序是如何在服务器上运行的。
第一步是用户输入URL地址来请求天气服务程序,这个图表显示了数据流从客户端传到了服务器端, 把从XML Web服务传来的数据整合起来,并发送给客户端
在OpenLaszlo应用程序中,表示逻辑层是与业务逻辑层相分离的,表示逻辑层是在本地的客户端浏览器运行的。OpenLaszlo服务器发送给客户端的是压缩过的二进制代码,而不是文本,这样相对于基于HTML的应用程序和其它的Web程序减少了传输过程的数据量, 在服务器端和客户端都缓存了数据这样减少了不必要的代码运行的传输时间。
OpenLaszlo应用平台支持SSL安全模型。通过HTTPS协议进行数据传输时,会把数据用SSL加密算法进行加密。OpenLaszlo 应用程序是运行在本地的Flash播放器的沙箱模型中,并且不能在本地的环境中对本地的文件进行写操作。
通过单用户受权访问模式的OpenLaszlo 应用程序来访问Web服务和数据库也是非常安全的。这个体系结构把OpenLaszlo 服务器当作一个代理或网关当有不安全的服务或者数据到来时。
OpenLaszlo 结构是为支持多种设备而设计的。它提供的动态布局结构使我们能进行很简单的修改例如对应用程序全部的属性进行修改在这个平台上就显示很简单明了。这个简化了应用程序对实际工作屏幕和各种不同大小的设备的适应。
所有OpenLaszlo 应用程序可以在屏幕看见的东西都是用基于时间的动画而不基于帧的动画,这样就能很明显使处理器适应各种不同的设备类型。一个接口的传输需要500ms的时间。而帧显示至少要花500ms的时间来显示。更快的处理器花时间在更多的帧和平滑的动画中,然后传输的时间却是一样的。
OpenLaszlo 提供专门的对 Microsoft Active Accessibility 规范的支持, 通过使用Active的访问性的下面的可访问的设计规范,开发者能开发出运行在Windows的应用程序,这些应用也能很好的被视觉,听觉和行动不方便的人使用。为了更好讨论这些特性,请参见第十四章编程结构。对这个的支持需要在客户端安装第三方的软件,并且只能在运行在IE的Flash播放器下的OpenLaszlo应用程序才可用。