2

これは質問そのものではなく、Ruby プログラムを Java プログラムで動作させる方法について知りたいことのリストのようなものです。

ここに問題があります: 私たちは 2 つのチームを持っています。1 つは Java で動作し、コードとモジュールを Java で実装します。Rubyでも同じことをします。私たちは一連の共通インターフェースを持ち、Ruby プログラムで彼らのコードを使用し、彼らは Java プログラムで私たちの Ruby コードのいくつかを使用することになっています。

これら 2 つのモジュールを接続して 1 つの共通モジュールを作成する際に留意すべき点は何ですか? これは、率直な答えというよりも、ガイドまたは一連のガイドラインのようなものになると思います。ですから、この質問を報告したり閉じたりしないでください。ありがとうございました!

アップデート:

はい、RESTful サービスを使用します。コーディングのヘルプは一切必要ありません。私が欲しいのは、モジュールを 2 つの異なる言語でコーディングし、それらを共通のインターフェースで相互接続した経験から得られる貢献だけです。

私が知りたいのはそれだけです。これは確かに私のクラスのプロジェクトですが、他の人にも役立つように、どこかにガイドラインがあるとよいと思いました。

4

2 に答える 2

3

あなたが説明した状況では、Ruby コードが Java と直接相互運用できるように、JRuby を使用する傾向があります。また、JSON などを使用してシステムの Ruby/Java 部分がソケットを介して通信するようにすることもできますが、それを行うにはパフォーマンス コスト複雑さのコストがかかります。(パフォーマンス ヒットが実際に違いを生むかどうかは、Ruby/Java 部分間のインターフェイスがどの程度「きめ細かい」か、つまり、1 つの要求を処理するために Ruby から Java または Java から Ruby への呼び出しがいくつ必要かによって異なります。 )

JRuby では、JAR ファイルを読み込んで、そこに定義されている (Java) クラスを Ruby クラスのように使用できます。逆に、JRuby を「ライブラリ」のように Java アプリケーション内から使用して、Ruby コードを評価することもできます。

おそらく、1) Java で「メイン」アプリケーションを作成し、メイン アプリケーションが呼び出す「ライブラリ」として Ruby パーツを作成するか、2) Ruby でメイン アプリケーションを作成し、Java パーツをライブラリとして作成する必要があります。Java コードから Ruby へ、そして Ruby から Java への循環依存関係がある場合、コードベースが理解しにくくなります。

于 2012-10-29T20:10:42.667 に答える
1

これは大きな問題なので、具体的な方法については説明しません。これを行う方法については、アイデアを提供できます。あなたがウェブアプリケーションについて尋ねていると仮定すると...

  • データベース側の Java ベースの Web アプリケーション
  • Java ベースの Web アプリケーションには、実際にはクライアントの「ビュー」がありません。従来の css、html ビューは生成されません。
  • 代わりに、URL に基づいて JSON オブジェクトを作成しました
  • Rails は JSON オブジェクトをデータベースからのデータであるかのように使用します。それらからモデルを作成できます。
  • 基本的に、Rails は、データベースにアクセスする必要があるたびに、Java ベースの Web アプリに対して API 呼び出しを行っています。
  • これの大きな欠点は、ActiveModel、ActiveRecords など、Rails に付属するすべての機能を使用できなくなることです。
  • アップサイド?複雑なデータベース クエリの速度が向上する可能性があります

これは基本的に、Twitter や Amazon などの企業が、フロントエンドで Rails を使用し、バックエンドで Java を使用すると言うときに行うことです。しかし、繰り返しになりますが、これは大規模な取り組みであり、その費用と利益について必ず検討する必要があります。

于 2012-10-29T19:25:06.557 に答える