关于Flex数据管理服务
FlexData Management Service是Flex的一个数据服务特性,其可以让你创建的程序使用分布式数据工作,这个特性可以提供数据的同步,数据的复制,偶尔可以连接程序服务,另外,你可以管理大型的数据收集和嵌套的数据关联,像一对一的关联,一对多的关联,并且使用数据适配器把数据源结合在一起.
数据管理服务,信息服务,和RPC服务,Flex Data Services是基于一个根本的信息构造,就像以面的图示:
关于管理服务和RPC服务的资料可以在以后的章节中看到.
信息基本构造可以让Flex程序连接到信息终端,并发送信念到终端,还可以接收信息从其它的安户端,这些信息终端可以是Flex程序或者是其它的终端,像Java Message Service(JMS)客户端,JMS可以发布并注册成为一个相同Flex程序的信息终端,这就意味着Flex程序可以和Java客户端程序交换信息.
信息基本构造使用服务端信息服务和一个通讯信息API到Flex客户端程序, Flex客户端程序通过一组端点
向服务器发送信息,然后服务器把这条信息转发给一个主题,信息服务可以从后台到端点广播信息,这时客
户端程序就已经在服务器端注册了一个主题.
Flex Data Services也暴露了信息构造做为一个Flex MessageService,所以你可以在创建你自已的程序中
利用它.更多信息请关注About the Flex Message Service.
关于Flex信息服务
Flex Message Service是基于已确定的信息标准和一个术语, Flex Message Service提供客户端API和一个相应的服务器端信息服务,用以来创建Flex信息程序, Flex Message Service可以分离Java Message Service(JMS)的信息.
信息系统让分开的程序异步通讯,就像同等的数据包通过一个信息服务来回的调用信息,一条信息通常是由一个数据头和数据体构成,数据头包含标识符和转发信息,数据体就是包含数据了.
发送信息的程序被生产者调用,接收信息的程序被消费者调用,在大多数的信息系统中,生产者和消费者不用知道对方是谁,生产者发送信息到一个特定的信息终端,MessageService会自动的把信息转发给相应的消费者.
一个信息通道连接生产者和消费者到一个信息终端,发送信息通过一个特定的信息通道,而信息终点负责把信息编码,并解码到一个消费者能使用的格式.在一些信息系统中,一个终点可以通过解码到一个信息经理处,而这个信息经理处就会转发到相应的终端.
信息适配器扮演的角色就是FlexMessageServices和系统之间的管道,比如,JMS适配器就是一个信息适配器,它可以让Flex程序注册成一个JMS主题和队列.这个适配器让一条纯JMS信息程序可以共享相同的终端,就像Flex程序一样,JAVA程序可以发布信息到Flex和Java代码中,而这个代码就是回应Flex程序发送的信息.
下面的例子就是显示数据流是如何从一个信息生产者到一个信息消费者的,数据像信息一样被编码,然后通过一个通道到达终端,等信息消费者接收到之后再被解码,使用.
发布-注册信息
Flex 支持发布-注册信息,在FlexMessageService中,一个主题和信息终端是同义的,在发布-隆迪注
册信息当中,每一条信息可以有许多消费者,你可以使一个或者多个消费者收到相同的信息,假如在一个
拍卖网站中,库存品报价服务.一条信息将被发至许多不同的注册用户.
生产者在一个信息服务器上发布一条特定的信息,然后消费者注册成那些主题信息的用户,消费者仅仅消
费那些他们注册了的主题.
下面的图示显示一个简单的发布-注册的信息流.
在程序中使用FlexDataService
在Flex程序中有MXML和AS API提供给编码者,你的程序可以扮演生产者,消费者,或者两者
都是,FlexDataService程序发送信息通过一条在Flex服务器中定义的通道.
FlexDataService在服务器上使用XML配置文件管理信息主题和队列,作为配置信息的确一部分,你可以设置最大的信息大小,如果一条信息超过最大值,这条信息将被分割成一批比较小的信息,然后流水线
似的传递给客户端,这样就可以让信息异步通过网络.
关于RPC服务
Flex Data Services包含一个远程服务和一个代理服务提供给RPC服务配置,这些特性已被内置到
Flex2SDK当中.
使用Flex2SDK提供的RPC组件
你可以使用Flex2SDK去创建一个FlexDataService程序,比如HttpService或者WebService组件,而不需
要服务器端代理服务.在默认情况下,Flash player是不允许程序从一个异域中接收数据的,因此,
RPC服务必须在同一个域中,否则,你要定义一个crossdomain.xml文件来管理你的RPC服务.
crossdomain.xml文件就是一个XML文件,它简要的说明了SWF文件可以访问的域,crossdomain.xml必
须在服务器的根目录中,这样Flex程序才能联系的到.
使用RPC服务组件
使用FlexDataServices时,比如代理服务,在不同的域之间交换数据,客户端证明,被允许的RPC服务URLs,服务器端日志,本地支持,RPC服务集中管理,FlexDataService也可以让你使用RemoteObject组件去访问远程Java对象,而不需要配置它们像SOAP-compliant网络服务.
当你使用FlexDataService时,作为直接服务的替代,RPC服务组件连接终端,终端同样是可以被作为终点
管理的,这要通过一个基于服务器端的配置文件.
关于开发环境
你把你的FlexDataService服务器端代码和程序贮存在目录结构中,而这目录结构可以是J2EE-compliant或
者是servlet容器,MXML的发布模式和JSPs类似,先一个文本编辑中建立一个MXML文件,然后把它放到一个
网页程序目录中,比如,你可以把你的MXML文件到在网页根目录或者子目录中,但千万不要放在一个浏览器
访问不到的目录(WEB-INF)中.
下面是一个典型的Flex网页程序的文件夹结构
文件夹 描述
web_app
(root directory or WAR root) 包含WEB-INF文件夹,还有所有的程序,比如MXML文件,JSPs文件,html页面,样式表,图片,JavaScript文件.
/WEB-INF 包含标准的web程序描述符(web.xml).
/WEB-INF/flex 包含Flex程序配置文件
/WEB-INF/flex/user_classes 包含自定义的AS类和自定义的MXML组件.
/WEB-INF/lib 包含Flex服务器代码(一个JAR文件)
/WEB-INF/flex/frameworks 包含SWC组件文件,像framework.swc和rpc.swc
2007年3月23日星期五
创建一个FlexDataService程序[原]
订阅:
博文评论 (Atom)

0 评论:
发表评论