8

私はSOAについて読んでいるところですが、サービスレジストリ/UDDIについては定期的に言及されています。いい感じですが、実際にはどのように使われていますか?

  • レジストリは、論理サービスをその物理的な実装(ポート、URLなど)から切り離すことを目的としていますか?
  • レジストリは、遊ぶための興味深いサービスを探している人間が閲覧することを目的としていますか?
  • アプリケーションを使用するサービスに配線するのは「間違っている」でしょうか?
4

3 に答える 3

10

実用的というよりも、理論的に役立つと思います。これはめったに実装されず、めったに使用されません。実際には、DNS は、ネットワーク上のリソースの場所を把握するための十分な抽象化ツールを提供します。

于 2008-09-24T16:50:46.363 に答える
4

サービス レジストリは、利用可能なすべてのサービスに関する情報を格納および公開します。主に、それらのインターフェイスの説明と現在の URI (IP、ポートなど) です。このようにして、アプリケーションはレジストリに必要なサービスを要求するだけで、適切なサービス実装の詳細を取得して接続できます。

サービスのレジストリを取得する方法は UDDI だけではありません。ただし、UDDI は Web サービスのみを対象としているため、SOA が Web サービスのみで構成されている場合にのみ役立ちます。

1) 正しい。

2) いいえ、実際には人間の目用ではありません。確かに、ディレクトリを参照するためのツールがありますが、それらは主にレジストリが必要なサービスを取得しているかどうかなどを調べるためのものです。実際の使用は、アプリケーション/サービスとレジストリの間で直接行われます。

3) それはあなたが達成したいことによります。SOA を構築したい場合、これは SOA の疎結合パラダイムと矛盾するため、それは「間違っている」と考えます。これがあなたの唯一のサービスであり、それを使用する唯一のアプリケーションであり、サービスがそのURIを変更しない可能性が高い場合、それを配線することに間違いなく問題はありません-しかし、おそらくこのサービスを分離する必要はありません:)

于 2008-09-24T12:27:25.763 に答える
1

マルチキャストを使用してサービスを発見するのはどうですか? jgroups や SLP を使用するのが好きですか? すべてのサービスが互いを検出し、必要なサービスをプロキシに挿入します。次に、実際のトランスポート実装の上に抽象化を構築します。(例: rest、soap、rmi)

于 2009-05-04T09:10:23.523 に答える