技术开发 频道

从SOA到SOP

【IT168 专稿】

    什么是SOP?这可不是System.Out.Println的缩写,它来自于SOA、Web服务和互联网技术,我们姑且称之为面向服务的编程(Service-Oriented Programming)。
    SOA、标准化Web服务以及基于互联网技术的传输模式为推动软件平台的创新提供了坚实的基础。这些创新中便包括有具突破性的软件组件化技术——SOP。
    当SOA还将目光集中于如何使用服务操作实现系统间的通讯时,SOP已将目光转向一个新的领域:通过运行中的本地服务操作来建立敏捷的应用模块。这些本地服务就如同机械产品中的部件,它由若干零件装配在一起而组成,并最终进入总装配。SOP不再像SOA中那样通过服务访问整个系统,它提供了一种模型驱动技术,该技术利用服务的内存映像来运行完整的应用。通过标准化的Web服务或者其他专有协议可以很容易地将这些内存服务具体化。所以,实际上,SOP自动地在应用模块中引入了SOA,并实现实时地内部整合,从而节省下高昂的数据复制费用。因此,相比于单独使用SOA,SOP模块更适用于对更新和整合要求更快、更便捷的场合。

模型驱动开发

    SOP将面向服务的内存服务组件技术与模型驱动的编程结构相结合,使用无需编码和脚本的若干服务组成应用模块。实际已包含SOA的SOP统一了应用组件化和整合功能性,从而减少了大量SOA整合所需的应用和服务器数量。由于SOP是模型驱动的,所以再无需大量复杂的扩展中间件产品,例如工作流、BPM工具和数据交换工具等。虽然SOP是通过单一的设计时环境定义,却可以通过服务虚拟机在运行时实现自动运行和管理。

服务虚拟技术

    SOP对其软件模块进行了等级划分,最低一级的原子服务,是整个工作的最小单位;最高一级的复合服务,则包括一系列嵌套的服务模块。原子服务组成分子服务,分子服务组成复合服务,复合服务组成整个的业务逻辑。在分子服务的基础上组成复合服务,利用了由多个内核、处理器和服务器组成的系统,同时使用到多线程技术和虚拟化技术。一个复合服务可能包括100个以上的嵌套服务。SOP充分利用了HPC(高性能计算)系统的并行计算能力,在连续执行这些服务时,服务运行时环境能够在多核、多处理器系统中对其进行自动分配,从而极大地缩短执行时间,同时也不会因为要多产生线程而增加编程人员的负担。

0
相关文章