3

私は、SOAP、肥大化、XML、およびRESTのような代替メカニズムについてSOについてすでに多くの議論があることを知っています。

これが状況です。新しいチームメンバーは、プロトコルを手動で実装することの難しさに基づいて、SOAPについて実際に話し合っています。彼はgSOAPを推奨しています(プロジェクトはすべてC ++です)。彼は、WSDLが多くの厄介な手書きのC++をクリーンアップするようなことを述べています。

現在、私はXMLベースのテキストメッセージとexpatXMLライブラリを使用してほとんどのネットワークを処理しています。そのため、メッセージ形式の変更やパラメータリストへの追加に関連するプログラミング作業(それほど多くはありません)があります。送信者側で、XML要求をパッケージ化し、それを単純な古いTCPソケットを介して送信します。受信者では、DOMまたはSAXを使用してXMLを解析します。などこれまでは問題なく動作しました。XMLメッセージは非常にコンパクトで、平均して最大で数百文字です。そして、私はそれらのメッセージのすべての項目を理解しています。

PHPを使用してコード化されたWebサイトから製品の一部(サーバー)にアクセスできるようにする必要があります。これは、SOAPインターフェイスがスクリプト作成者にとって「より簡単」になるというこの考えを部分的に推進しています。このプロジェクトの誰もがSOAPが彼らの救いであると信じています。

gSOAPのような新しい大規模なライブラリの導入は、成熟したプロジェクトの勢いを大きく損なうものだと思います。

私が疑問に思っているのは、SOAPが提供するものを実行するための別のよりコンパクトな方法があるかどうかです。そして、gSOAPまたは他のSOAPツールの主張のバランスを取り、ハードリアリティに対して開発作業を容易にする方法。

IE、XMLライブラリを使用してC ++を手動でコーディングするよりも、WSDLの方が優れていて、簡単で、より巧妙であると言われています。C++オブジェクトのセマンティクスをネットワークメッセージの宣言に直接配置すること。重要なのは、私が定義したXMLメッセージの多くは、受信側で1対1を1つの別個のオブジェクトにマップしないということです。

または、何も心配していない可能性があります。

しかし、ここでメッセージをスキャンするときの現実は、私が地元で言われたことと矛盾しているようです。

4

4 に答える 4

5

私はSOAPを購入していません。

Simple Object AccessProtocolのDonBoxの当初のビジョンは、今では単純ではありません。それは肥大化した、委員会の混乱による設計になりました。

肥大化したライブラリへのすべての追加の依存関係を投入すると、手に混乱が生じる可能性があります。

ツールベンダーはSOAPが大好きですが、他の人にはあまり見かけません。

于 2009-10-17T17:52:47.727 に答える
3

PHP開発者はRESTfulインターフェースを好む傾向があることがわかると思います。これはそれについての2003年の記事です。

http://onlamp.com/pub/a/php/2003/10/30/amazon_rest.html

RESTfulインターフェースは成長している現象であり、開発者をプラットフォームに引き付ける必要がある場合は、波に乗れば簡単になります。

そうは言っても、複数のインターフェースをサポートできないのには十分な理由がありますか?これは、キャプティブオーディエンスを持たないWebサービスではかなり一般的です。従来のモデル、クリーンなRESTfulモデル、SOAP/WSDLモデルをサポートできます。次に、6か月から1年後に在庫を取り、どのモデルが最も人気があり、サポートするのに最も手間がかからないかを確認します。

サイトを部外者がよりアクセスしやすくすることになると、RESTはより広く使用されています。プロジェクトを保存する限り、SOAPはインターフェイス設計にある程度の厳密さを要求するため、これを行う可能性がありますが、RESTについても同じことが言えます。これが重要な基準である場合は、おそらく手作業でコーディングされたXMLを放棄し、RESTとSOAPの両方として実装できる高レベルのインターフェイス設計を採用する必要があります。

SOAPとRESTは根本的に異なるアプローチであると信じている人もいますが、インターフェイス設計にRESTfulなアプローチを採用すれば、SOAPバージョンの作成に大きな問題はないはずです。ただし、逆にしないでください。

于 2009-10-17T18:50:55.347 に答える
1

これがSOAPの古典的で陽気なデバンキングです-「S」はSimpleの略です。私が引っ越したコミュニティは完全にRESTに変換されています。

于 2009-10-17T18:28:57.280 に答える
0

ネット上のRESTfulインターフェースを見回すと、SOAPがほぼ普遍的に回避されていることに気付くでしょう。SOAPは非常に複雑な獣であるため、SOAPパッケージを自分で実装する人はいないため、既存のSOAPパッケージがない言語を効果的にロックアウトします。一方、生のXMLは現時点ではかなり普遍的であり、必要に応じて社内で実装することはそれほど難しくありません。

于 2009-10-17T18:25:04.800 に答える