9

私は、クライアントのために SOA の土台を築くという任務を与えられました。目標は、エンドクライアントに依存しない方法でさまざまなプロセスを開放し、顧客を訪問する担当者などのためにデータをオフラインで利用できるようにすることです。

J2EE (Websphere) と Web サービスについて豊富な経験がありますが、そのような SOA を構築する方法についてアドバイスをいただければ幸いです。

落とし穴はどこにありますか?セキュリティはどうですか?サービスはどの程度細かくする必要がありますか? 等

チュートリアルやおすすめの書籍へのリンクも役立ちます。

ありがとう!

4

8 に答える 8

6

落とし穴

  • バージョン管理/下位互換性: クライアントが大量にあると、契約を変更するのは非常に難しくなります。URL にバージョンを導入することで、多くのサイトが API のバージョンを変更しているのを見てきました。

粒度

  • 各サービスは合理的に自己完結型である必要があります (必要なものを取得する前に 3 回の呼び出しを行うことを期待しないでください)。

プラットフォーム非依存

  • API にアクセスする複数の方法 (WS、JSON、REST...) を提供するようにしてください。
于 2008-09-24T07:44:12.247 に答える
4

私をSOA懐疑論者と呼んでください。ファウラーの嘆きは今でも正しいようです。

より一般的な問題に焦点を当てます。クライアントには、連携する必要のある2つ以上のアプリケーションがあります。古い学校の統合パターンを見てください。

EIP画像
(出典:amazon.com

于 2008-09-25T22:09:26.167 に答える
4

SOA が実際に何を意味するのかについて、人々は同意できません。

http://martinfowler.com/bliki/ServiceOrientedAmbiguity.html

(それが書かれて以来、コンセンサスが成長したかもしれませんが)

クライアントに質問して、彼らが何を意味しているのかを正確に知ることをお勧めします。次に、実際にビジネス価値を提供するものを提供し、その取り組みと一致する可能性のある SOA ボックスにチェックを入れます。

于 2008-09-24T08:29:35.803 に答える
3

この IBM Redbook (#sg246303 ) を見つけました。これは、SOA の基礎を紹介するのに非常に適しています。

于 2008-09-24T11:28:50.147 に答える
2

Alan が言ったように、私はEnterprise Integration Patterns の本を読み始めました。JMS などのメッセージング システムを直接使用するか、Apache Camelなどのオープン ソース プロジェクトを使用して実装する方法は多数あります。たとえば、パターン カタログを参照してください。

また、 Jerseyで JAX-RS を使用して優れた RESTful サービスを構築する方法を理解することも検討します。これは、SOAP/WS-* デススターに陥ることなく、任意の言語/プラットフォームから Web 上の誰にでも簡単にシステムのリソースを公開する簡単な方法です。 :)

于 2008-09-29T10:09:13.593 に答える
1

ESB (エンタープライズ サービス バス) を入手する: Mulesource は良い選択です (オープンソース、成熟しているが最先端)。それを理解すれば、SOA を理解できます。

于 2008-09-24T08:13:03.177 に答える
1

目標は、エンドクライアントに依存しない方法でさまざまなプロセスを開放し、顧客を訪問する担当者などのためにデータをオフラインで利用できるようにすることです。

その後半は実際には SOA のトピックではなく、モバイル デバイスへの複製の問題です。私は、バズワードを実装しようとすることから遠く離れて、あなたが述べている問題に焦点を合わせます. Web サービスは、プロセスをクライアントに依存しない方法に開放する良い方法です。

于 2008-09-24T16:54:02.847 に答える
0

これまでのところ、私が見つけた最高の本は、 Amazonでも入手できるSOAコンパスです。

于 2012-05-08T08:31:02.153 に答える