SOA和PHP

SOAPHP

  什么是SOA?


SOA Service Oriented Architecture ,面向服务的架构)是一种新的面向服务架构的编程模型,号称“下一代软件架构”。 SOA Gartner 1996 年提出的,到了 2002 12 月, Gartner 又提出了 SOA 现代应用开发领域最重要的课题 ,并预计到 2008 年, SOA 将成为占有绝对优势的软件工程实践方法。

  SOA就是服务的集合。从软件和业务功能两方面的观点看,服务就是定义良好的软件组件,它不依赖于任何调用它的应用程序的上下文或状态。

在技术上,定义这些服务以及它们到应用程序的接口,然后实现这些服务,是SOA的核心部分.这些服务通常被实现为Web Services,应用程序可以通过简单对象访问协议(Simple Object Access ProtocolSOAP)来访问它,基于HTTP协议以XML的形式进行传输.

从根本上说,SOA是服务接口的一种流和一种关系,设计接口及其关系需要熟练掌握Web技术、业务流程和服务下的技术平台以及采用它们的应用程序等方面的知识。架构师不仅必须了解如何构造Web服务,而且还要了解现有应用程序和计划未来使用的应用程序如何使用它们。


 

SOAWeb Services是比较大的概念,是一种规范(封装服务和提供服务的规范),它们降低了后台程序如何运行的重要程度。你可以用不同的编程语言和平台来并实现SOAWeb Services。甚至有人由此预计五年后JavaEE不再是主流的标准程序设计模型,因为Java EE太过复杂。很显然,如果我用简单的方式也可以实现SOA,那么为什么要用Java EE呢? 这就是平台的力量,平台的影响力总是大于应用,JavaEE是个小平台(对于一般的开发而言,它已经是个非常大的平台,但是技术和需要总是在不断发展的),而SOA是个大平台。从面向过程,面向对象,面向组件和面向业务各种编程模型,目前JavaEE大部份时候是在面向组件和面向业务之间,而SOA是面向业务,应该说对于企业应用非常有优势。

 

目前IBM可以说SOA的主宰力量,我们可以看到它甚至在PHP方面也在大力推广SOA(IBMOracle 尝试把PHP 应用到SOA 之中),足见其野心之大。

 

我们看看IBMPHP SOA方面的进展:

2005.7 IBMPHP实现SDO并提交到PHPPECL

2005.12 IBM联合BEAOracleIONASAPSiebelSybaseXcalia以及Zend公司,共同发布了两项针对SOA的重要编程模型规范——SCA(Service Component Architecture)SDO(Service Data Object)  注意,包括Zend公司。ZendPHP的关系,就类似于SunJava       

2006.3 PHP SDO v 1.0.0 发布
2006.9 PHP SDO v 1.0.4 发布
2006.9 PHP SCA v 0.1.0 发布

  详情请参看:

SOA PHP Homepage

 

其实单独地说PHP中的SOA并不是一件很有意义的事,因为那只不过是一个Java的移植,以现在PHP5的面向对象编程模型,基本上已经足够胜任,甚至有些方面更方便,因为PHP是弱类型和动态类型的语言(Type Juggling),在实现SDO时,写代码不用像Java那么烦琐(不需要写那么多geter/seter)。但是实现之后,能否推广起来?这种抽象、松散耦合和粗粒度的软件架构能否真正被接受?


  光靠IBM的力量(可能还有OracleZend)来发展PHP SOA,可以说是没有可能成功的。当然话又说回来,如果SOA发展很好,PHP SOA也一定会流行起来,也会有更多技术厂家加入。一个技术能否被接受,能否流行,很多情况下还是要看大环境。

参考:

SOA PHP Homepage

解读SCA/SDO ——SOA已进入实质阶段

An introduction to Service Data Objects for PHP

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值