SOA和PHP

news/2024/7/4 0:56:39

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



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1324113



http://www.niftyadmin.cn/n/3660405.html

相关文章

border-collapse、innerHTML

99. 用 &lt 表示左半括号 < 用 &gt 表示右半括号 > 如 则表示为 &lt br/ &gt 100.border-collapse border-collapse&#xff1a;属性设置表格的边框是否被合并为一个单一的边框&#xff0c;还是象在标准的 HTML 中那样分开显示。 101.innerHTML i…

《Programming PHP》第二版翻译完毕

我的Blog沉寂了很久&#xff0c;主要是因为忙着翻译 《Programming PHP》第二版。这本书原著为PHP创始人Rasmus Lerdorf&#xff0c;2006年4月由O’Reilly出版。中译名《PHP程序设计》(第二版)&#xff0c;由电子工业出版社博文视点出版&#xff0c;如果没有特殊情况将于2007年…

getElementsByTagNameNS()

getElementsByTagNameNS() 方法返回带有指定名称和命名空间的所有元素的 NodeList。 详见&#xff1a;https://www.runoob.com/dom/met-element-getelementsbytagnamens.html

什么是PHP ?

陈浩 &#xff08;Haohappy&#xff09;这篇文章是应ChinaUnix版主HonestQiao之邀写的&#xff0c;简单介绍一下PHP。本来是要投给《电脑爱好者》&#xff0c;但是写的不够浅显易懂&#xff0c;对于普通电脑爱好者来说估计不怎么看得懂&#xff08;写的时候没有怎么考虑这个&a…

访问指定的元素节点

<!doctype html> <html> <head> <meta charset"utf-8"> <title>DOM</title><script type"text/javascript">function init(){var onerdocument.getElementById("one"); //找到<li id"one&qu…

元素对象常用操作

<!doctype html> <html> <head> <meta charset"utf-8"> <title>元素对象常用操作</title><script type"text/javascript">function init(){var textdocument.createTextNode("冬奥会欢迎你&#xff01;&qu…

JQuery

目前除Prototype 之外最优秀的JavaScript Framework。Prototype已经把效果类库去掉&#xff0c;交给script.aculo.us和Rico这些二次开发的类库&#xff0c;专注于核心部份的开发。JQuery则把效果当作重要的部份。JQuery提供的文档比Prototype要齐全。如果你想同时使用Prototype…

Dom、GBK、升序和降序

103.Dom Dom有三大节点&#xff1a;元素节点、属性节点、文本节点。 文本节点&#xff1a;DOM中用于呈现文本的部分&#xff0c;如<li>...</li>中的JavaScript、DOM、CSS等文本 104.GBK GBK全称《汉字内码扩展规范》&#xff08;英文名称&#xff1a;Chinese In…