主题:[原创]《.NET for Flash动态网站开发手札》_部分章节连载_2
zhangyafei
[专家分:0] 发布于 2007-04-01 00:55:00
keyword: Flash和.NET结合开发的利器;Flash和.NET通信;Flash和.NET通讯
[b]第Ⅱ篇 Flash网络应用程序和Flash Remoting[/b]
在第一篇,我们介绍了.NET for Flash的基本原理,了解了怎样使用Flash内建的功能方法与.NET实现交互,这种交互方式其实是一种极其简单的HTTP操作,来回传递的都是字符串格式的数据(XML也是字符串,需要解析为DOM)。
人们需要一种更为简洁的方式能够实现类似Native的操作,于是Flash Remoting便应允而生,这符合IT工业的一贯标准。
在这一篇,我们将介绍怎样使用包括XML-RPC、WDDX、SOAP和AMF-RPC(Flash Remoting MX、Fluorine和AMF.NET)等在内的Flash Remoting技术,开发人员可以更轻松的完成过去需要编写很多代码才能完成的任务。
本篇包含很多的章节,是本书的主体部分,主要就是介绍怎样使用各种Remoting工具实现.NET for Flash的强大体验。
[b]现在马上出发[/b]
作者邀您访问他的BLOG: [url]http://zhang-yafei.spaces.live.com[/url](繁体)
作者邀您访问他的BLOG: [url]http://blog.csdn.net/zhang_yafei[/url](简体)
回复列表 (共5个回复)
沙发
zhangyafei [专家分:0] 发布于 2007-04-01 00:57:00
[b]第06章 Flash Remoting和AMF-RPC for .NET基础入门[/b]
在前面的章节,我们介绍了Flash如何通过中间件ASP.NET网页与服务器之间实现数据交换,了解了Flash影片应用程序如何融入到网络应用环境的最一般原理,有了基本的创建具有网络交互功能Flash影片应用程序的基本知识。
这一章,我们将开始使用Flash的一个最重要的服务器组件AMF-RPC来实现与Flash影片应用程序的交互,用户可以感受到更加强烈的Flash网络应用程序“感觉”,从而可以更轻松的创建功能更强大的Flash网络应用程序——这就是“富媒体应用程序”。
使用Flash作为开发工具,我们现在可以开始学习怎样使用AMF-RPC创建更为强大而且易用的富媒体应用程序了。
[b]6.1 Flash Remoting基础和AMF-RPC基础[/b]
随着互联网不断介入应用程序开发的各个领域,协调运算便不断成为应用程序开发所追求的方向。应用开发也随之形成了一种习惯:即将应用程序构建成一组组件,分布于计算机网络之间,并作为整个程序的一部分一起运行,这便是分布式应用程序。
为了实现这一目标,人们创建了各种各样的技术。例 如,Microsoft的DCOM(分布式组件对象模型)、Object Management Group的CORBA (公共对象请求代理程序体系结构)、Sun的RMI (远程方法调用)。这些技术提供了可靠的、可升级的体系结构,以满足对应用程序日益增长的需要。
但是,目前要实现它们的话,存在着不少的问题。DCOM在跨防火墙工作时会有问题,因为它是建立在私有协议上的;而CORBA存在有多种不同接口的问题;RMI的应用有些麻烦,因为你不得不去搜寻一个对象,然后才能调用方法。
并且,随着计算机客户端软件不断的异化,必须保证各种各样的软件终端都可以连接到远程的服务组件,并能够实现互操作。于是基于XML的远程过程调用(RPC)便应运而生,比较知名的RPC包括XML-RPC和WEB服务,这些技术都是Remoting技术。
Remoting技术的实现必须包含两个方面:
1Remoting Channel:这是指客户端和服务端的通信协议,例如我们可以使用TCP、HTTP协议。
2Serializer:这是指在传输时采用何种格式来传输数据,例如我们可以采用Binary,也可以采用SOAP来传输XML格式的数据。
客户端的数据经过序列化通过HTTP被传递到远程服务端,在服务端,一般会有一个代理(网关)接收并将数据逆序列化,从而执行位于服务端的方法,并返回给客户端。
随着Flash不断介入应用程序开发的各个领域,作为一个流行的应用程序终端,用于Flash的Remoting实现也日渐多了起来,从最早应用于Flash 5的SQL Component Kit,到现在日渐流行的XML-RPC、WDDX、Flash Remoting MX(AMF-RPC)等。
AMF-RPC是目前最重要的Flash Remoting技术。
[b]6.1.1 AMF-RPC技术简介[/b]
AMF -RPC是使用AMF 数据格式实现的远程方法调用,Macromedia公司为此出品了三个个实现:Flash Remoting MX for J2EE、Flash Remoting MX for .NET和Flash Remoting MX for ColdFusion,并且开源社区也为AMF-RPC编写了一个在PHP架构下的实现,名为AMFPHP(也可以称为Flash Remoting MX for PHP)。
就如其它的RPC 工具一样,AMF-RPC是一个应用程序服务器网关,它在Flash影片应用程序和远程服务之间提供一个相互通信的网络通道:在这个通道间传输的是AMF格式的数据(AMF是专用于 Flash远程数据传输的一种数据格式);远程服务则包含各种应用服务技术(例如JavaBeans、ColdFusion组件和网页、ASP.NET网页或者Web服务等等)。
和其它的连接到外部数据提供者的技术相比,AMF- RPC的优点是不言而喻的。在前面一章我们介绍的像getURL、loadVariables、XML和XMLSocket等语句,它们都是使用的简单的 HTTP功能,一般都离不开内建的类如Request和Response这样的语法,而AMF-RPC则有其独特的一面,总的说来有下列优点:
1易用。AMF-RPC可以对本地远程服务程序代码(Java,CFML,PHP,VB和C#)的数据类型进行自动转换:可以转换成ActionScript代码数据类型,也可以转回本地远程服务程序代码数据类型。
2 高性能。AMF-RPC使用Action Message Format(AMF)将Flash影片应用程序和远程服务之间的通信信息序列化。AMF是一个二进制格式,符合Simple Object Access Protocol(SOAP)协议格式,通信更加快速。
3可扩展性。AMF-RPC设计的时候集成了现有应用程序设计模式和最佳的开发实践,从而可以满足高度扩展性Flash网络应用程序设计要求。
要了解这些优点,最好是先来看一个简单的使用AMF-RPC创建的Flash网络应用程序。
板凳
zhangyafei [专家分:0] 发布于 2007-04-08 10:44:00
[b]第08章 在Flash影片应用程序中处理记录集结果[/b]
要连接到.NET应用程序服务器上的Flash Remoting MX服务并且调用远程服务方法,就必须使用mx.remoting和mx.rpc这两个ActionScript类库:这两个类库包含了所有的Flash Remoting MX for ActionScript 2.0类和方法实现。
其中,mx.remoting是一个十分核心的ActionScript类库,它包含了用来与应用程序服务器建立连接的所有对象及方法,而mx.rpc可以用来调用远程方法并处理结果。
在前面的章节中,我们介绍了如何通过Flash Remoting MX网关服务在ASP.NET网页中向Flash影片应用程序传递数据,也介绍了如何使用Flash影片应用程序向ASP.NET网页传递参数,并且介绍了如何使用Flash Remoting MX for .NET与ADO.NET数据库查询结合调用数据库,而且创建了两个简单的例子。
但是,当从ASP.NET网页向Flash影片应用程序传递的数据被接收到时,如何处理接收到的结果呢?我们在前面的例子中已经使用了一些方法,但这只是在 Flash影片应用程序中处理结果丰富方法中最简单的,Flash Remoting MX for ActionScript 2.0客户端组件内置了丰富的ActionScript脚本语法用来处理结果。
本章就来详细地介绍一下这些ActionScript脚本语法。
3 楼
zhangyafei [专家分:0] 发布于 2007-04-28 19:28:00
8.4使用DataGlue对象处理记录集数据
要在一个Flash UI组件中显示RecordSet记录集,一般可以使用该组件内建的setDataProvider()方法或者dataProvider属性,但是如果想在一个Flash UI组件中显示记录集中某一字段下的所有记录,就比较困难了。
例如,在前面的例子中,我们要在一个下拉列表框组件中显示记录集中酒店名,就必须首先创建一个新的单字段记录集,将原记录集中该字段的数据填充新的单字段记录集,然后再使用组件的setDataProvider()方法或者dataProvider属性,显然,这比较麻烦,而且占用的资源也比较多。
为了解决这个问题,Flash Remoting MX还内建了名为DataGlue的ActionScript类。使用DataGlue ActionScript类文件也可以在一个Flash UI组件中显示RecordSet记录集。DataGlue ActionScript类文件随同Flash Remoting MX组件一起被安装,要使用它,必须导入相应的类库,可以使用下面的一行脚本:
import mx.remoting.DataGlue;
DataGlue类有两个内建的方法:DataGlue.bindFormatStrings()和DataGlue.bindFormatFunction(),使用这两个方法都可以在Flash UI组件(例如组合框和列表框)中显示记录集。
4 楼
zhangyafei [专家分:0] 发布于 2007-07-17 13:21:00
在《.NET for Flash动态网站开发手札》一书中,描述了如何将本书内容用于Flash Professional 9 Preview,现在你依然可以将该书内容用于Flash CS3 Professional,方法同理。包括AMF-RPC for AS1和for AS2皆同此理。
随未经过测试,但我也知道可以。
所以,我建议您一定要在理解的基础上阅读《.NET for Flash动态网站开发手札》。
期待你成功的消息。
5 楼
zhangyafei [专家分:0] 发布于 2007-07-24 04:38:00
本书完全适用于新版Flash cs3,请严格按照书中介绍的步骤进行配置。
我来回复