2009-07-09 8 views
0

Javaでモジュラー開発をお勧めしますか? OSGIは素晴らしいですが、JPAのサポートは悲しいです。私は本当に別のフレームワークを書く必要はありませんが、避けられないようです。モジュラー開発

答えて

0

JPGのOSGIではサポートが不足しているとは言えませんが、OSGIクラスローダーのJPA実装ではサポートが不足しています。とにかく私は逃げる。

OSGIでOpenJPAを使用すると成功するかもしれません。最新バージョンはすでにOSGIバンドルとしてパックされています。 Apache FelixでOpenJPAを動作させる方法について説明しているlinkも残します。

+0

おかげでミル、リンクは私の問題を解決しました。 – Nico

5

モジュラー開発への最良のアプローチ:最初に、後で、リファクタリングすることがよくあります。思考に取って代わることのできるフレームワーク/ライブラリは世界中にありません。

+0

「最初に考えてください。後でコードを書き換えてください。」 - 私の新しいマントラ。ありがとう。 – Nico

1

あなたが達成したいことを考え、可能な限り技術から切り離された概念を維持してください。次に、達成しようとしているものに適合する技術を探すことを試みます。必要なものを満たすテクノロジ/ツール/フレームワークがない場合は、再考し、真ん中のどこかでコンセプトと実装を満たす場所を見つけてください。

0

質問に対する回答は、作成しているアプリケーションによって大きく異なります。 Java EE、ESB、およびOSGiはすべて、特定の問題に対するモジュール化された適切な展開方法です。

エンタープライズサービス指向のソフトウェアとプラグイン可能なクライアントアプリケーションは、ソリューションが異なる非常に異なるアプリケーションです。

私は現在、バックエンド用のJava EEデプロイメント・サービスと、それらのサービスを使用するEclipse/OSGiベースのリッチ・クライアントを使用するプロジェクトで作業しています。バックエンド・サービス(Java EE)、クライアント・ベースのサービス(純粋なOSGi)、UIコンポーネント(Eclipseプラグイン)の間では、設計とデプロイメントはかなりモジュール化されています。

これらのテクノロジのいずれかを克服する最大の要因は、アプリケーションが制約内で動作するようにアプリケーションを適切に動作させて設計する方法を理解することです。すでに述べたように、クラスローディングは、これらの環境で複雑なアプリケーションを使用する場合には非常に一貫した問題ですが、これらの問題を前もって理解することで、ソフトウェアをそのテクノロジに合わせて適切に設計することができます。

Springのようなフレームワークを使用すると、基本となるテクノロジへの依存をなくすことができますが、独自の機能を利用できるようになります。

0

OSGiが今日のJava EEの主流だと思います。モジュラーアプリケーションを構築するのは正しい選択です。はい、プラットフォームの成熟度と受け入れにはいくつかの問題がありますが、コミュニティの取り組みを見てみましょう(SpringSource、Eclipseなど)。実装はオープンソースであり、多くのIDEがOSGi開発をサポートしています。今日存在している制限があっても、独自のフレームワークを開発するのではなく、OSGi実装の1つを採用することをお勧めします。

関連する問題