日期:2014-04-19  浏览次数:20966 次

使用程序开发技术正发生着一次质的飞跃,从基本上大幅度提高开发人员的生产效率,它开启了一道通向全新概念的使用程序的大门。

  在过去,开发人员不断通过集成本地系统服务来构建使用程序。在这种模式下,开发人员可以访问丰富的开发资源并能严厉控制使用程序的行为。

  如今,开发人员在很大程度上已挣脱了这种模式的束缚,努力于构建具有复杂结构的n层系统,这种系统能将网络中各处的众多的使用程序进行集成,并大大提升使用程序的价值。这样,开发人员便可集中精力挖掘软件独特的商业价值,而不必日夜为如何构建基本结构伤脑筋了。令人欣喜的局面将应运而生:软件投放市场的时间大大缩短、开发人员的编程效率明显提高,最为基本的是开发出质量上乘的软件。

  我们正在进入一个簇新的计算时代,一个互联网时代,其核心技术是“可扩展标记言语”,即XML。XML创建出可供任何人从任何地方访问和使用的功用强大的使用程序。它极大地扩展了使用程序的功用,并实现了软件的不间断传输。在这种大环境中,软件已不完全是指那些从CD进行安装的程序,而是曾经演化成了一种服务:类似于调用者的ID验证或按观看次数进行收费的电视,人们可通过通信媒体预定此类服务。

  这一切,是通过将紧密耦合的、高效的n层计算技术与面向音讯的、松散耦合的Web概念相结合来实现的。我们将这种计算风格称为Web服务,它的出现标志着人类曾经迈入使用程序开发技术的新纪元。Web服务是一种使用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功用纲领性地体如今互联网和企业内部网上。可将Web服务视作Web上的组件编程。

  从理论上讲,开发人员可通过调用Web使用编程接口(API)(就像调用本地服务一样),将Web服务集成到使用程序中,不同的是Web API调用可通过互联网发送给位于近程系统中的某一服务。例如,Microsoft Passport服务使得开发人员能够对某使用程序进行验证。通过Passport服务编程,开发人员可以充分利用Passport的基本结构,通过运转Passport来维护用户数据库,以确保它的正常运转、定期备份等等。

  松散耦合

  在某个网络中分发使用程序逻辑,并不是一个全新的概念,在Web中分发并集成使用程序逻辑才是一个簇新的概念。

  从前,分布式的使用程序逻辑需求使用分布式的对象模型,诸如:微软的分布式组件对象模型(DCOM)、对象管理集团的公用对象请求代理程序体系结构(CORBA)或Sun的近程方法调用(RMI)。通过使用这种基本结构,开发人员仍可拥有使用本地模型所提供的丰富资源和精确性,并可将服务置于近程系统中。

  这些系统有一个共同的缺陷,那就是它们无法扩展到互联网上:它们要求服务客户端与系统提供的服务本身之间必须进行紧密耦合,即要求一个同类基本结构。这样的系统往往十分脆弱:如果一端的执行机制发生变化,那么另一端便会崩溃。例如,如果服务器使用程序的接口发生更改,那么客户端便会崩溃。

  要求提供紧密耦合的基本结构,无可厚非,许多使用程序均是基于这种系统构建而成的。但是,当各个公司需求互相合作、或信息技术提供商扩大业务范围时,便很难实现单一而统一的基本结构。您基本无法保证您希望与之进行近程通信的管道的另一端,具备所有您需求的基本结构:对于它使用的操作系统、对象模型或编程言语,您可能一无所知。

  相反,Web服务彼此是松散偶合的。连接中的任何一方均可更改执行机制,却不影响使用程序的正常运转。从技术角度讲,人们已转向使用一种基于音讯的异步技术来实现高可靠性的系统功用,通过使用诸如HTTP、简单邮件传输协议(SMTP)以及至为重要的XML来实现统一的连接。

  音讯传递系统将通信的基本单元打包成自我描述型的数据包(又称作音讯),并将其放到网络缆线中。音讯传递系统与分布式对象系统之间的本质区别在于:要求发送方辨识接收方的基本结构的程度有所不同。在分布式系统中,发送方需对接收方的情况作出种种猜测:使用程序是如何激活或拆包的,调用的是什么样的界面,等等。

  另一方面,音讯传递系统会在缆线格式级上创建合同。发送方既不需考虑音讯被接收后的情况,也不需考虑接发双方之间的通信情况,独一需求考虑的是接收方能否能辩识发送的音讯内容。

  在缆线格式级上创建合同的优势不言而喻。例如,接收方可在任何时辰进行更改,而不会干扰发送方的音讯发送,只需它仍可辩识原有音讯的内容。另外,发送方无需任何特殊的软件即可与接收方通信:只需它发出正确格式的音讯,接收方就可以呼应。