• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>Flex>文章内容
  • 使用Flex和BlazeDS实现协作式数据输入
  • 来源:CSDN 作者: 2008-06-15 【

Christophe Coenraets.在Yahoo! Maps协作之后,这是又一个在Flex应用程序中实现协作的典范,使用了BlazeDS的发布/订阅消息传递基础设施。可以下载BlazeDS turnkey服务器(预装了BlazeDS的Tomcat版本)。在两个浏览器窗口中打开Flex应用程序(模拟身处不同位置的两个用户),按上述方法 测试应用程序(参见"测试托管版本")。


作者:Christophe Coenraets

               在Yahoo! Maps协作之后,这是又一个在Flex应用程序中实现协作的典范,使用了BlazeDS的发布/订阅消息传递基础设施。

               本例演示了“协作表单”(或者“协作式数据输入”)。身处不同位置的用户都可以通过以上下文为依据的实时协作式会话“共同”填写表单:一名用户做出的更改会自动反映到其他用户的应用程序中。


1. My mortgage应用程序

测试托管版本

  1. 使用两台机器或者同一台机器上的两个浏览器窗口访问 http://coenraets.org/collabforms/collabforms.html
  2. 单击一个浏览器中的“Create Session”按钮(左下方)——此时将创建一个协作会话,并带有惟一的协作会话ID
  3. 在另外一个浏览器中输入此协作会话ID,并单击“Join Session”按钮。
  4. 在一个浏览器中更改选定的Accordion选项卡的内容,注意另外一个浏览器中的Accordion也会自动同步。
  5. 在一个浏览器中输入数据,注意另外一个浏览器中会自动同步这些信息。
  6. Employment History选项卡中,添加一些企业信息(包括开始日期、结束日期和薪酬),注意另外一个浏览器中的职业列表也会自动同步。

您可右击应用程序,选择“查看源代码”命令或者单击此处来查看此应用程序的源代码。

备注:

  1. 协作会话实际启动的方式可能根据应用程序的不同而有所不同。在本例中,一个用户创建一个协作会话,并与其他希望开展协作的用户共享协作会话ID(通过电子邮件、IM等方式)。在其他某些用例中,协作会话可自动启动。例如,在呼叫中心场景中,用户可以单击“Live Help”按钮,这会创建一份服务支持申请,在Support Reps应用程序中显示。此后,支持代表接受申请,创建一个协作会话,例如使用申请的ID作为协作会话ID。我会尽快发布一个此示例的呼叫中心版本。
  2. 在本例中,同步是使用发布/订阅消息传递执行的。您还可以使用LiveCycle Data Services提供的数据管理服务自动保持多个客户端之间的数据同步。
  3. 本应用程序的托管版本首先尝试使用RTMP连接服务器(作为LiveCycle Data Services的一部分提供),如果RTMP连接失败,则后退到“长AMP轮询”或普通AMF轮询。

本地安装指南:

  1. 安装BlazeDS。可以下载BlazeDS turnkey服务器(预装了BlazeDSTomcat版本)。

              2.  如果还没有名为“my-longpolling-amf”的信道,请打开{blazeds-install-dir}/tomcat/webapps/samples/WEB-INF/flex/services-config.xml,添加一个AMF长轮询信道,定义如下:

<channel-definition id="my-longpolling-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amflongpolling" 
class="flex.messaging.endpoints.AMFEndpoint"/>
         <properties>
            <polling-enabled>true</polling-enabled>
            <polling-interval-seconds>5</polling-interval-seconds>
            <wait-interval-millis>60000</wait-interval-millis>
 <client-wait-interval-millis>1</client-wait-interval-millis>
 <max-waiting-poll-requests>200</max-waiting-poll-requests>
</properties>
</channel-definition>

3.  打开WEB-INF/messaging-config.xml,添加目标如下:

<destination id="mortgage">
        <channels>
            <channel ref="my-longpolling-amf"/>
            <channel ref="my-polling-amf"/>
        </channels>
</destination>
  1. (重新)启动BlazeDS turnkey服务器。
  2. 下载Mortgage应用程序的源代码。

6.  为Flex应用程序创建一个Flex Builder项目(collabforms)。

务必将Flex Builder项目配置为可与BlazeDS协作。请阅读关于如何设置可与BlazeDS协作的Flex Builder项目的指南。确保将BlazeDS turnkey服务器打开,点击http://localhost:8400/samples/fb-project-setup.htm

  1. 编译应用程序。
  2. 在两个浏览器窗口中打开Flex应用程序(模拟身处不同位置的两个用户),按上述方法测试应用程序(参见“测试托管版本”)。

关于作者

Christophe Coenraets 1994 2000 年期间就职于Powersoft(该公司后来成为Sybase 的一部分)1996 年他开始使用Java并成为PowersoftJavaInternet应用程序部的技术专家。Christophe 接着作为JRun (Macromedia 公司的J2EE应用服务器)技术专家加入Macromedia在该职位上,Christophe 开始研究Rich Internet Application 及将Flash 前端与J2EE 后端集成到一起的方法。Christophe 目前是 Macromedia 的新一代以开发人员为中心的Rich Internet Application 创新的高级专家。Christophe 最近10年定期在数个世界会议上发表演讲。



上一篇:改变ViewStack子对象创建最新攻略   下一篇:Flex 数据可视化简介
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)