这项技术是把类符合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 播放器也被单独的用做渲染引擎。