0

私は、Camel 駆動型バックエンド (SOA) のエンドポイントとルートを頂点とエッジのグラフとしてモデル化しようとしている Java 開発者です。

たとえば、ActiveMQ キューで開始し、そのメッセージをデキューして JavaBean に渡し、メッセージが最終的にデータベースに消費される Web サービス エンドポイントに渡す Camel ルートがあるとします。 3 つの接続されたエンドポイント (「頂点」) のルートがあります。

  • ActiveMQ キュー
  • JavaBean
  • ウェブサービス

さらに、2 つの個別のルート (「エッジ」) がこれらの頂点を接続します (キュー -> Bean および Bean -> Web サービス)。

JUNG2 のedu.uci.ics.jung.graphパッケージを見ると、多くのグラフ タイプがあります。

  • 抽象グラフ
  • AbstractTypedGraph
  • デリゲートフォレスト
  • デリゲート ツリー
  • DirectedOrderedSparseMultigraph
  • DirectedSparseGraph
  • DirectedSparseMultigraph
  • グラフデコレータ
  • ObservableGraph
  • 順序付けられたKaryTree
  • OrderedSparseMultigraph
  • SetHypergraph
  • SortedSparseMultigraph
  • スパースグラフ
  • スパースマルチグラフ
  • UndirectedOrderedSparseMultigraph
  • 無向スパースグラフ
  • UndirectedSparseMultigraph

JUNG2 (および/または一般的なグラフ構造) に精通している人がいる場合、Camel エンドポイント/ルートをグラフとして表現する方法について、このリストに「明確な勝者」はいますか?

javadocs はかなりあいまいで、これらのオブジェクトを Google/Wikipedia で調べると、完全には理解できない多くの筋金入りのグラフ理論が生まれます。

4

2 に答える 2

0

キャメルを知っている人を除いて、あなたは実際にあなたの要件を説明していません(私はしません)。ただし、有向関係を持っているように聞こえるので、DirectedGraphが必要になります。また、さまざまなクラスの関係があるように思えます。すべてのクラスの関係を単一のグラフで表すのか、複数のグラフで表すのかは私にはわかりません。また、2つの頂点を複数のエッジで接続できるかどうかもわかりません(接続できる場合は、マルチグラフが必要になります)。

于 2012-04-24T04:20:28.400 に答える
0

グラフを使用してサービス ホップをモデル化し、その上に独自の実行エンジンを配置したいようです。これには、(a) サービス オーケストレーションの設計がより自然であり、(b) 多数の複雑なオーケストレーションに対して実行時のパフォーマンス効率が実現されるという点で、既存の ESB よりも利点があります。

このようなものについては、有向グラフで十分なはずです。少なくとも、より複雑なものの使用例ができるまでは。特にオーケストレーションが動的である場合、順序付けと並べ替えはあまり役に立ちません。

あなたがこれをどのように進めたのか興味があります...

于 2012-11-17T02:09:57.740 に答える