SOA和标准的Web服务再加上以互联网为基础的交付模式这些新技术的出现,对于推动新的软件平台创新提供了必要的基础。其中一个创新是在软件构件化技术方面的突破,我们称之为面向服务的编程(Service Oriented Programming,SOP)。SOA侧重于使用“服务运营”在系统之间进行通信。而SOP提供了一种使用中间、本地服务操作作为装配单位建立灵活的应用模块的新技术。SOP提供了一种模型驱动技术,它使用服务的内存映像来运行整个应用,而不是仅仅使用这些服务去跨系统。由于这些内存服务可以透明地穿过Web服务标准或任何私有协议,SOP能自动在应用模块中添加SOA,并能够从内部实现实时集成,因此无需使用昂贵的数据复制。与单独使用SOA相比,SOP模块更快并且更容易地适应变化和整合的次序。
模型驱动的SOP开发和多租户服务虚拟机
SOP将内存服务组合技术与面向服务和模型驱动的编程概念结合在一起,从而可以无需编码或脚本就能创建作为服务的应用模块。SOP与“内置SOA”使得应用组件化和集成功能结合在一起,因而无需使用应用捆绑和SOA集成服务器。因为SOP范式已经是模型驱动的,所以没有必要使用数以万计复杂的附加“中间件”产品,范围从工作流程和业务流程管理(BPM)工具,以及数据交换工具。模型驱动的SOP消除了对于整个SOA中间件堆栈的需要,从而改变了软件自动化的经济学原理。通过一个单一的设计时(design-time)环境定义的SOP模型,是自动运行的并且在运行时可以通过一个多租户服务虚拟机(Multi-tenant Service Virtual Machine)来管理。
SOP实现了层次化的软件模块,在最低级别上实现了原子服务(相当于最小的工作单位);在最高层次上实现了综合服务,其中包含一些服务模块。业务逻辑是由综合服务构成的,这些综合服务在分子层次上跨越多个内核、处理器和服务器运行时自动多线程和虚拟化。像“取得年度客户服务订单” 这样一个服务可能包含一百多个互相嵌套的服务。相反,通过连续执行这些服务,服务运行环境(Service Runtime Environment)自动跨多个内核调度它们,这大大减少了执行时间。服务运行环境了解所有的并行化的问题,比如:数据依赖关系,并能在后台自动处理这些问题,不需要任何用户输入。这充分利用了HPC系统的并行计算能力,不会给程序员带来线程创建的负担。
通过透明外化(transparent externalization)的力量聚合
在SOP中,服务接口组成了内存封装单元单位,并且可以在运行时被透明地外化,而无论它们是在分层组件栈的哪一层被使用的。这种能外化更高层服务模式的任何子服务组件的透明能力SOP聚合属性的核心所在。它也是跨多个内核和服务器的所有子组件内置虚拟化、彻底的SOA集成,以及其它许多通过SOP实现的创新机制的关键。
SaaS 2.0:通过SOP汇聚SOA、SaaS以及服务虚拟化
现在,传统的预置交付应用和SaaS应用供应商使用的应用的主要平台的区别在于SaaS应用平台的多租户性。除了多租户交付模式外,SaaS开发和预置应用开发使用的规范和技术基本上是相同的。使用多租户SOP平台开发和运行SaaS应用组件,给现有的SaaS带来的好处有:完全的模型驱动开发,内置SOA,自动组件虚拟化。SOP是SaaS、SOA以及虚拟化技术的汇聚点。
一个迁移到SOP平台的例子
Ventyx为服务发布管理(Service Delivery Management,用于为公司管理客户、劳动力、零件库存、工具和文档)提供ERP应用服务。Ventyx为超过40多个国家的400多家企业提供服务,其中包括利用能源工具产生并分配电力的核电力公司。因为他们的顾客通常在应用软件中定制业务逻辑, 因而Ventyx迁移到一个SOP平台上,这确保了较高的集成水平以及最佳的计算性能,从而可以更好为客户提供支持。
Ventyx部署了NextAxiom 公司的Hyperservice Business Platform 和Service Runtime Environment (SRE)。NextAxiom公司帮助Ventyx迁移遗留代码,并开发运行在SOP平台上的新应用。 Hyperservic Studio提供了一个功能齐全的基于语义的构造环境,它用来管理和定制软件模块,也就是所谓的服务,而Service Runtime Environment 提供了一个自动化服务的并行执行的管理运行环境。遗留代码可以被转换成SOP模型或压缩成包,所以它们只需要小的修改就可以像原来一样运行。
使用NextAxiom的SOP平台,开发商业逻辑就像画流程图一样直观。用户可以拖放本地服务接口,添加可视化编程组件,并将它们用线连接在一起。Ventyx 公司产品架构主管Fernando Alvarez 说:“现在,我们的客户可以定制服务并按需集成解决方案,”用户按照语义创建服务而不需要编写代码,这是由平台自动执行的。这意味着服务可以由经验丰富的业务流程专家以及软件编程人员创建。因为代码既不需要编写业不需要产生,解决方案在整个生命周期仍然是灵活的。
NextAxiom的客户可以运行单一线程的遗留代码和多线程综合服务的结合,英特尔架构的处理器对上述两类代码都执行地非常好。这给需要跨越各种各样工作量的高运算性能应用带来了很大的好处。这个应用软件被优化以运行在采用双核英特尔安腾2处理器的HP Integrity rx6600服务器上。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。