- PR -

JSFの開発環境について。

1
投稿者投稿内容
カブトムシ子太郎
会議室デビュー日: 2006/04/12
投稿数: 16
お住まい・勤務地: 横浜
投稿日時: 2008-04-20 12:25
こんにちは。
質問があります。

JSFの開発では、普通どのようなプラグインをみなさんつかっているのでしょうか?
・プラグインではなく、MyEclipseを使用。
・FacesIDE
・JSF Tool

調べたところ、この3つがEclipseを使ったJSFの開発でメジャーな感じでしたが、
実際のところどれが一番スタンダードなのでしょうか?

現在、離職中で勉強のために、JSF、Spring、Hibernateを勉強しようと思ってますが
どのようなプラグインや開発環境が標準なのかが検討がつきません。

私のイメージでは、MyEclipseが一番便利なような気がしますが、現場ではMyEclipse
の採用はすすんでるのでしょうか?

これから、開発環境構築を始めるので何かアドバイスいただけると嬉しいです。
宜しくお願いします。
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2008-04-20 21:55
私はFacesで商用パッケージを開発していましたが、特にプラグイン等は使っていませんでしたねー。
そもそもXMLで記述するため十分可読性が高いので必要なかったです。
カブトムシ子太郎
会議室デビュー日: 2006/04/12
投稿数: 16
お住まい・勤務地: 横浜
投稿日時: 2008-04-21 02:08
ご回答ありがとうございます。そうなんですか。
プラグインなくても特に問題ないんですか。

イメージ的には、JSPの作成なんかは、VB風に
作成できるようなイメージをもってたため、
プラグインなりツールなりが必要だと思ってたの
ですが。

strutsの作成時のようにstruts_bulank的なものを
コンテナにインポートして拡張して開発を進める
ようなイメージなのでしょうか?

でもそれでは、STRUTSとJSFは少し仕様が異なるだけで
あまり役割や開発効率は変わらないのではないでしょうか?
flatline
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 102
投稿日時: 2008-04-21 02:23
私はSeasar プロジェクトの、S2JSF と、Teeda を使用しています。
どちらもJSF実装ですが、Teeda は開発効率の点で、下手なGUIツール
使うよりはるかに効率的です。
ほぼ、普通のHTML とPOJO だけで開発できるので、JSF を使っている
というイメージではないです。
JSFライフサイクルの理解は必要となりますが、後はとても楽です。
特にHot Deploy 機能は一度使うと、手放せなくなります。
viewテンプレートがHTML というのも、デザイナーとの分業にも
有利です。

詳しくは、http://www.seasar.org/ を参照してみてください。

siksi
会議室デビュー日: 2008/05/22
投稿数: 2
投稿日時: 2008-05-22 05:15
http://siksi.dip.jp/SpeechEngine/
Sun Microsystems社の提供するJava Speech APIによって実装された英文スピーチエンジン。
Sun Microsystems社の提供によって無料で利用できるJSF仕様の先進的な統合開発環境であるSun Java Studio Creator 2を使用し開発しています。
siksi
会議室デビュー日: 2008/05/22
投稿数: 2
投稿日時: 2008-05-24 01:32
補足としてSun Java Studio Creator 2に関するコンテンツ作成に関連する技術情報。

プログラミングについて悩んでいました。画像関連のフォーマット変換並びにフィルタ処理を実行するウェブアプリにおいて、完成したにもかかわらずそのウェブアプリに付加価値を見出すことができない。なぜならば、これはOS内にネイティブコンパイルされた汎用アプリケーションを使用する事が多く、ウェブ上においてこの機能を実現しても付加価値は生まれないと判断。ここに至って当初想定していたもう一つのケースである、英文スピーチを行うウェブアプリを開発するとの決断に至る。これもまた商用アプリケーションによって実現されている機能ではあるが高価なものが存在する中で、簡易なウェブアプリを開発する事によって、ウェブ上での付加価値が高まると見通す。前述の目的を達成するためにSun Microsystems社の提供するJava Speech APIを使用する。

またサーバ管理に関して言えば、このサイトを外部に公開した上でYahooやGoogle等へ登録する事により、このサイトのアクセス数と利用者数が飛躍的に増幅する。伴ってこのサイトはJSF等によるJavaの中でも最も最新のフレームワークを使用した構築となる事由の下に、サーバも自らのハードウェアとソフトウェアによって構築保守しなければならない。こうした中でサーバ管理技術に関しては、Javaの特長であるマルチプラットフォームの特性が生きることになる。例えば、プライベート用とサーバ用の2台のワークステーションが手元に存在する。プライベート用はWindows、サーバ用はSolarisと異なるオペレーティングシステムである。サーバ用のSolarisが仮にセキュリティ保守関連の操作によって一時停止または再起動が必要になった際に、外部からは接続ができない。この間にJavaで開発されたウェブアプリケーションであれば、サーバ処理をプライベート用であるWindowsに一時的に切りかえる事が可能になる。この様なJavaの互換性により可用性の高いウェブアプリケーションの構築が可能になった。

技術的な側面に関して今回初めて導入したSun Java Studio Creator 2のページ間でのデータ共有においてスコープと管理Beanの方式が、バインドというデータ共有方式によって統一されており、異なるページ間での同じオブジェクトの参照においても、例えば両ページのテキストボックスに同じRequestBeanのバインドをドラッグアンドドロップするだけで共有できるので非常に便利であると感じました。加えてバリデータに関しても同様にhtmlオブジェクトにドロップするのみで長さチェック等ができる。またbeanのみの作成として例えばjdkツールとしての使用法もできないと開発環境としては困るのですが、これについてもプロジェクト作成にJavaライブラリの作成があることからbean/ant/junitといったbeanのみの開発とテストも可能である。セッションの解放についてはweb.xmlの中でタイムアウト設定をしておくことによって、規定時間後にJSFフレームワーク側がsession.invalidate()によってセッションの解放を行う仕様であると見受けられる。いずれにしてもウェブアプリケーションである事から、複数ユーザーあるいは同時アクセスを想定しているので、アプリケーションサーバーの負荷を配慮する上では、リクエストによって解決するのが好ましい。単体レベルの開発では、インターフェースの開発、その後、Beanにおいてスピーチエンジンのテストを完了。JSFサーブレッド内に組み込むことで、画面入力→サーバにWAVファイル作成まで完了した。開発している中で気になった問題はSunのJSFフレームワークはポストバック時に呼び出されるメソッドが2つ存在する事。preprocess()とprerender()の違いがいまひとつ把握できない。しかし、現在のサーブレッド作成においては影響のない要素である事から解決は保留。続いて、画面入力された英文をサーバの特定ディレクトリに作成する際、Java.Policyのパーミッションエラーが起きたことについて非常に悩んだ。解決策としては、現在のJava.Policyの設定を全開するという大胆な解決法。UNIXDeamonに例えればポート全開の状態ですか。セキュリティに関しては今後も検討また、セキュリティの高いJava.Policy設定も検討しなければならない。この後は、この作成されたWAVファイルをFileInputStreamへ出力し、そのストリームをResponseへOutputStreamする事により解決する問題である。英文スピーチにおいてアクセスカウンタに対し排他制御としてsynchronized制御を行っていたのですが、同時アクセステストの際に、排他制御が有効になっていない事が判明してビックリしました。予想はしていましが、おそらく自作フレームワークの開発に加え、Singletonによるインスタンス生成等が実現のために要求されると推測し、JSFフレームワークでのsynchronized制御は現時点では諦めました。代替えとしてまったく同時にアクセスする事によりカウンタの重複が起こる中で、そのカウンタに対し10桁のランダムな数値を加える事により、99.99999999000%の確率で重複が起こらないとなる措置を施す。

Speech-Engine -- 英文スピーチの実現及び英語の発音をWEB上において確認できる
http://siksi.dip.jp/SpeechEngine/
1

スキルアップ/キャリアアップ(JOB@IT)