グラフィカルな情報とデータベース化された情報を表示するJavaWeb-ap(Websphere、DB2)を開発します。また、同じアプリケーションをオフライン(CD / DVD経由での配布)でオンラインデータ更新とともに提供したいと考えています。過去にいくつかの代替案を試しましたが、実際に安定しているものはありません。Web apとデータ(小さなデータベース内)をオフラインにするための新しいベストプラクティスは何ですか?
4 に答える
CD / DVDディストリビューションのフロントでどれだけうまく機能するかはわかりませんが、最初に頭に浮かぶのはGearsです。フェンスの.NET側には、Silverlight2があります。次に、Mozilla Prismプロジェクトがありますが、それがどれだけ進んでいるかはわかりません。
これらはすべて、オフラインアクセスだけでなく、オフラインとオンラインの混合を目的として設計されており、サーバーが利用可能になったときにサーバーと通信し、必要に応じてローカルで動作します。
データベースとして Apache Derby を使用することをお勧めします (Sun の Java DB としても利用できます。また、IBM Cloudscape も使用できる可能性があります (DB2 との互換性はまだありますか?))。
たくさんの Web サーバー/サーブレット コンテナーがあるはずです。Apache Tomcat は明らかです。別のアプローチは、単一の Java プロセス内で組み込みのネイティブ ブラウザを使用することです。このアプローチは、ユーザーと技術サポートにとって比較的手間がかからず、WebStart を使用してインストールと更新を行うことができます。
EJB やその他のナンセンスを使用している場合は、同様の景品があります。Sun Glassfish が素晴らしく、起動が速いことは理解しています。
サーバーのイメージをVMwareインスタンスとして作成し、VMwareプレーヤーのコピーと一緒に配布することができます(もちろんライセンスが許可されています)。個人的には、CentOS5のようなLinuxディストリビューションの上に構築します。
JRE を JETTY サーバーと一緒にバンドルして、HSQLDB などの別のデータベースを使用できます (webapp 自体にバンドルできます)。
ORM ツールを使用してデータベースに接続している場合、このために多くのコード変更を行う必要はないかもしれません。
多くのアプリケーション サーバーは、管理コンソールをこのように配布します。たとえば、Weblogic 管理コンソールはオフラインで実行されます (データベースに内部 LDAP サーバーを使用します)。
また、Google ギアに関する限り、彼らもほぼ同じことを行っています。SQLDB と一緒にバンドルされているサーバーがあり、オンライン オフライン アプリ間でデータを同期できます。同期機能が必要な場合は、データも同期し (オンライン アプリで Web サービスを使用)、オフライン アプリから https 経由でデータを同期することができます。
また、このリンクを確認できます http://developers.sun.com/learning/javaoneonline/2007/pdf/TS-69700.pdf