ホームページ  >  記事  >  バックエンド開発  >  PHP が Web サービス アプリケーションを呼び出す方法の概要

PHP が Web サービス アプリケーションを呼び出す方法の概要

高洛峰
高洛峰オリジナル
2016-12-01 11:03:001209ブラウズ

1.1. Web サービスの基本概念

Web サービスは、XML Web サービスとも呼ばれ、インターネットまたはイントラネット上の他のシステムから渡されるリクエストを受信できる軽量の独立した通信テクノロジです。はい: SOAP を介して Web 上で配信され、WSDL ファイルを使用して記述され、UDDI を介して登録されるソフトウェア サービス。

XML: (拡張マークアップ言語) 拡張マークアップ言語。短期の一時的なデータ処理と World Wide Web にとって、これは Soap の基礎です。

Soap: (シンプル オブジェクト アクセス プロトコル) シンプル オブジェクト アクセス プロトコル。 XML Web Serviceの通信プロトコルです。ユーザーが UDDI を通じて WSDL 記述ドキュメントを見つけると、SOAP を通じて作成した Web サービス内の 1 つ以上のオペレーションを呼び出すことができます。 SOAP は、XML ドキュメントの形式でメソッドを呼び出すための仕様であり、HTTP(S) や SMTP などのさまざまな基礎となるインターフェイスをサポートできます。

WSDL: (Web サービス記述言語) WSDL ファイルは、一連の SOAP メッセージとその交換方法を記述する XML ドキュメントです。ほとんどの場合、ソフトウェアによって自動的に生成され、使用されます。

UDDI (Universal description, Discovery, and Integration) は、主に Web サービスプロバイダーとユーザーを対象とした新しいプロジェクトです。ユーザーが Web サービスを呼び出す前に、サービスにどのビジネス メソッドが含まれているかを判断し、呼び出されるインターフェイス定義を見つけて、サーバー側でソフトウェアをコンパイルする必要があります。UDDI は、システムがそれに基づいて対応するサービスを見つけるようにガイドするメカニズムです。説明文書。 UDDI は、SOAP メッセージング メカニズム (標準 XML/HTTP) を使用して、登録情報を公開、編集、参照、検索します。 XML 形式を使用してさまざまなタイプのデータをカプセル化し、それを登録センターに送信するか、登録センターが必要なデータを返します。

1.2. XML Web サービスの特徴

Web サービスの主な目標は、クロスプラットフォームの相互運用性です。この目標を達成するために、Web サービスは、XML (拡張マークアップ言語) や XSD (XML スキーマ) などのプラットフォームに依存せず、ソフトウェア ベンダーに依存しない標準に完全に基づいており、相互運用可能な分散アプリケーションを作成するための新しいプラットフォームです。したがって、Web サービスの使用には多くの利点があります。

1. ファイアウォールを越えた通信

アプリケーションに何千ものユーザーがいて、世界中に分散している場合、クライアントとサーバー間の通信は厄介な問題になります。通常、クライアントとサーバーの間にはファイアウォールまたはプロキシ サーバーが存在するためです。従来のアプローチでは、ブラウザをクライアントとして使用し、多くの ASP ページを作成し、アプリケーションの中間層をエンド ユーザーに公開することを選択します。その結果、開発とプログラムの保守が困難になります。 クライアント側のコードが HTML フォームにあまり依存しなくなれば、クライアント側のプログラミングははるかに簡単になります。中間層コンポーネントを Web サービスに置き換えると、中間層コンポーネントをユーザー インターフェイスから直接呼び出すことができるため、ASP ページを作成する手順が不要になります。 Web サービスを呼び出すには、Microsoft SOAP Toolkit や .net などの SOAP クライアントを直接使用することも、独自に開発した SOAP クライアントを使用してアプリケーションに接続することもできます。開発サイクルが短縮されるだけでなく、コードの複雑さが軽減され、アプリケーションの保守性も向上します。同時に、アプリケーションは中間層コンポーネントを呼び出すたびに、対応する「結果ページ」にジャンプする必要がなくなりました。

2. アプリケーションの統合

エンタープライズレベルのアプリケーション開発者は皆、企業ではさまざまな言語で書かれ、さまざまなプラットフォームで実行されるさまざまなプログラムを統合する必要があり、この統合には多大な開発コストがかかることを知っています。アプリケーションは多くの場合、ホスト上で実行されているプログラムからデータを取得したり、ホストまたは他のプラットフォーム アプリケーションにデータを送信したりする必要があります。同じプラットフォーム上であっても、異なるソフトウェア ベンダーが製造したさまざまなソフトウェアを統合する必要があることがよくあります。 Web サービスを通じて、アプリケーションは標準的な方法を使用して、他のアプリケーションで使用できる機能とデータを「公開」できます。

XML Web サービスは、疎結合環境で標準プロトコル (HTTP、XML、SOAP、WSDL) を使用してメッセージを交換する機能を提供します。メッセージは、構造化、型指定、または大まかに定義することができます。

3. B2B 統合

B2B は、企業が他の企業と取引する場合と同様に、販売者 (通常は企業を指します) と販売者間の電子商取引、つまりインターネットや取引所を介した企業間の製品とサービスを指します。情報の。平たく言えば、電子商取引の供給側と需要側の両方が販売者(または企業、企業)であり、インターネット技術やさまざまなビジネスネットワークプラットフォームを使用して商取引のプロセスを完了することを意味します。

Web サービスは B2B 統合を成功させる鍵です。 Web サービスを通じて、企業は指定されたサプライヤーや顧客に主要なビジネス アプリケーションを単に「公開」することができます。Web サービスはインターネット上で実行され、世界中のどこでも簡単に実装でき、運用コストは比較的低くなります。 Web サービスは B2B 統合の重要な部分にすぎず、統合を実現するには他の多くの部分が必要です。 Web サービスを使用して B2B 統合を実装する最大の利点は、相互運用性を簡単に実現できることです。ビジネス ロジックが「公開」され、Web サービスになる限り、指定されたパートナーは、システムがどのプラットフォームで実行されているか、または使用している開発言語に関係なく、これらのビジネス ロジックを呼び出すことができます。これにより、B2B 統合にかかる時間とコストが大幅に削減されます。

4. ソフトウェアとデータの再利用

Web サービスでは、コードの再利用と同時に、コードの背後にあるデータも再利用できます。 Web サービスを使用すると、以前のようにサードパーティからソフトウェア コンポーネントを購入してインストールする必要がなくなり、アプリケーションからこれらのコンポーネントを呼び出すだけで済みます。ソフトウェアの再利用のもう 1 つの状況は、複数のアプリケーションの機能を統合し、Web サービスを通じてそれらを「公開」することです。これらすべての機能をポータル サイトに簡単に統合し、統一された使いやすいインターフェイスをユーザーに提供できます。 サードパーティの Web サービスが提供する機能をアプリケーションで使用したり、独自のアプリケーションの機能を Web サービスを通じて他のユーザーに提供したりできます。どちらの場合も、コードとその背後にあるデータは再利用できます。

上記の説明からわかるように、Web サービスは、Web を介して相互運用またはリモート呼び出しを実行する場合に最も役立ちます。ただし、Web サービスがまったくメリットをもたらさない場合もあります。Web サービスには次のような欠点があります。

1. スタンドアロン アプリケーション

現在、企業や個人は依然として多くのデスクトップ アプリケーションを使用しています。それらの中には、単にマシン上の他のプログラムと通信する必要があるものもあります。この場合、Web サービスを使用せず、ローカル API を使用するのが最善です。 COM は小さくて高速であるため、この状況での作業に最適です。同じサーバー上で実行されているサーバー ソフトウェアについても同様です。もちろん、このような状況でも Web サービスを使用することはできますが、消費量が多すぎるだけでなく、メリットもありません。

2. LAN 上の一部のアプリケーション

多くのアプリケーションでは、すべてのプログラムが Windows プラットフォームで COM を使用し、同じ LAN 上で実行されます。これらのプログラムでは、SOAP/HTTP よりも DCOM を使用した方がはるかに効率的です。同様に、.net プログラムが LAN 上の別の .net プログラムに接続したい場合は、.net Remoting を使用する必要があります。実際、.net Remoting では、SOAP/HTTP を使用して Web サービス呼び出しを行うように指定することもできます。ただし、TCP 経由で直接 RPC 呼び出しを行う方がはるかに効率的です。

1.3. XML Web サービスのアプリケーション

1. オリジナルの XML Web サービスは、通常、株価、天気予報、スポーツのスコアなど、アプリケーションに簡単に組み込むことができる情報ソースです。

2. 既存のアプリケーションを XML Web サービスとして提供すると、より強力な新しいアプリケーションを構築し、XML Web サービスを構成要素として活用できます。

たとえば、ユーザーはさまざまなサプライヤーから価格情報を自動的に取得する調達アプリケーションを開発できます。これにより、ユーザーはサプライヤーを選択し、注文を送信し、商品を受け取るまで商品の出荷を追跡できるようになります。サプライヤーのアプリケーションは、Web 上でサービスを提供するだけでなく、XML Web サービスを使用して顧客の信用を確認し、代金を回収し、運送会社との運送手続きを行うこともできます。

2. Web サービス開発

.net プラットフォームには、Web サービスの構築と使用を含む、Web サービスのサポートが組み込まれています。他の開発プラットフォームとは異なり、.net プラットフォームを使用すると、Web サービスの開発を完了するために他のツールや SDK は必要ありません。 .net Framework 自体は、サーバー側の要求プロセッサやクライアントによる SOAP メッセージの送受信のサポートなど、Web サービスを完全にサポートしています。次に、Microsoft Visual Studio .net 20058 (以下、VS.Net 2008) を使用して、簡単な Web サービスを作成して使用する手順を説明します。

2.1.

を使用して最も単純な Web サービスを作成します。まず、VS2005 を開き、[ファイル]、[新しい Web サイト] の順に開き、[ASP.NET Web サービス] を選択します

Service.cs コードを表示すると、VS が見つかります。 .Net 2005 は、Web サービス ファイルのデフォルト フレームワークを確立しました。元のコードは次のとおりです:

コードをコピーします: using System;
using System.Web;
using System.Web.Services.Protocols; "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// ASP.NET AJAX を使用してスクリプトからこの Web サービスを呼び出せるようにするには、次の行のチェックを外してください。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
public Service () {
設計したコンポーネントを使用する場合は、次の行のコメントを解除してください
/ / InitializeComponent(); }
[WebMethod] public string HelloWorld()
{ return "Hello World";
System.Linq を使用 ;
System.Web を使用;
System.Services を使用;
System.Web.Services.Protocols を使用;
System.Xml.Linq を使用;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1) ]
/ / ASP.NET AJAX を使用してスクリプトからこの Web サービスを呼び出せるようにするには、次の行のコメントを解除します。
// [System.Web.Script.Services.ScriptService]
public class Service: System.Web.Services.WebService
{
public Service () {
// 設計したコンポーネントを使用する場合は、次の行のコメントを解除します。 /InitializeComponent();
}
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}

2.2. 単純な関数 Web サービスを作成します

上記の理解 実際、これは外部クライアントから呼び出すことができる関数を備えた外部インターフェイスです (注: クライアントから呼び出すことができない関数もあります)。私たちがサーバーの場合、Web サービスを作成してクライアントに渡します。 (そして、呼び出しルールを与えました)、クライアントがプロセスを理解していない (必要がない) 場合でも、クライアントはサーバーから情報を取得するときに比較的透過的な状態にすることができます。コード ファイルに関数を記述し、この関数を外部から呼び出し可能なインターフェイス関数にしたい場合は、関数に [WebMethod(Description="関数の説明情報")] というコード行を追加する必要があります。この宣言はユーザーによって参照されません。 次に、簡単な Web サービスの例を作成します。

まずデフォルトの HelloWorld メソッドをコメントアウトし、単純に加算、減算、乗算、除算の 4 つのメソッドを記述します。 コードは次のとおりです。
System .Web.Services を使用する;
System.Web.Services.Protocols を使用する
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo =) WsiProfiles.BasicProfile1_1 )]
// ASP.NET AJAX を使用してスクリプトからこの Web サービスを呼び出せるようにするには、次の行のコメントを解除します。

// [System.Web.Script.Services.ScriptService]

public class Service : System.Web.Services.WebService

{

public Service () {

設計したコンポーネントを使用する場合は、次の行のコメントを解除してください

/ / InitializeComponent(); _

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。