ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用した SCA および SDO_PHP の開発チュートリアル
Open Service-Oriented Architecture Alliance (OSOA) によって開始され、コンポーネント指向アーキテクチャ (SCA) とサービス データ オブジェクト (SDO) が、サービス指向アーキテクチャを開発するための最新の手法になりました。当初、これらの開発は Java や C++ などの一部の一般的な開発環境にのみ集中していましたが、現在では、SCA と SDO が他のいくつかのプラットフォームに導入され始めています。ここでは、PHP にいくつかの SOA テクノロジを組み込む方法を説明します。
まず、SDO が提供できるものを見てみましょう。典型的な PHP アプリケーションでは、データの半分はリレーショナル データベースから取得されますが、アプリケーションが後でここからデータを取得するだけでなく、通常のテキスト ファイルや Web サービスからもデータを取得する場合はどうなるでしょうか?各データ ソースには独自の取得方法が必要なため、この問題は複雑です。
この場合、PHP の SDO は、データ ソースを処理するための透過的な方法を提供します。各データ ソースを個別に処理するのではなく、データ オブジェクトにアクセスするための統一された方法を提供します。このプロセスは、SDO アーキテクチャ上の中間メソッドであるデータ アクセス サービス (DAS) を通じて完了します。 PHP での SDO リクエストを見てみましょう。
SDO はデータを重視しますが、SCA はより一般的なクラスとコンポーネントを使用して同じ透過的なメソッドを実現します。 PHP クラスから既存のビジネス ロジックにアクセスすると、開発者は特定の前提条件に基づいて設計する必要がありますか?ロジックはすでに別のネイティブ PHP クラスにありますか?ネットワーク上に存在するのでしょうか? PHPで書かれているのでしょうか?
上記のシナリオがそれぞれの要件を満たすことができる場合、それぞれを異なる方法を使用して処理する必要があります。
SCA メソッドを使用すると、ロジックがどこに保存されているかは関係なく、ましてやロジックの実装にどのような言語が使用されているかは関係ありません。 「これは通常の Web サービスに似ているのではありませんか? 違いはありません!」 次に、例を挙げて PHP SCA コンポーネントに何が含まれているかを見てみましょう。
この最終サービスの実行またはデプロイメントは、PHP SCA ランタイムに委任され、Web サービスでわかるように、WSDL コントラクトを作成するためのアクセス ポイントに到達します。このサービス展開方法の単純さに加えて、getQuote コードを調べると、SCA モデルの本当の利点がより明らかになります。
2 つのステートメント $this-<shipper->get ShippingPrice($shippingCo) と $this->discountFee->getDiscountRate($customer) に注目してください。これらはクラス内の前のアプリケーションに基づいています。各アプリケーションは、サポートするサービス ロック (@reference および @binding によって識別される) によってサポートされます。$discountFee の使用例では、これは PHP クラスになり、配送業者の使用例では、これは標準の WSDL ベースになります。
PHP はそのシンプルさと大規模なユーザー ベースからのサポートにより、Web アプリケーションの構築には適していますが、エンタープライズ アプリケーションの多くのシナリオではその機能が制限されており、SCA と SDO を追加することで、PHP と以前のテクノロジーのサポートが提供されます。強力なサポートがあれば、他の主流言語と同様に、サービス指向のトレンドに参加できます。
【関連記事】http://www.bkjia.com/PHPjc/446774.html