用SOA构架更好的移动应用服务

 
   | |

导读:在这篇文章里,我们将探讨构建新型应用,把网络的成功扩展到所有电话信道中。利用最新的工具和技术,这一切可能要比你预想的简单得多。

关键词:应用服务 网络 SOA构架 Eclipse

 
正在加载数据...

  多信道时代的到来

  除非你还生活在原始社会,否则你肯定不会不知道现在的网络电话影响力有多大。而网络电话的成功将移动服务推上了舞台。作为第一种确确实实地将传统电话与网络结合到一起的的手段,它标志着多信道时代的到来。

  虽然说移动网络刚刚成为焦点,不过实际上"移动应用"已经伴随我们很长时间,比如电话银行,或者短信查询预付费余额等。

  听起来不太对?这是因为从便捷性与可用性的角度来说,以往的电话应用只发挥了微不足道的作用。比如,当你访问eBay的时候,是否经常被提示"请注意,我们的定单选项可能已经改变"?你来到Amazon,是不是需要打开五层菜单才能看到自己的定单已经发货?

  随着向以用户为中心的转变,网络应用已经产生了新的标准:根据用户、参数、以往的操作以及即时定制进行动态调整,确保能够产生良好的用户体验,让用户愿意再次惠顾。

  在这篇文章里,我们将探讨如何构建新型应用,把网络的成功扩展到所有电话信道中。利用最新的工具和技术,这一切可能要比你预想的简单得多。

  移动应用的需求

  虽然电话信道中的移动网站、话音和文本各方面之间有很大的不同,但是它们实际上还是有相当多的共同之处。移动应用中的用户有着具体的目标。他们不是停滞于过去,而是要完成一项既定的任务。他们可能要跟踪一个订单、支付账款,或者查询一部电影的播放时间。其中有人通过短信来实现这些目标,也有人会去浏览网站,或者播打800电话。但是不管通过哪种途径,他们的目的无非是用最有效的方式来完成他们的任务。

  应用程序应该以这种"效率"为最优先,因为它不仅牵涉到用户的操作,还涉及呈现的方式。电话信道的低带宽也要纳入考虑范围之内,在此基础上做出能实现最佳用户体验的方案。W3C标准为此提供了很好的建议。

  开发人员还要面对用户需求的另一面:他们需要有效率构建和维护可以在多信道中使用并保持一致性的应用。

  应用开发最重要的一部分是用户与系统之间的主要通路,即"对话流"。正像我们前面提到的一样,移动应用的目标是让用户能够有效地完成他们的任务。他们通常要通过一系统的步骤来收集信息(比如一定量的金钱和收款人),然后执行一个操作(比如转账)。虽然在语音信道里的确定信息可能会在网络信道中以单选按键的形成呈现,但是这个流程在各个信道基本上是大同小异的。开发团队必须在一个与信道无关的环境下进行开发,并且在构建对话流的时候要以其共性为中心。有了这样的环境,还必须以有效的方式选择性地根据信道和用户进行调整,从而实现用户所期望的合适且能够满足需求的体验。

  与此相同,各个信道也都要集成与后端系统的通信。因为这是最需要自定义代码的地方,需要保证其与SOA框架的流畅交互。

  最后还需要与补充性工具的互通,从而满足单独信道的需求,比如音频文件或语音识别语法管理。

  移动应用的标准架构

  VoiceXML等标准的成功使得之前分离的交互语音应答系统(IVR)和网络这两个世界融合到了一起。这样不仅用户可以从更好的应用中获得方便,连开发人员的生活都变得安逸了,因为统一的架构在为他们提供了更好的灵活性、扩展性和互通性的同时,还提供了更快的周转时间。

  当前的多信道电话应用的标准架构主要由以下几个部分构成:

    · 基于Eclipse框架的统一的服务创建环境

  · 基于电话应用服务器的统一的服务运行环境

  · 基于面向服务架构(SOA)的统一的后端设备

  在本文下面的部分中我们将主要讨论服务创建环境,分析其为什么能帮助开发人员给用户提供更好的体验。

  用Eclipse+SOA构架移动应用服务

  Eclipse提供了一个开放框架将所有最优工具整合成强有力的集成平台。因此开发人员不必再为选择一个整体式的IDE而采取种种折中措施,他们可以从一系列开源和商业组件中挑选最合适的组件。这些组件以插件的形式融入到Eclipse架构,从而实现彼此之间的无缝交互。

  在构建多信道电话应用的时候,这种方法的优势尤为明显,因为可以根据各个信道不同的技术需求作为最佳的选择。更妙的是,这些工具大部分都可以免费下载到,比如下面我们就有一个很好的例子。

  VoiceObjects Developer Edition即是一个综合性的多信道框架的优秀示例,它可以为语音、视频、文本和网络信道提供综合支持。它包括一个图形界面IDE和用于一键测试及部署的嵌入式电话应用服务器。应用程序是使用面向对象的方法通过一系列主要组件模拟用户交互和后端集成与应用逻辑进行构建的。而拖曳式的图形用户界面使快速原型开发和对象重用更为便捷。

  个性化调整是通过"层"的概念实现的,而这个层同时也包括了像多语言或多外观等方面。在各个电话信道上都可以进行集成测试与调试,包括可以显示(各种手机上的)文本和网络的电话模拟器。如果要端对端地测试语音程序,可以下载整套的IVR软件比如Voxeo的Prophecy,也可以使用寄存式IVR比如Tellme。

  如果你的开发重点是语音信道,那么你可以使用Eclipse Voice Tools Project。这种应用设计和Microsoft Visio类似,是从一套基本的可配置的构建模块开始的,使用的是box-and-arrows 方式。应用逻辑通过定制JavaScript代码进行定义。在测试方面,可以将应用封装成WAR文件并手动部署到一系列可选的网络应用服务器上,比如Tomcat。

  在语音应用开发中语法也是一个很重要的方面。用户可能会说"我的账单有点问题"或者"转账五百美元"等,因此必须对这些语句进行建模,这样语音识别引擎才能成功地对其进行辨别。Nu Echo的NuGram IDE为有效地管理这种语法提供了一套工具。诸如自动完成和即时验证等功能可以为构建语法规则提供有效帮助。在测试和调整的时候,可以对样本用户的发音方式进行解析,从而分析其语法的覆盖范围并保证正确的语义解释。

  不管应用运行于哪种信道,对后端系统的访问都是关键的一部分。在Eclipse系统中,有几种框架可以用来解决这个任务。其中两个比较重要的是网络工具箱(WTP)和SOA工具箱(STP)。

  对于简单或即时性的任务来说,通常会选择JavaServer Pages(JSP)作为解决方案,其优势是较低的管理费用和对静态及动态页面的直接支持。WTP提供了种类繁多的各种用于支持开发、测试和部署的功能。

  对于较复杂和偏向于重用性的任务来说,网络服务是一种较好的方式。STP包含了广泛的功能,包括SOA中从业务过程建模和服务编排到代码生成、部署、测试及文档的方方面面。

  而Eclipse插件只是这诸多可自由选择的工具中的一部分。越来越多的开源项目和商业开发标志着Eclipse平台已经在开发团体中获得了主导地位。

  Eclipse工作平台其自身便是优秀的工具集自不用说,仅仅各种插件(如上所述)即可带来流畅的互通性:你可以在检查并调整一个语音识别语法的同时查看对应于用户输入的对话流;你可以在使用简单的拖曳方式调整应用逻辑的同时编写连接到后端的网络服务代码。可以说有史以来开发人员第一次可以真正地同时掌握应用的各个方面而不必在不同的IDE之间切换或为选择某个独立的环境而做出各种妥协了。

  移动应用的新时代

  移动应用还将继续发展下去。

  用户需要获取越来越多的的信息并进行交互,而且他们希望这些操作能与以往同样便捷——不管是拨打800电话、发送短信或是访问一个移动网站。这给开发人员带来的挑战便是要实现可以根据用户需要和期望动态进行调整的多信道电话应用。

  IVR与因特网技术的融合使得我们可以把从网络中学到的东西应用到所有的电话信道中:利用以应用服务器为中心的多层架构。通过网络服务和SOA统一对后端系统的访问。

  在IDE方面,Eclipse框架具有丰富的且仍在不断充实的各种互通的插件,为开发人员提供了大量可选的功能套装。这样就可以满足多信道应用开发的各个方面的需求--并且不是孤立地,而是以彼此相通、彼此协调的方式。

  还有同样重要的一点,即这些Eclipse插件中的大部分都可以通过免费下载得到,这使得开发人员不仅可以自由选择,还能分别对各种工具的优势进行评估。

  现在,要实现一个新点子已经无比简单。灵活且可扩展的设备已经就位,能够实现创新的工具也唾手可得。

  可以说,更优秀的移动应用的时代马上就要降临。


Sun SOA架构和组合应用平台软件(CAPS)综
 Sun SOA架构和组合应用平台软件(CAPS)综述(一)
 Sun SOA架构和组合应用平台软件(CAPS)综述(二)
 Sun SOA架构和组合应用平台软件(CAPS)综述(三)
 CIO账单:企业购买SOA架构总体成本
 SOA架构实施锦囊:把脉SOA应从评估开始
 非理性扩展影响SOA架构
 数据管理成为企业成功实施SOA架构的关键
 如何透过ESB掌控SOA架构的实施
 SOA架构实施重点:信息化管理与应用整合
 SOA架构潜在用户有哪些投资决策顾虑
 SOA架构实施重点是什么?
 企业实施SOA架构重点应在哪些方面
 SOA架构是否能与ITIL有效融合?
 双面SOA架构炼狱“三重门”(二)
 双面SOA架构炼狱“三重门”(一)
 中国企业如何用SOA架构进行整合
 SOA参考架构的技术标准应用
 中国企业如何利用SOA架构进行快速整合
 实施SOA架构成为第三方物流企业最佳选择
 非理性扩展SOA架构的致命错误
 体现SOA架构灵活性的关键
 SOA架构:距离我们到底还有多远?
 用SOA构架更好的移动应用服务
 电子政务的发展离不开SOA架构的支持
 论松散耦合如何架构SOA“魔方”
 SOA架构发展的12大致命错误
 仲萃豪浅析SOA架构的十大技术理论体系
 构建复杂业务体系 SOA架构最关键

原文出处:http://tech.it168.com/a2009/0423/273/000000273747_1.shtml
 
来源:IT168    译者:袁发明   
 
 
 
 
 

Eclipse

 
Microsoft继续向开发人员推进其Azure云平台已经超出了Windows领域,这是拥抱Eclipse必须做的。为此,Microsoft签署了两项代理……
 
Java社区进程是否已经完全迷失了方向,还是越来越多地受到外部活动影响。Spring框架和Hibernate的影响在EJB3和JPA中就是很好的例子……
 
回首2008年,我们发现一个完整的SOA年。在2008年初,SearchSOA.com涉及Eclipse和影响SCA和JBI。看来,JavaScript框架和图书馆厂商-开放源码的倡导者,仍然处理Web……
 
我需要在UDDI运行时转换的WSDL文件。是否有一份文件,解释wsdl4reg工具如何通过命令行转换WSDL到UDDI呢?
 
继收购BEA Systems之后,Oracle公司又将工作重心放在了技术整合上,发布了WebLogic应用的第一个版本,将其重新标记为面向服务架构(SOA)的"全新战略基石"……

热门技术手册排行

 

随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

 

本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。

 

业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

 

TOAGF是一个架构框架,简而言之,TOGAF是一种协助发展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。

 

云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

 

Mashup是一个非常cool的新的应用程序种类。如果你想真正的了解它们,我们需要回过头来看看你现在的计算机,其实它就是一个非常好的帮助你理解mashup的模型。现在开源的操作系统无疑是非常好的apis的集合或应用程序编程接口,帮助开发者去构建其应用程序。计算机本身也是一个很好的为用户提供接口的例子,键盘和鼠标可以被理解为你通过计算机的接口而使用的不同的应用程序。本技术手册为读者提供了一些相关信息,如果需要深入了解mashup,读者可以借助其他参考资源。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录