Laszlo平台简介

Laszlo:富客户端应用开发方案分析
2004年Laszlo Systems开放Laszlo Platform源代码,为J2EE开发者提供富客户端实现选择。Laszlo兼具以Flex和XUL/XAML为代表的两类实现策略的优势,J2EE开发者可自行开发界面。不过它存在脚本调试麻烦、运行效率和稳定性欠佳、对服务器硬件要求高等问题,目前更适合企业内部应用。
(本文发表于《程序员》杂志2005年第2期)

2004年10月,Laszlo Systems公司开放了主要产品Laszlo Platform的源代码,于是有意转向富客户端(rich client)的J2EE开发者们又多了一种选择。在Laszlo之外,rich client的实现策略大抵可以分为两类:以Flex为代表的一派采用独立于浏览器的展现格式(例如Flash),显示效果更美观,也不受浏览器局限,但表现层的开发需要专门技能,J2EE开发者常常不能胜任;以XUL/XAML为代表的一派则依赖于浏览器,开发者只需要编写类似于HTML的标记语言,但浏览器的兼容性则很差。Laszlo则兼具了两者的优势。



上面是Laszlo的应用架构图,看起来平淡无奇,任何一个基于Flash的rich client应用都有类似的架构。Laszlo的不同之处在于:在客户端运行的Flash界面不是由美工在Flash编辑器中制作出来的,而是在Laszlo表现服务器(Laszlo Presentation Server,LPS)中根据LZX文件编译生成、再发送到客户端的。LZX是一种界面描述格式,其中包含两部分内容:用于描述界面的XML标记,以及用于事件处理的JavaScript脚本。读者可能会说了:这样的格式不是就和传统的HTML页面很相似了么?正是如此。所以J2EE开发者自己也可以完成整个rich client界面的开发,不必去向美工学习Flash编辑器的用法了。

下面是一段典型的LZX代码。我们在<dataset>中描述一组来自服务器端的数据,随后的<text>标签就可以通过XPath定位到这些数据,并将它们以Flash的形式展现出来:

<canvas>
<dataset name="dset">
<employee>
<firstName>John</firstName>
<lastName>Smith</lastName>
<phone>617-536-7855</phone>
</employee>
</dataset>
<text datapath="dset:/employee/firstName/text()"/>
<text datapath="dset:/employee/lastName/text()"/>
<text datapath="dset:/employee/phone/text()"/>
<simplelayout axis="x"/>
</canvas>

为了迎合J2EE开发者的口味,Laszlo可谓用心良苦:不仅采用标准的XML作为界面描述和数据绑定格式,连事件处理机制都舍弃了Flash现成的ActionScript,转而采用程序员更熟悉的JavaScript。不过用XML描述界面的弊端也很明显,就是开发效率较低。针对这个问题,IBM也开源了一个基于Eclipse的编辑器插件,专门用于可视化开发Laszlo应用程序。读者可以在下列地址找到这个插件: http://alphaworks.ibm.com/tech/ide4laszlo

可是,尽管具备了Flash美观、高度可移植的特点和XUL/XAML的简洁、易开发,但Laszlo仍然存在着诸多问题。首先,脚本的调试会是一件颇为麻烦的事情。虽然Laszlo提供了一个漂亮的脚本调试器,但由于LZX必须通过LPS的编译之后才能显示,因此整个调试过程必须连接在服务器上进行。当界面逻辑变得复杂时,可以预见脚本的调试过程将严重影响开发效率。其次,Laszlo的运行效率和稳定性都存在问题,尤其是在访问一个新界面时,编译Flash的过程长得足以吓跑用户,而且通过网络传输的数据量也偏大。最后,Laszlo对服务器硬件的要求相当高,在大负载环境下是否能保持稳定运行颇可怀疑。

综上所述,Laszlo确实为rich client应用开发提供了一种便利而具有高度可移植性的方案,但这种方案目前看来只适于开发企业内部应用。如果用来开发面向公网的应用,效率和传输数据量的问题可能变得非常严重。因此,将Laszlo称为“Rich Internet Application平台”恐怕还为时过早。
【电动汽车充电站有序充电调度的分散式优化】基于蒙特卡诺和拉格朗日的电动汽车优化调度(分时电价调度)(Matlab代码实现)内容概要:本文介绍了基于蒙特卡洛和拉格朗日方法的电动汽车充电站有序充电调度优化方案,重点在于采用分散式优化策略应对分时电价机制下的充电需求管理。通过构建数学模型,结合不确定性因素如用户充电行为和电网负荷波动,利用蒙特卡洛模拟生成大量场景,并运用拉格朗日松弛法对复杂问题进行分解求解,从而实现全局最优或近似最优的充电调度计划。该方法有效降低了电网峰值负荷压力,提升了充电站运营效率与经济效益,同时兼顾用户充电便利性。 适合人群:具备一定电力系统、优化算法和Matlab编程基础的高校研究生、科研人员及从事智能电网、电动汽车相关领域的工程技术人员。 使用场景及目标:①应用于电动汽车充电站的日常运营管理,优化充电负荷分布;②服务于城市智能交通系统规划,提升电网与交通系统的协同水平;③作为学术研究案例,用于验证分散式优化算法在复杂能源系统中的有效性。 阅读建议:建议读者结合Matlab代码实现部分,深入理解蒙特卡洛模拟与拉格朗日松弛法的具体实施步骤,重点关注场景生成、约束处理与迭代收敛过程,以便在实际项目中灵活应用与改进。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值