关键字:面向服务 编程 SOA
SOA和基于标准的Web服务以及基于互联网的交付模式的出现为新的软件平台的技术创新提供了重要的基础。我们称作SOP(面向服务编程)的一种突破性的软件组件化技术就是这些技术创新之一。SOA的重点是使用“服务操作”的各个系统之间的通讯,而SOP是为建立灵活的应用程序模块提供一种新的技术。这种模块把内部流程、本地服务操作当作“组装的元件”。 SOP不是仅仅使用服务访问这些系统,而是提供一种模块驱动的技术,使用内存中的服务镜像运行一个完整的应用程序。由于这些内存中的服务能够通过Web服务标准或者任何专有的协议透明地实现外部化,SOP能够自动地把SOA添加到应用程序模块中,并且从“内部”进行实时整合,从而消除价格昂贵的数据复制的需求。SOP模块能够用来改变和集成数量级,比单独使用SOA速度更快、更方便。
SOP把一个内存中的服务合成技术与面向服务的和模块驱动的编程架构结合在一起,不使用编码和脚本把应用程序模块制作成服务。SOP与“内部的SOA”一起把应用程序组件化和集成功能统一起来,从而消除了把应用程序和SOA集成服务器捆绑在一起的需求。由于这个SOP范例是由模型推动的,因此不需要许多复杂的插件“中间件”产品,如从工作流和商务流程管理工具到数据交换工具的各种中间件软件。通过消除整个SOA中间件软件栈的需求,模型推动的SOP改变了软件自动化的经济。SOP模型在运行的时候将自动地由多租户服务虚拟机运行和管理。
SOP采用分层次的软件模块,用最低级的、原子的服务代表这个工作的最小的部分;用最高级的、合成的服务包含许多嵌套的服务模块。商务逻辑包括许多合成的服务。在运行的时候,这些服务在多内核、处理器和服务器上自动地以多线程方式运行并且进行分子级的虚拟化。一种类似于“Get Annual Customer Service Orders”(获得每年用户服务订单)的服务也许包括100个嵌套的服务。通过连续地执行这些服务,服务运行时环境自动把这些服务发送到多个内核,极大地减少了执行时间。服务运行时环境理解诸如数据相关性等全部并行化问题,并且不需要用户输入任何数据就能够在后台解决这些问题。这个过程完全使用超级计算机系统的并行计算能力,不需要麻烦程序员创建线程。
在SOP中,服务接口组成内存中封装的单元并且在运行时透明地客观化,无论在分层次的组合中的什么地方使用它们都是如此。这种把更高级别的服务模块的任何子服务组件客观化的透明的能力是SOP融合资产的核心。它是全部子组件内置的虚拟化的关键。整个多内核和服务器、内部SOA集成以及通过SOP实现的许多其它创新机制都包含这些组件。
目前,现场提供的传统的应用程序与SaaS应用软件厂商使用的应用程序之间的主要平台差异存在于SaaS应用程序平台中的多租户中。除了多租户交付模式之外,SaaS和现场应用程序开发使用的范例和技术基本上是相同的。使用多租户SOP平台开发和运行SaaS应用程序组件能够给现有的SaaS交付经济带来模型驱动开发、内部SOA和自动组件虚拟化的100%的好处。SOP是SaaS、SOA和虚拟化的一个融合点。