Openlsazlo中代理模式(Proxied)和标准模式(solo)的差异
WYQ
在“在线教室”应用开发的过程中,我们碰到了这种情况:使用solo模式编译出来的SWF文件,在进入教室后,点击白板左侧的文件缩略图时,白板上的flash文件并没有跳到指定的页面,但是文档属性中的页号确实已经更新了;在换成了Proxied模式后,同一套代码未做任何修改的情况下,再点击白板左侧的页面,白板上的flash却可以正常换页。经过对比,两种模式下代码执行的步骤和输出的信息是一模一样的,但是结果却出现了不同,为此,我们查找相关资料,找出了原因所在,以下介绍该种现象出现的原因:
首先,我们来介绍Openlazlo的两种编译方式:
SOLO部署:简单灵活
SOLO(standalone OpenLaszlo output 的简称)部署方式产生的文件可以部署在任何支持web服务的容器中。为了将 Laszlo 应用程序转换成一个 Flash 文件,可以调用编译器(例如 lzc file.lzx —— .lzx 是 Laszlo 文件的扩展名或者直接在URL中添加lzproxied=solo的参数)来产生一个输出文件(swf格式),就可以播放该文件。这样就非常简单了:将生成的文件放在 Web 服务器上,然后将它包括在一个 HTML 文档的主体中就可以了。OpenLaszlo 编译器会负责所有底层的工作(资源组合,代码生成,等等)。但是,SOLO 部署方式有一个限制,有些非常强大的特性(例如 Web 服务调用、RPC 和某些类型的媒体流)SOLO 部署方式不能提供支持。
(solo模式)
Proxied 部署:支持所有特性。
使用 proxied 部署方式,可以得到 OpenLaszlo 系统所能提供的所有特性。这是这种部署方式的一个优点,但是:为了使用这种部署模型,必须在服务器上安装一个 OpenLaszlo Server 环境。这种服务器环境是位于 J2EE 应用程序或 servlet 容器之上的一个 Web 应用程序,负责为 .lzx 文件处理所有请求。OpenLaszlo Server 的一个很棒的特性是,您只需将 Laszlo 文件和 OpenLaszlo Server 组件放在一个服务器上,便可以浏览页面并看到结果,因为它是由服务器动态编译和缓存的。OpenLaszlo Server 另外一个主要的优点是它位于所部署的应用程序与应用程序需要访问的其他资源之间,执行各种所需的转换。因此 Laszlo 支持 XML-RPC 之类的特性。由于在 SOLO 部署方式下媒体请求不是代理的,因此 SOLO 应用程序只支持 Flash、JPG 和 MP3 媒体类型。而且,由于不存在数据的代理,SOLO 部署中也不支持 RPC、SOAP 和持久连接之类的项.
(proxied模式图解)
两种方式的对比:
solo方式优点是:不需要绑定openlaszlo的开发环境,它直接生成一个swf的文件,可以部署在任何的web容器中,而且用户是不可见应用程序的源文件代码的;缺点在于它不支持对openlaszlo高级特性,像跨服务器访问其他主机上的资源时,会产生资源无响应的情况,如跨主机播放在源服务器上发布的视频时,产生了无法play的情况;(这对于集群环境下数据访问服务的影响将是很严重的)
proxied模式的优势在与,它访问数据的速度比较快(相较于solo模式),支持RPC调用和远程主机上数据的访问,如我们可以直接访问源服务器上的swf文件并控制swf在不同frame之间的跳转(这点solo无法做到),但是缺点也比较明显:绑定了openlaszlo的环境,高耦合度使的在部署程序时必须要带上开发环境,另外它无法隐藏源代码文件,这会使情况变的不太安全,如果在客户机器上安装的话,会有可能泄漏我们的源代码资料。
我们当前在线教室的模型是:一台flash服务器直接与用户连接,两台边服务器负责接受来自于flash的连接访问,一台源服务器负责接受边服务器转发的请求并进行数据处理服务。如果flash直接去访问源服务器上发布的资源文件时,solo模式下出现了无法调度资源的情况,即白板中文档无法换页,这对于我们的应用来说是无法接受的,因此,在目前没有更好解决办法的情况下,只能采用proxied的模式,在flash服务器中部署openlaszlo的环境,并将源代码拷贝到工作区中,编译后就可以有效解决白板换页的问题。
- 大小: 29 KB
- 大小: 34.1 KB
分享到:
相关推荐
手册中的"labs.openlaszlo.org"可能是一个指向OpenLaszlo官方实验室的链接,这个实验室通常包含各种示例、实验项目和最新的技术探索,是学习和了解OpenLaszlo最新功能的好地方。在这里,开发者可以找到实际的代码...
- **开发者特性**:提供面向对象编程支持和抽象能力,遵循标准规范,支持声明式的 UI 设计方法。 #### 四、平台功能 OpenLaszlo 平台提供了丰富的功能集,涵盖了从基本的 UI 元素到复杂的交互逻辑: - **视图...
Applet和Openlaszlo是两个在Web开发领域中用于创建动态、交互式用户体验的技术。本文将深入探讨这两个概念以及它们之间的通信机制。 首先,Applet是Java编程语言的一个组成部分,它允许开发者创建可以在Web浏览器中...
OpenLaszlo —— 一个快速构建和部署富 Internet 应用程序的平台 -- Linux,C,C++,Java,Ajax,XML,perl,php,python,ruby,MySQL,Gnome,KDE,Qt,Gtk,bash,shell,嵌入式,网络,信息安全,操作系统,数据结构,编译原理
openlaszlo应用程序开发使用的是基于XML的LZX语言,它可以被编译成DHMTL,SWF等格式。 openlaszlo可作为openmeetings客户端的编译。 因安装程序90+MB,所以切分为两个压缩包。 openlaszlo-4.9.0-windows-dev-install....
openlaszlo应用程序开发使用的是基于XML的LZX语言,它可以被编译成DHMTL,SWF等格式。 openlaszlo可作为openmeetings客户端的编译。 因安装程序90+MB,所以切分为两个压缩包。 openlaszlo-4.9.0-windows-dev-install....
openlaszlo应用程序开发使用的是基于XML的LZX语言,它可以被编译成DHMTL,SWF等格式。 是openmeetings视频会议系统的默认开发编译工具。
使用OpenLaszlo构建J2EE中的RIA程序,高春阳,龚群侃,当前,Web 应用程序就要进入了一个新的时期,富互联网客户端(RIA ,Rich Internet Application) 以其极大地用户交互性、优秀的外观设计、良好��
这是用Openlaszlo开发的计算器程序,可以实现基本的计算操作。 我是刚学openlaszlo,欢迎朋友们提出宝贵意见!
OpenLaszlo Server是一个完整的解决方案,包含了LPS和Tomcat,使得Laszlo应用能够无缝集成到Web环境中。 **Laszlo的运行环境** 1. **LPS和Java Servlet容器**:LPS是Laszlo应用程序的基础,它将LZX文件转化为Java ...
OpenLaszlo的核心是其基于LZX的声明式编程语言,这是一种类似于XML的标记语言,用于定义用户界面的结构和行为。LZX允许开发者分离UI设计和业务逻辑,使得代码更易于理解和维护。通过LZX,开发者可以创建复杂的交互式...
Geoar - WMS/WFS OpenLaszlo 客户端GeoAr 是 WMS 和 WFS 服务的富客户端实现。 它是在 LZX (OpenLaszlo) 上开发的,因此它向用户的浏览器提供 dhtml 或 flash,从而提供在它们之间进行选择的机会,但只有一个服务器...
1. **类的继承、定义与使用**:在OpenLaszlo中,可以创建自定义组件并实现继承,以便重用和扩展已有组件的功能。 2. **事件与触发**:OpenLaszlo支持事件驱动编程,允许组件之间通过事件进行通信,如点击按钮触发...
描述中还提到了“绚丽的效果”和“openlaszlo”。OpenLaszlo是一个开放源码的开发平台,用于创建富互联网应用程序(RIA)。它最初设计用于生成Flash(SWF格式)应用程序,但后来也支持HTML5。如果这个项目与...
5.3.2 差异化的开发者社区 57 5.3.3 庞大的优质用户群 58 5.3.4 健康的项目“脉动” 58 5.3.5 健全的安全补丁体制 59 5.3.6 较完善的文档 60 5.4 服务 60 5.5 寻找合适的开源软件 61 第6章 开源软件之语言和平台 63 ...
- 确保OpenLaszlo的组件库(LPS)和JAR包已经被正确地添加到Struts项目的类路径中。 - 修改Struts项目的`web.xml`文件,以便能够识别OpenLaszlo定义的Servlet。 - 创建LZX文件并在Struts应用中引用它们。可以通过在...
1. **库的差异**:虽然Flex和Flash都使用ActionScript,但它们所使用的库并不完全相同。 2. **目标用户群**:Flash最初定位为矢量动画创作工具,更适合美术设计人员;而Flex则更适合开发者,专注于创建具有丰富交互...
"Spket1.6.18"是一款专为JavaScript和OpenLaszlo开发的智能代码提示工具,它作为Eclipse集成开发环境(IDE)的插件,极大地提升了开发者的工作效率。这款工具的主要功能是为JavaScript和OpenLaszlo语言提供语法高亮...
8. **使用Rails、Openlaszlo和Eclipse开发富互联网应用** 以及 **Openlaszlo中文教程** 提到了跨平台开发工具,对于想要扩展WPF技能的人来说,了解其他框架和技术是有益的。 9. **OpenMeetings** ...
OpenLaszlo Server 默认包含了 LPS 和 Tomcat,方便开发者在Web工程中集成Laszlo。 **Laszlo 运行环境** 1. **集成步骤** - 首先,你需要下载 OpenLaszlo Server 的servlet包,例如 `openlaszlo-3.3.3-servlet....