0

私のgrailsアプリ(Grailsドメインクラスとサービス)のデータアクセス部分を別のgrailsアプリと共有したいと思います。1つは標準のクライアント向けWebアプリで、もう1つ(まだ作成されていません)は、Quartzプラグインなどを使用したリマインダーメールなどの定期的なバックグラウンドタスク用であり、UIは内部ユーザーの統計/制御専用です。

これらをすべて1つのGrailsアプリケーションにバンドルしたくないのは、それらをスケーリングして別のマシンで実行できるようにするためです。これを行うための適切な方法は何ですか?私は過去に、共有データアクセスクラスを.jarにバンドルし、必要に応じて複数のアプリに含めることで、より多くのレガシーJava Webアプリケーションでこれを実現しましたが、これがGrailsにとって正しいアプローチであるかどうかはわかりません。

3番目のgrailsアプリケーションがすべてのデータアクセスを担当し、説明されている2つがこのサービスアプリへのREST呼び出しを介してすべてのデータアクセスを行う、本格的なサービス指向アーキテクチャを検討しましたが、これは短期的には範囲外です。クライアント向けのwebappはすでに作成されています。

4

1 に答える 1

4

通常、これはプラグインを介して行われます。アプリ間で共有するドメインクラス、サービス、コントローラー、さらにはデフォルトのgspを作成し、プラグインとして作成します。そうすれば、その動作を必要とする任意のGrailsアプリにそれらをインストールできます。

これは、売掛金や買掛金など、私が作成するアプリでかなり一般的な一般的な会計タイプの動作を使用して行いました。

プラグインを作成し、テストデータソースを使用して個別にテストできることは素晴らしいことです。その後、プラグインをGrailsアプリにインストールすると、アプリのデータソースが使用されます。また、実際のアプリでオーバーライドできる基本的な動作セットを提供するデフォルトのgspとコントローラーがあります。

于 2012-04-28T23:24:35.400 に答える