Javaでモジュラー開発をお勧めしますか? OSGIは素晴らしいですが、JPAのサポートは悲しいです。私は本当に別のフレームワークを書く必要はありませんが、避けられないようです。モジュラー開発
モジュラー開発
答えて
JPGのOSGIではサポートが不足しているとは言えませんが、OSGIクラスローダーのJPA実装ではサポートが不足しています。とにかく私は逃げる。
OSGIでOpenJPAを使用すると成功するかもしれません。最新バージョンはすでにOSGIバンドルとしてパックされています。 Apache FelixでOpenJPAを動作させる方法について説明しているlinkも残します。
モジュラー開発への最良のアプローチ:最初に、後で、リファクタリングすることがよくあります。思考に取って代わることのできるフレームワーク/ライブラリは世界中にありません。
「最初に考えてください。後でコードを書き換えてください。」 - 私の新しいマントラ。ありがとう。 – Nico
あなたが達成したいことを考え、可能な限り技術から切り離された概念を維持してください。次に、達成しようとしているものに適合する技術を探すことを試みます。必要なものを満たすテクノロジ/ツール/フレームワークがない場合は、再考し、真ん中のどこかでコンセプトと実装を満たす場所を見つけてください。
質問に対する回答は、作成しているアプリケーションによって大きく異なります。 Java EE、ESB、およびOSGiはすべて、特定の問題に対するモジュール化された適切な展開方法です。
エンタープライズサービス指向のソフトウェアとプラグイン可能なクライアントアプリケーションは、ソリューションが異なる非常に異なるアプリケーションです。
私は現在、バックエンド用のJava EEデプロイメント・サービスと、それらのサービスを使用するEclipse/OSGiベースのリッチ・クライアントを使用するプロジェクトで作業しています。バックエンド・サービス(Java EE)、クライアント・ベースのサービス(純粋なOSGi)、UIコンポーネント(Eclipseプラグイン)の間では、設計とデプロイメントはかなりモジュール化されています。
これらのテクノロジのいずれかを克服する最大の要因は、アプリケーションが制約内で動作するようにアプリケーションを適切に動作させて設計する方法を理解することです。すでに述べたように、クラスローディングは、これらの環境で複雑なアプリケーションを使用する場合には非常に一貫した問題ですが、これらの問題を前もって理解することで、ソフトウェアをそのテクノロジに合わせて適切に設計することができます。
Springのようなフレームワークを使用すると、基本となるテクノロジへの依存をなくすことができますが、独自の機能を利用できるようになります。
OSGiが今日のJava EEの主流だと思います。モジュラーアプリケーションを構築するのは正しい選択です。はい、プラットフォームの成熟度と受け入れにはいくつかの問題がありますが、コミュニティの取り組みを見てみましょう(SpringSource、Eclipseなど)。実装はオープンソースであり、多くのIDEがOSGi開発をサポートしています。今日存在している制限があっても、独自のフレームワークを開発するのではなく、OSGi実装の1つを採用することをお勧めします。
- 1. モジュラーiOSアプリ
- 2. jqueryモジュラーajaxコール
- 3. MVCモジュラーGUIコンポーネント
- 4. モジュラー約束とPromise.all()
- 5. GITリポジトリ上のモジュラーJavaアプリケーション
- 6. Capybara-Poltergeist角型モジュラーLinux用
- 7. XML用のモジュラー方法
- 8. 春のモジュラーMVC Webアプリケーション
- 9. テンプレート付きCodeIgniterモジュラーCMS
- 10. Aureliaのモジュラー依存関係登録
- 11. モジュラー算術の時間複雑度
- 12. モジュラーJSで約束を使用
- 13. リアクションとウェブパックのモジュラー型サードパーティウィジェット2
- 14. 角とカルマのインジェクター:モジュラー - テンプレートクリップ-2
- 15. モジュラーjsでグローバル変数を扱う
- 16. 柔軟なモジュラーUIオリエンテーション変更
- 17. rxjsモジュラー輸入バンドルサイズ(webpack2/angular2 CLI)
- 18. バニラCSSとモジュラーCSSの違い
- 19. pythonコードをモジュラー・パイソンに変換する
- 20. iPhone開発開始
- 21. GAE開発 - 開発環境セットアップ(HotSwap)
- 22. Web開発とデスクトップ開発のASP.net
- 23. Android用開発とIOS用開発
- 24. 開発のための開発完了
- 25. 開発者と非開発者の間でios開発を共有する
- 26. iOS開発者(obj C)のQt/C++開発の開始
- 27. Gmailサイドバーガジェットの開発、開始
- 28. インストール開発IOS-展開ツールエラー
- 29. Shaderの開発開始
- 30. レーシングゲームの開発を開始
おかげでミル、リンクは私の問題を解決しました。 – Nico