基于AMF的EOS与Flex整合.docx

上传人:b****4 文档编号:6779938 上传时间:2023-05-10 格式:DOCX 页数:11 大小:354.75KB
下载 相关 举报
基于AMF的EOS与Flex整合.docx_第1页
第1页 / 共11页
基于AMF的EOS与Flex整合.docx_第2页
第2页 / 共11页
基于AMF的EOS与Flex整合.docx_第3页
第3页 / 共11页
基于AMF的EOS与Flex整合.docx_第4页
第4页 / 共11页
基于AMF的EOS与Flex整合.docx_第5页
第5页 / 共11页
基于AMF的EOS与Flex整合.docx_第6页
第6页 / 共11页
基于AMF的EOS与Flex整合.docx_第7页
第7页 / 共11页
基于AMF的EOS与Flex整合.docx_第8页
第8页 / 共11页
基于AMF的EOS与Flex整合.docx_第9页
第9页 / 共11页
基于AMF的EOS与Flex整合.docx_第10页
第10页 / 共11页
基于AMF的EOS与Flex整合.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于AMF的EOS与Flex整合.docx

《基于AMF的EOS与Flex整合.docx》由会员分享,可在线阅读,更多相关《基于AMF的EOS与Flex整合.docx(11页珍藏版)》请在冰点文库上搜索。

基于AMF的EOS与Flex整合.docx

基于AMF的EOS与Flex整合

PRIMETONTECHNOLOGIES,LTD.

上海普元信息技术有限责任公司

 

基于AMF的EOS与Flex整合

Nopartofthisdocumentmaybereproduced,storedinanyelectronicretrievalsystem,ortransmittedinanyformorbyanymeans,mechanical,photocopying,recording,otherwise,withoutthewrittenpermissionofthecopyrightowner.

COPYRIGHT2006byPrimetonTechnologies,Ltd.ALLRIGHTSRESERVED.

文档修订记录

序号

版本号

修订日期

修订概述

修订人

审批人

备注

1

0.1

2009-12-11

创建

彭远林

规范及约定

1.【规范及约定】的内容仅仅是对本文档编写的规范和约定进行描述,文档编写人员必须严格按照本规范和约定进行编写,在文档正式发布时删除该部分内容;

2.文档内容采用“首行缩进、小四号字体、1.5倍行距”的格式,选中段落文本使用快捷键【Ctrl+Alt+4】可以进行格式化(直接选中蓝色的说明文字即可);

3.必须填写“文档修订控制记录”;

4.文档目录必须更新为最新的,与实际内容相对应;

5.模版中每部分内容的下面的蓝色字体是对这块内容的说明,编写文档时选中这段文字,使用【Ctrl+Alt+4】快捷键即可格式化成要求的字体;

目录

1文档摘要5

1.1文档分类5

1.2关键字/Tag5

1.3摘要5

1.4作者、协作者及评审人员5

1.5定义、首字母缩写词及缩略语5

2简介6

2.1场景描述6

2.2适用环境7

3经验总结7

3.1软件安装7

3.2部署EOS补丁7

3.3服务器端开发8

3.3.1场景描述:

8

3.3.2逻辑流参数说明:

9

3.4Flex开发9

3.4.1Flex环境设置9

3.4.2编写用户信息ActionScript类11

3.4.3编写mxml用户界面11

3.5测试程序11

1文档摘要

1.1文档分类

EOS设计开发->经验技巧总结

1.2关键字/Tag

EOS6、Flex、AMF协议、整合、接入

1.3摘要

自从Flex3发布以来,越来越多的企业采用Flex作为RIA解决方案,提高用户体验。

EOS对采用JSON整合其他RIA产品的方案天生就支持,但在Flex领域采用JSON作为数据交换策略并不多见,原因是有开发者认为Flex+HttpService+JSON+JEE的方式有性能问题,尽管这种方案中一般的应用中没有任何问题。

有关Flex+HttpService+JSON+EOS的整合方案可参考欧阳希撰写的《基于JSON实现FLEX与EOS整合方案》一文。

本文将协助大家完成“Flex+HttpService+AMF+EOS”的方式搭建“EOS+Flex”的开发环境,搭建完成后,采用Flex作为UI开发平台,用EOS逻辑流处理后台逻辑,Flex与EOS间采用Adobe推荐的AMF协议。

1.4作者、协作者及评审人员

作者:

彭远林

1.5定义、首字母缩写词及缩略语

EOS:

EOS是全球领先SOA应用平台厂商Primeton公司开发的应用基础平台。

EOS基于J2EE、Eclipse等开放的技术和平台,采用了先进的SOA架构和标准规范,并通过构件化、图形化、一体化的平台产品为客户提供了完整的覆盖SOA应用全生命周期的支撑,从设计、开发、调试和部署,到运行、维护、管控和治理。

AMF协议:

AMF是Adobe独家开发出来的通信协议,它采用二进制压缩,序列化、反序列化、传输数据,从而为Flash播放器与FlashRemoting网关通信提供了一种轻量级的、高效能的通信方式。

2简介

2.1场景描述

为了处理复杂数据类型,采用一种独有的方式使Flash与应用服务器间可以来回传送数据势在必行。

于是AMF应运而生。

AMF是Adobe独家开发出来的通信协议,它采用二进制压缩,序列化、反序列化、传输数据,从而为Flash播放器与FlashRemoting网关通信提供了一种轻量级的、高效能的通信方式。

如下图所示:

AMF最大的特色在于可直接将Flash内置对象,例如Object,Array,Date,XML,传回服务器端,并且在服务器端自动进行解析成适当的对象,这就减轻了开发人员繁复工作,同时也更省了开发时间。

由于AMF采用二进制编码,这种方式可以高度压缩数据,因此非常适合用来传递大量的资料。

数据量越大,FlashRemoting的传输效能就越高,远远超过WebService。

至于XML,LoadVars和loadVariables(),它们使用纯文本的传输方式,效能就更不能与FlashRemoting相提并论了。

EOS6对Flex的支持本身并不完善,尽管EOS6产品已经提供了Flex调用逻辑流的接口,但在FlexObject与SDO之间的相互转换转换还需要部署相应的补丁包,才能完全支持Flex调用EOS逻辑流进行后台逻辑处理。

由于由于逻辑流支持多输出参数,所以Flex调用EOS逻辑流的方法的返回值类型实际上是个数组。

2.2适用环境

EOS6(#3276)+FlexBuilder3

3经验总结

3.1软件安装

这里需要安装的软件无非就是EOS6(#3276)开发版和FlexBuilder3。

EOS6(#3276)开发版的安装没什么好说的,无非需要注意的就是两点:

第一是安装包不能解压到有空格或中文的目录下面,第二是EOS的安装路径不能带空格或中文。

FlexBuilder3基于Eclipse开发,因此安装方式有两种,一种是FlexBuilder3安装包本身就包括Eclipse,还有一种是安装包不包括Eclipse而仅有插件。

对于不包括Eclipse的情况,需要先下载Eclipse3.2、Eclipse3.3、Eclipse3.4并解压,Eclipse的这些版本是Adobe官方推荐的版本。

这里假设EOS安装在D:

\eosdev\3276\目录,并且EOS应用名为eos-default。

3.2部署EOS补丁

1、将压缩包中的lib目录下的所有jar文件copy到,D:

\eosdev\3276\apache-tomcat-5.5.20\webapps\eos-default\WEB-INF\lib\目录下。

2、将压缩包中的flex目录copy到D:

\eosdev\3276\apache-tomcat-5.5.20\webapps\eos-default\WEB-INF\目录。

3、将TestVo.class文件添加到eos-access-client.jar文件的com\eos\access\client目录。

4、

flex.messaging.HttpFlexSession

MessageBrokerServlet

MessageBrokerServlet

flex.messaging.MessageBrokerServlet

services.configuration.file

/WEB-INF/flex/services-config.xml

1

MessageBrokerServlet

/messagebroker/*

修改D:

\eosdev\3276\apache-tomcat-5.5.20\webapps\eos-default\WEB-INF\web.xml文件内容,将以下内容添加到适当位置:

压缩包中的web.xml是一个实际的例子。

5、修改D:

\eosdev\3276\apache-tomcat-5.5.20\webapps\eos-default\WEB-INF\flex\services-config.xml文件,将其中涉及“127.0.0.1:

8080/eos-default”更改为实际的值。

3.3服务器端开发

3.3.1场景描述:

为了验证相关配置是否成功,模拟经典“HelloWorld”例子,开发一个功能:

由Flex发送一个姓名到EOS,然后EOS在接收到的姓名前加上一个“Hello,”串,然后将结果返回给Flex,Flex用Alert控件显示接受到值新字符串。

3.3.2逻辑流参数说明:

输入参数param1:

接收Flex用户界面输入的姓名。

输出参数out1:

返回处理后的姓名。

具体逻辑很简单,就是利用逻辑流的“赋值”图元,将变量param1加上字符串后赋值给out1变量即可。

3.4Flex开发

3.4.1Flex环境设置

1、设置编译输出路径:

在项目上右击,选择“属性”菜单,如下图:

2、设置编译参数:

在项目上右击,选择“Properties”菜单,如下图:

3.4.2编写用户信息ActionScript类

这里的用户信息主要用于向EOS逻辑流传递MUO中的用户信息,代码如下:

packagecom.eos.flex.model

{

publicclassUserInfo

{

publicfunctionUserInfo()

{

}

publicvaruserId:

int=1;

publicvaruserName:

String="userName";

}

}

3.4.3编写mxml用户界面

代码如下:

xmlversion="1.0"encoding="utf-8"?

>

Applicationxmlns:

mx="verticalAlign="middle"horizontalAlign="center">

Script>

[CDATA[

importmx.collections.ArrayCollection;

importmx.rpc.events.ResultEvent;

importmx.controls.Alert;

privatefunctiongetVo(e:

ResultEvent):

void{

//显示业务处理结果

Alert.show(e.result.data[0]);

}

privatefunctiontestObjects():

void{

vartempString:

String=inputStr.text;

varmyArray:

Array=newArray();

myArray.push(tempString);

varuser:

Object=newObject();

user.userId=6;

varsession:

Object=newObject();

user.userName="xxxx";

session.userObject=user;

//与id="javaVo"的

RemoteObject/>对象对应,调用EOS逻辑流

javaVo.invoke(session,

"com.primeton.eos.service.FlexDemo.testComplex.biz",

myArray);

//添加事件监听函数,获得服务器返回后调用getVo函数

javaVo.addEventListener(ResultEvent.RESULT,getVo);

}

]]>

Script>

RemoteObjectid="javaVo"destination="flexObject"/>

Paneltitle="测试应用">

TextInputid="inputStr"/>

Buttonclick="testObjects()"label="请求"/>

Panel>

Application>

重要代码是调用EOS逻辑流代码

javaVo.invoke(session,"com.primeton.eos.entityLogic.testComplex.biz",myArray);

参数说明如下:

session:

传递逻辑流需要的MUO对象,是ActionScript的com.eos.flex.model.UserInfo类的实例。

"com.primeton.eos.service.FlexDemo.testComplex.biz":

常量,对应的EOS逻辑流。

myArray:

ActionScript数组对象,业务参数数组。

3.5测试程序

在浏览器输入http:

//127.0.0.1:

8080/eos-default/test/XXX.swf,出现以下界面:

点击请求,出现一下界面:

注意:

浏览器输入的地址需要与services-config.xml文件中的URL一致,否则会出现“Flash安全沙箱……”的异常。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2