Java Enterprise アプリケーションから C/C++ とやり取りする必要があります。Node/Cell 情報を収集できるクラスを作成したいと思います。これにより、C++ から、呼び出し元のファイル システム内の JAR を追跡できるようになります (権威的に)。アプリケーションに関するこの種の情報を提供する、利用できる特定の Java ライブラリはありますか? 理想的には、次のようになります: (EnvProvider と呼びましょう)
- Java アプリが EnvProvider を呼び出す
- EnvProvider は、それを呼び出した Java アプリケーションに関する情報を収集します
- EnvProvider は、ラップされた C++ (CORBA、SOAP でしょうか?) を呼び出し、この情報を渡します。
- C++ トレースは、filsystem を呼び出し元のアプリにバックアップし、アプリケーションの呼び出し元とされる実際の JAR ファイルを調べます。
些細なことのように思えますが (ここではわずか 4 つのステップで概説しています)、これまでの調査から、Java アプリケーション自体から Java アプリケーションに関する十分な情報を取得する良い方法はないようです。「十分な」情報とは、C++ に十分な情報を与えて、ファイル システムを調べ、デプロイされた EAR、JAR、WAR を見つけるのに十分な情報を意味します。
あなたが提供できる情報は、非常に高く評価されます!
よろしく
チャド
*編集*
キムさん、返信ありがとうございます。この特定のトレースを取得する必要がある理由を少し説明しましょう。
私は C/C++ で書かれた暗号化ライブラリに取り組んでいます。これらは私の前任者 (私が働いている場所) によって書かれたもので、非常によくテストされています。ただし、それらは単なる暗号化以上のものを提供し、それに含まれるアルゴリズムは独自のものであり、安全を維持する必要があります. Java は簡単に逆コンパイルされるため、Java で同じものを実装することはできません。実際、私の前任者は (当然のことながら) C/C++ ソースを難読化するために多大な努力をしました。これらのライブラリは、シェル、ネイティブ C/C++ バイナリ実行可能ファイル (.exe など)、および呼び出しが (ほとんど) 完全に含まれるアプリケーションから来る他のアプリケーションでうまく機能します。このソースは、それを呼び出すアプリケーションが実際に信頼できるアプリケーションであることを確認する方法を提供します (コード署名に似ていますが、
私はこの機能をエンタープライズ Java アーキテクチャに拡張しようとしています。そのためには、デプロイされた WAR または EAR に到達することを意味する場合でも、呼び出し元に戻ることができる必要があります。 app がパッケージ化されているので、C/C++ ソースでソース ファイルを使用できます。したがって、呼び出しがアプリケーション A からのもので、アプリケーションが App_A.EAR にデプロイされている場合、その情報を取得して C/C++ を呼び出し、その EAR までさかのぼって操作したいと思います。混乱を招くように聞こえるかもしれませんが、申し訳ありませんが、(行動の問題として) ファイル (.exe または JAR/WAR/EAR) の使用目的の大部分を省略しています。
ご協力いただきありがとうございます。
*編集*
チャド