BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

FleXtense帮助Flex应用程序访问Web Services

| 作者 Moxie Zhang 关注 0 他的粉丝 ,译者 张凯峰 关注 1 他的粉丝 发布于 2008年3月26日. 估计阅读时间: 4 分钟 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义

大多数RIA应用都会通过连接服务器来获取数据,FleXtense是这类应用的辅助工具之一,它对RIA-比如Flex应用访问web services提供帮助。FleXtentse 2.0计划在2008年四月正式发布。为此,InfoQ采访了FleXtense的缔造者Murat Cim和Ozkan Yilmaz,了解到关于FleXtense是如何协助RIA开发的细节。

首先,Cim解释了创建FleXtense的动机:

FleXtense通过自动生成能访问web services的ActionScript通讯类,来让Flex开发者更容易地使用web services。我们从Flex的最初发布版本就对其饶有兴趣。我们一直在使用.NET来开发web应用程序。慢慢地,我们开始意识到Flex有一个缺点,那就是它不提供对web services的访问能力。这让我们相信,如果能创建一个程序,一个能够帮助更有效地使用web services;并能够添加更多特性,比如使用web services自定义实体和集合的程序,那将对Flex非常有帮助。这是促使我们创建FleXtense的初衷。

FleXtense能够带给Flex开发者最大的好处是:

通过强类型数据结构来使用web service,使用它支持的数据结构和易于使用的接口来维护快速并安全的代码。

Cim还谈到在开发FleXtense时遇到的挑战:

最大的挑战是,此前从未有过类似的应用程序实例可作参考,所以我们不得不完全依靠自己设计软件的框架和结构。另外一个障碍是,action script 3.0不支持完全面向对象的编码环境。

接着,Yilmaz就FleXtense是如何开发以及如何工作的问题谈了一些细节:

在开发FleXtense过程中,我们用的是Visual Studio 2005开发工具。FleXtense具体所做的工作就是:读取并分析你所提供的web service的WSDL,据此创建出将在Flex的action script中使用的新proxy类。而这些类,通过我们的核心通讯库,使你能够借助强大的面向对象环境来连接到web service。

FleXtense为WSDL文档中每个定义了的web service创建一个同名的ActionScript类,这些web services中的方法因此可以通过与其同名的类来访问。比如说,对于某个叫做UserService的web service,FleXtense会为其创建一个名叫UserService的Actionscript类,相应生成的代码可作如下调用:

   var service:UserService = new UserService();     ...    service.getUser.send() 

还有一些为web service的ActionScript类自动生成的公有方法,比如“send”、“addResponder”和“addFaulter”。其他一些主要的生成类有:Result Event Class、用于枚举定义的Enums Class、用于WSDL中数组元素的Collection Class、用于自定义元素的Entity Class以及Base Data Type Array。对于那些使用过开源web service引擎Apache AXIS的开发者来说,这些代码生成的部分会相当熟悉。

最后,Yilmaz提供了由FleXtense生成的类作为范例,该类是针对Amazon Web Service而生成的。读者可以通过访问这里体验这个类的Flex演示程序。

查看英文原文:FleXtense Helps Flex Applications Access Web Services

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

深度内容

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT