没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2009-05-12 11:31:17.000|阅读 937 次
概述:这篇文章概括出了关于为什么Java程序员必须学习Flex 以及 BlazeDS的十三个原因。它讨论了Flex 与BlazeDS结合为什么是设计丰富的互联网应用程序(RIAs)的最好的选择——来自以Java为后台,高度的交互式站点以及企业应用程序。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
理由七:BlazeDS可以在任何Java应用服务器上运行
BlazeDS的多个版本都是可以使用的,包括即将投入使用的包含Apache Tomcat设置的版本。在这篇文章中,我使用二进制分布,作为web档案(WAR),来显示你在应用服务器上如何进行部署。否则你可以引用Java存档(JAR)文件,在你的项目中使用。为了获取各种各样安装BlazeDS的信息而访问BlazeDS wiki。
这个例子是在现有的项目上使用BlazeDS。你只需要在你的项目上增加JAR文件,然后你可以在应用程序内部使用BlazeDS,这允许你在任何可以部署应用程序的地方部署它。
在你的项目上增加BlazeDS,完整步骤如下:
1、 找出包含BlazeDS WAR文件 jar xvf blazeds.war
2、 复制JAR文件到你的项目lib目录:cp -R WEB-INF/lib /sodaSample。
理由八:可以在现有的Java应用程序上使用
再soda的例子中,假设你想要暴露现有的soda服务以便远程的Flex应用程序可以与之链接。在现有的应用程序上创建BlazeDS的基本步骤如下:
1、 在WEB-INF/flex目录下编辑BlazeDS配置文件。
2、 在应用程序上web.xml上规定MessageBrokerServlet 以及session listener。
创建BlazeDS以后,你需要增加你的soda服务到BlazeDS远程配置文件,它允许从Flex 客户端访问soda服务。通过规定一个目的地以及一个或者更多的数据传送渠道来实现添加。基础的AMF渠道在服务器.xml文件中被定义。通过这个定义在远程config.xml 中识别你的目的地:
< destination id="sodaService" channels="my-amf">
< properties>
< source>com.gorillalogic.sodaSample.SodaService< /source>
< /properties>
< /destination>
通过在远程配置文件中定义端口,你可以从Flex客户端访问任何一个Java服务。
传递Java数据模型到Flex客户端,在你的脚本class中定义两者之间的映射:
[Bindable]
[RemoteClass(alias="com.gorillalogic.sodaSample.SodaModel")]
这段代码显示Flex,当远程服务访问返回Java SodaModel的结果把其映射到你的SodaModel。Flex客户端的示例显示如何访问这个Java服务。访问返回一个odaModel,根据你的命令:
public function callSodaService():void {
var sodaType:String = type.text;
var sodaCount:int = parseInt(cnt.text);
var flag:Boolean = preOpen.selected;
remoteObject.getSoda(sodaType, sodaCount, flag);
}
private function resultHandler(event:ResultEvent):void {
var sodaModel:SodaModel = event.result as SodaModel;
}
Flex从变化的结果中返回你的结果,映射到你的SodaModel上。我不在这里讲述细节,但是一个需要说的细节是在汇编配置中指定services-config.xml,像以下所写:
-locale en_US -services=/nsource/sodaSample/web/WEB-INF/flex/services-config.xml -context-root /
如果不这样,你的Flex客户端将无法找到Java服务。同样的方法,你可以从客户端传递一个对象返还到服务。比如,你可以传递空的soda model返还到客户端。
理由九:你可以扩展BlazeDS以及使用Java对其进行修改
假设你决定当soda服务器被访问的任何时候,要增加一个特别的logging。你可以扩展Java编辑者的标准来增加logging。
首先,增加Java类别扩展JavaAdapter:
import flex.messaging.services.remoting.adapters.JavaAdapter.
public class TimingJavaAdapter extends JavaAdapter {
Then, overload the invoke() method:
public Object invoke(Message message) {
RemotingMessage remotingMessage = (RemotingMessage) message;
String operation = remotingMessage.getOperation();
String destination = remotingMessage.getDestination();
Logger.info("calling " + operation + " on destination " + destination);
Object data = super.invoke(message);
return data;
}
使用这种方法,你可以看见即将要进行的操作以及访问的目的地。你可以使用这种简单的hook,比如说你可以测试对服务器多长时间的访问是最有意义的。
理由十:你可以从HTML 和JSP访问BlazeDS
你可以用不同的方式进行访问,比如通过浏览器管理或者flashVars。flashVars可以通过HTML页设置,然后通过Flex引用程序读出。
举个例子,比如你想要传递你的用户名以及用户类型,想要从HTML页面上进行命令。你必须要在HTML页设置flashVars,如下:
< object id='SodaSample' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab' height='100%' width='100%'>
< param name='src' value='SodaSample.swf'/>
< param name='flashVars' value='username=ryan&type=coke'/>
< embed name='mySwf' src='SodaSample.swf' pluginspage='http://www.adobe.com/go/getflashplayer' height='100%' width='100%' flashVars='username=ryan&type=coke'/>
< /object>
然后,在你的Flex应用程序中你可以通过应用程序参数读出这些变数:
var username:String;
if (Application.application.parameters.hasOwnProperty("username")) {
username = Application.application.parameters.username;
}
理由十一:Flex 和BlazeDS的数据传送比其它的Ajax解决方案好
默认情况下,所有的远程程序调用(RPCs)在使用的时候运用的是AMF二进制协议。一个开放的标准,AMF极端的迅速。James Ward组成了一个整体样本显示与其他它远程解决方案的对比。尽管其它的异步式JavaScript 和 XML (Ajax)解决方案,比如Dojo与几个成百的队列进行对抗,具有BlazeDS的Flex可以轻松的解决几千个队列。(James Ward为不同的RIA数据加载技术基准做的统计)
理由十二:你可以直接从Java 客户端访问BlazeDS
BlazeDS最新发布的版本包含一个Java AMF类,你可以使用它使得Java 客户端访问BlazeDS服务。这种访问unit testing的方法在单元测试以及下载测试中都显示极其有效。
理由十三:和Spring框架一起使用
Adobe 与 Spring框架的组合带来两个项目之间更紧密的结合,最初发布的Spring-BlazeDS整合就显示了很多前景。通过允许Spring Bean成为远程服务,完全一样的配置文件将会被删除。
结论:
BlazeDS成为开源并且基于Java,对于新事物以及现有的Java服务项目这的确是一个好的选择。优秀的远程交流性能以及Flex 和Java之间的对象映射,Flex和 BlazeDS技术是RIA发展的一个好的选择。Flex 和BlazeDS对于 Java开发者来说是新鲜事物,开发者们会发现它的发展进程非常丰富,并且非常容易学习。
有BlazeDS 伴随的Flex也是大型企业级应用软件的一个好选择。在以前的一个项目中,我的团队写一个应用程序会包含超过50种不同的表现形式,在服务器与客户端之间规律的转移一些上千行的数据。这种应用程序已经几乎不可能使用传统的Ajax技术。使用Flex 和BlazeDS,在接下来的一年中我们将可以发布最初的版本。看一看这种充满活力的工具可以为你的应用程序发展项目做什么吧。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:IT专家网接DevExpress原厂商通知,将于近日上调旗下产品授权价格,现在下单客户可享受优惠报价!
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号