問題タブ [distributed-system]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 「分散単体テスト」のフレームワークまたはツールは?
Java で書かれた分散ソフトウェアのテストを容易にするツールやフレームワークはありますか? テスト対象のシステムはピアツーピア ソフトウェアであり、PNUnitなどを使用してテストを実行したいと考えていますが、.Net ではなく Java を使用しています。
テスト対象のシステムは、P2P アプリケーションを構築するために私が開発しているフレームワークです。JXTAを下位サブシステムとして使用し、その複雑さを隠そうとします。現在は学術的なプロジェクトなので、現時点ではシンプルさを追求しています。
私のテストでは、ピア (独自のプロセスで、場合によっては複数のスレッドで実行されている) が別のピア (別のプロセスまたは別のマシンで実行されている) を検出し、いくつかのメッセージを交換できることを実証したいと考えています。両方の側が同時に動作するのを確認する必要があるため、モックもスタブも使用していません。なんらかの調整メカニズムが必要であることを認識しており、PNUnit はそれを実行できるようです。
私はPiscesのようないくつかのイニシアチブに出くわしました。「JUnit を拡張する分散テスト環境を提供することを目的としており、開発者/テスターがリモート JUnit を実行し、並行して実行される複数のリモート JUnit テストで構成される複雑なテスト スイートを作成できるようにします。またはシリアル」ですが、このプロジェクトと私が見つけた他のいくつかは、長い間死んでいるようです.
java - Java Swing アプリケーションをクライアント サーバー アプリケーションにするにはどうすればよいですか?
Java Swing アプリケーションを作成しました。ここで、それをクライアント サーバー アプリケーションにしたいと思います。サーバー上のデータが変更されたときにすべてのクライアントに通知する必要があるため、Web サービスを探しているわけではありません。クライアント サーバー アプリケーションは単一の LAN 上で実行されます。これはビジネス アプリケーションです。サーバーには、データベース JavaDB が含まれます。
どのテクノロジーとライブラリーから始めるのが最も簡単ですか? ソケットを使用してゼロから実装する必要がありますか?それとも Java RMI または JMS を使用する必要がありますか? または、開始しやすい他の代替手段はありますか?
また、使用する必要があるサーバー ライブラリはありますか? Jetty は代替手段ですか?
database - 分散トランザクションにおける完全性と機密性
分散トランザクションについて質問があります。私が3つのトランザクションプログラムを持っていると仮定しましょう:
トランザクションA
- 始める
- a = read(A)
- b = read(B)
- c = a + b
- write(C、c)
- 専念
トランザクションB
- 始める
- a = read(A)
- a = a + 1
- write(A、a)
- 専念
トランザクションC
- 始める
- c = read(C)
- c = c * 2
- write(A、c)
- 専念
したがって、重要な操作には、C2-A5、A2-B4、B4-C4、B2-C4、A2-C4の5つのペアがあります。
私は完全性と機密性を確保する必要があります、あなたはそれを達成する方法について何か考えがありますか?
前もって感謝します!
distributed-system - 旅行ソフト。それはコンセプトですか?
計算リソース/ノードを占有したり解放したりして、惑星全体を移動することを目的としたプログラムが存在するかどうかを尋ねたいと思います (たとえば、いくつかの物理的な力をたどる)。文字通り、一部のエージェントベースのシステムは、その場所と (必然的にある程度) 構成を定期的に変更していることを意味します。
たとえば、外部センサーがあり、空間全体に自由なコンピューター (ノード) があるとします。センサーからイニシャライザを追跡するためにエージェントを自己複製することは理にかなっていますが、物理的なビジネスが行われている場所でのみ計算がローカライズされるような制限的な方法で行われます。
この質問は単に「理論的な」楽しみのためのものであることを強調したいと思います。なぜなら、「時代遅れの」(置き去りにされた?) エージェントの処分の最適化を除けば、言及された制限の実際的な利点は見当たらないからです。でも、もしかしたら興味を惹かれるかもしれません。ありがとうございました!
編集: ウイルスが適切な例であることは明らかですが、そのようなエージェントの削除が開発者の関心事になることはめったにありません。より正確には、「旅行」ソフトウェアに興味があります。つまり、エージェントの数 (または少なくとも順序) が一定であり、移動するのはシステム全体です。
parallel-processing - MPI ラージ データの全対全転送
MPI の私のアプリケーションには、大きなデータを生成するプロセスがあります。N+1 プロセス (マスター コントロール用に 1 つ、その他はワーカー) があるとします。各ワーカー プロセスは大きなデータを生成し、ファイル 1、ファイル 2、...、ファイル N という名前の通常のファイルに単純に書き込みます。各ファイルのサイズはかなり異なる場合があります。次のジョブを実行するには、すべての fileM をランク M プロセスに送信する必要があります。これは、すべてのデータ転送と同じです。
私の問題は、MPI API を使用してこれらのファイルを効率的に送信する方法です。以前は Windows 共有フォルダーを使用してこれらを転送していましたが、それは良い考えではないと思います。
MPI_file と MPI_All_to_all について考えてみましたが、これらの関数は私の場合にはあまり適していないようです。単純な MPI_Send と MPI_Recv は、すべてのプロセスが大量のデータを転送する必要があるため、使用するのが難しいと思われます。分散ファイル システムは今のところ使用したくありません。
performance - Webアプリケーションテストフレームワークの提案
Webアプリケーションテストフレームワークの経験が豊富な人はいますか?現在、C#、ASP.NETなどで記述されたアプリケーション用に1つを選択していますが、フレームワークは何でもかまいません(もちろん、C#で記述されたものを選択することが何らかの形で役立つ場合を除きます)。
アプリケーションが配布されます。私たちが(理想的には)欲しいのは:
- 個々のコンポーネントのテスト(〜ユニットテスト)から、段階的に大きくなるパーツ、システム全体まで拡張できるもの。
- タイムスタンプ付きのログ、測定値などを収集し、問題が発生したときにズームインするのに役立つもの。
- さまざまなスキルレベルの開発者が簡単にスクリプト化できます。
distributed - 分散コンピューティングの研究に関する質問/トピックを開きますか?
ねえ、
私は最近、Lamport、Fischer、Lynch、Brewer の多くの論文を読み、分散システムに対する彼らの見解を感じ取っています。
私は、現在のオープンな分散コンピューティングの研究の質問/トピックは何ですか? データベース、通信、フォールト トレランス、数値処理などの多くの分野が、かなり手堅い手で取り組まれているようです。
新しい分野は何だと思いますか。過去に誰かが考えたのに、それが不可能になり、今では可能になったのかもしれません。グラフ アルゴリズム/データベース/分析のようなトピックですか?
また、分散システムに関する必読の論文のヒントがあれば教えていただければ幸いです。また、インスピレーションを維持するために、より「SF」になることもあります。
programming-languages - 分散システム向けプログラミング言語
私はしばらくの間、C++ でソケット プログラミングを行ってきましたが、エラーの処理、データのシリアル化/逆シリアル化などのために同じコードを書かなければならないことにうんざりしていました。
分散システムを最高レベルでサポートするプログラミング言語はありますか?
networking - ネットワーク トラフィックの分析
ネットワークの動作を識別する最良の方法は何ですか?? ポート/インターフェースおよびルーターの動作は? データを取得してトラフィックを分析することはできますが、意味のある分類のパターンを検索しようとしています。どんな助けでも感謝します。
ありがとうございました
java - 配布された証明書を使用して Axis2 XML 署名を生成する方法
多少問題があります。
情報を補完し、外部システムにリクエストを送信できるようにする Web サービスと対話する集中型インターフェイス エンジンがあります。これをこのプロバイダーからの必要なセキュリティと統合する必要があるまでは、これはすべて問題ありません。
彼らは、ソフトウェアがそのシステム (Web サービス) と対話するためにエンド ユーザーが使用する必要があるスマート カード (usb キー) を介して配布される証明書を発行します。彼らは、(場合によっては複数の) 署名がエンドユーザーの USB キーの証明書に対して行われることを主張します。もちろん、秘密鍵はパスワードで保護されています。
最終的にこれらすべてを処理する Axis2 を、エンドユーザーのコンピューターにある証明書に接続するにはどうすればよいですか。
システムはほとんどが Delphi 5 の従来のシック クライアント アプリケーションであり、インターフェイス エンジンは主にデータベースと対話します。これで、単純な TCP ソケットを介してエンド ユーザーのステーションをインターフェイス サーバーに効果的に接続するコードを接続することができました。
----編集----
CXF (Axis から変更) 内のカスタマイズされた署名インターセプターを使用してソリューションを実装しました。このソリューションは、メッセージの内容を署名プロキシに転送し、署名プロキシは、元の要求が発生したユーザー対話型セッションで実行されている適切な署名サービスを見つけて接続します。
Eugene の回答を受け入れました。なぜなら、彼が指定したコンポーネントを使用しなかったにもかかわらず、彼の提案の一般的なガイドラインに従ったソリューションを実装したからです。
USB トークンが原因で、署名がユーザー対話型セッションで行われなければならないという事実を回避することはできません。従来のシステムを使用していたことと、システムを共有環境 (リモート デスクトップ サーバー) で動作させる必要があったため、追加の制約が課せられました。可能性はありますが、Web サービス フレームワークや暗号化ライブラリによって自然にサポートされているわけではありません。