SOA和基于标准的Web服务以及基于互联网的交付模式的出现为新的软件平台的技术创新提供了重要的基础。我们称作SOP(面向服务编程)的一种突破性的软件组件化技术就是这些技术创新之一。SOA的重点是使用“服务操作”的各个系统之间的通讯,而SOP是为建立灵活的应用程序模块提供一种新的技术。这种模块把内部流程、本地服务操作当作“组装的元件”。SOP不是仅仅使用服务访问这些系统,而是提供一种模块驱动的技术,使用内存中的服务镜像运行一个完整的应用程序。由于这些内存中的服务能够通过Web服务标准或者任何专有的协议透明地实现外部化,SOP能够自动地把SOA添加到应用程序模块中,并且从“内部”进行实时整合,从而消除价格昂贵的数据复制的需求。SOP模块能够用来改变和集成数量级,比单独使用SOA速度更快、更方便。
SOP把一个内存中的服务合成技术与面向服务的和模块驱动的编程架构结合在一起,不使用编码和脚本把应用程序模块制作成服务。SOP与“内部的SOA”一起把应用程序组件化和集成功能统一起来,从而消除了把应用程序和SOA集成服务器捆绑在一起的需求。由于这个SOP范例是由模型推动的,因此不需要许多复杂的插件“中间件”产品,如从工作流和商务流程管理工具到数据交换工具的各种中间件软件。通过消除整个SOA中间件软件栈的需求,模型推动的SOP改变了软件自动化的经济。SOP模型在运行的时候将自动地由多租户服务虚拟机运行和管理。
SOP采用分层次的软件模块,用最低级的、原子的服务代表这个工作的最小的部分;用最高级的、合成的服务包含许多嵌套的服务模块。商务逻辑包括许多合成的服务。在运行的时候,这些服务在多内核、处理器和服务器上自动地以多线程方式运行并且进行分子级的虚拟化。一种类似于“GetAnnualCustomerServiceOrders”(获得每年用户服务订单)的服务也许包括100个嵌套的服务。通过连续地执行这些服务,服务运行时环境自动把这些服务发送到多个内核,极大地减少了执行时间。服务运行时环境理解诸如数据相关性等全部并行化问题,并且不需要用户输入任何数据就能够在后台解决这些问题。这个过程完全使用超级计算机系统的并行计算能力,不需要麻烦程序员创建线程。
在SOP中,服务接口组成内存中封装的单元并且在运行时透明地客观化,无论在分层次的组合中的什么地方使用它们都是如此。这种把更高级别的服务模块的任何子服务组件客观化的透明的能力是SOP融合资产的核心。它是全部子组件内置的虚拟化的关键。整个多内核和服务器、内部SOA集成以及通过SOP实现的许多其它创新机制都包含这些组件。
目前,现场提供的传统的应用程序与SaaS应用软件厂商使用的应用程序之间的主要平台差异存在于SaaS应用程序平台中的多租户中。除了多租户交付模式之外,SaaS和现场应用程序开发使用的范例和技术基本上是相同的。使用多租户SOP平台开发和运行SaaS应用程序组件能够给现有的SaaS交付经济带来模型驱动开发、内部SOA和自动组件虚拟化的100的好处。SOP是SaaS、SOA和虚拟化的一个融合点。
向SOP平台Ventyx过渡的一个例子是提供用于服务递送管理的ERP应用软件。企业使用这种软件管理客户、员工队伍、零件库存、工具和文件。这种软件为40多个国家的400多家公司服务,其中包括一些核电公司。由于他们的客户一般都在应用软件中进行了商务逻辑客户化,通过采用在保持优化的计算机性能的同时保证高水平的集成的方式从Ventyx平台过渡到SOP平台能够为用户提供更好的支持。
Ventyx应用NextAxiom公司的Hyperservice商务平台和服务运行时环境,帮助他们移植老式的代码和开发新的应用程序以便运行SOP平台。HyperserviceStudio提供了一个功能齐全的基于语义的环境,用于制作、管理和客户化称作服务的软件模块。同时,服务运营时环境为自动化并行执行服务提供一个管理的运行时环境。老式的代码可以转换为SOP模型或者封装在“包装”中。这样,这些老式代码稍微修改一下就可以像以前一样运行。
采用NextAxiom的SOP平台,开发商务逻辑程序像制作流程图一样是可见的。用户可以用鼠标拖放本地服务界面、增加可视化编程结构并且用线把它们联系在一起。Ventyx产品架构经理FernandoAlvarez称,现在,我们的客户能够把服务结合在一起,根据需要选择和集成解决方案。用户不需要编写代码,只需要在语义上创建这个平台能够自动执行的一些服务。这就意味着有经验的商务流程专家和软件编程人员能够创建这种服务。由于代码既不是编写的也不是生成的,解决方案在其整个生命周期中都是非常灵活的。
NextAxiom的客户能够运行一个把单线程的老式代码与多线程的合成服务结合在一起的程序。英特尔架构处理器运行这两种线程都非常好。这有益于需要各种工作量的高性能计算的应用程序。这种应用程序软件进行优化之后能够在配置英特尔双核安腾2处理器的惠普Integrityrx6600服务器上运行。