SOA和PHP

Jun 23, 2016 pm 02:36 PM

SOA和PHP

  什么是SOA?


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

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

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

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


 

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

 

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

 

我们看看IBM在PHP SOA方面的进展:

2005.7 IBM用PHP实现SDO并提交到PHP的PECL库

2005.12 IBM联合BEA、Oracle、IONA、SAP、Siebel、Sybase、Xcalia以及Zend公司,共同发布了两项针对SOA的重要编程模型规范??SCA(Service Component Architecture)和SDO(Service Data Object)。  注意,包括Zend公司。Zend和PHP的关系,就类似于Sun和Java。       

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的力量(可能还有Oracle、Zend)来发展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


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

Erklären Sie das Konzept der späten statischen Bindung in PHP. Erklären Sie das Konzept der späten statischen Bindung in PHP. Mar 21, 2025 pm 01:33 PM

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Mar 28, 2025 pm 05:11 PM

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Mar 28, 2025 pm 05:12 PM

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Apr 01, 2025 pm 03:12 PM

Senden von JSON -Daten mithilfe der Curl -Bibliothek von PHP in der PHP -Entwicklung müssen häufig mit externen APIs interagieren. Eine der gängigen Möglichkeiten besteht darin, die Curl Library zu verwenden, um Post � ...

See all articles