2012-04-07 4 views
3

私は基本的に安らかなWebサービス提供のjsonメッセージであるWebアプリケーションを構築したいと思います。できるだけシンプルにしたいと思います。サーブレット(注釈付き)の使用について考えていました。データベース層としてのJPAは、ToplinkまたはHibernateの必須項目です。 Tomcatに取り組んでいることが好ましい。私は、異なる機能(認証サービス、顧客サービスなど)を提供するモジュールに分割されたアプリケーションを持っていたい。そして、私はサーバー上にアプリケーション全体を再インストールせずにこれらのモジュールを更新できるようにしたいと考えています - Eclipseプラグインのように、ユーザーは(WebappのホームURLを入力すると)更新が利用可能であることを通知され、クリックして、 。OSGI、Servlets、JPA hello world/tutorial/example

私はこの機能をOSGIで作ることができると思いますが、jpaを通じてデータベースからデータを提供する単純なhello world updatableサーブレットを使ってサンプルコードやチュートリアルを見つけることができません。

私はアドバイスをお探ししています: - OSGIはこれに適したツールですか、それとも簡単なものでできますか? - このプロジェクトに必要なトピック(またはトピック)の例をいくつか見つけることができます。 - どのOSGI実装がこのタスクにとって最もシンプルであるか。

*私のOSGIに関する知識は基本的なものです。私はバンドルがどのように記述されているのか知っています。私はOSGIコンテナの概念とその動作を理解しています。私はまだOSGIアプリケーションを作成したことがありません。

答えて

4

私はOSGiは、あなたが説明しているものに適していると思う、はい。サーブレットとJPAをミックスに追加すると、エンタープライズOSGiと呼ばれるものを使用して、コアOSGiの上にある機能のレイヤーを使用して、探しています。 Apache AriesとEclipse Geminiの2つの主な実装があります。これらはApache Geronimoなどのさまざまなサーバーにあらかじめ統合されているか、独自のスタックをロールバックすることができます。 (私は牡羊座のコミッターです)

牡羊座を使ったWeb開発のチュートリアルは、http://www.javabeat.net/articles/378-writing-an-osgi-web-application-1.htmlをご覧ください。 Aries自身には、apache.org/downloads/blogsample-0.3.htmlでダウンロードして再生できるサンプルがあります。しかし、それはHello Worldよりも少し複雑です。そして、あなたは現在のレベルよりも少し多くのOSGi知識が必要な場合があります。出発点として、私はOSGiコンソール(ブログサンプルでは分かりやすいもの)を使い慣れて、あなたのシステムで何が起こっているのかを知ることをお勧めします。分かりやすいように、ssコマンドが最も便利で、bundleコマンドは次によく使うコマンドです。

エンタープライズOSGi、サーブレット、およびJPAを検索する場合、いくつかの有用なリソースがあります。 developerWorksにはいくつかの記事があります。

+0

は私はあなたの本を買うつもりだと思います:)ウェブからの自動更新」の例があります"あまりにも? – Kamil

+0

Hurray。 :)私はあなたに役立つことを願っています。新しいモジュールをOSGiフレームワークにインストールすることによって、モジュールを更新する方法を示します。これは実際には簡単ですが、OSGiが好きな理由の1つです!更新プログラムがウェブで管理されている、より洗練されたケースについての例はありません。おそらく、そのために何らかの余分なインフラストラクチャを利用したいと思うでしょう。Apache Aceは良いオープンソースの場所ですが、リモートシステムに更新がいつプッシュされるかを誰が制御しているのかはまったく分かりません。 –

1

できるだけシンプルにしたい場合は、JettyをWebエンジンとして、EclipseLinkをJPAエンジンとして、Apache ACEをOSGi配布フレームワークとして他のOSGiエンタープライズ機能なしで使用できます。

いくつかの有用なリンク:

+0

これらの3つのテクノロジを統合したhello worldの例は素晴らしいものです;) – Kamil