2009-04-23 11 views
3

オンラインスケジューラのようなWebアプリケーションを開発したい。 (はい、何百万回も実行されていることは分かっています) 私の経験のほとんどはJavaで書かれていますので、技術を検討する際にはそれを活用したいと思います。Webアプリケーションのエンドツーエンドを構築するために必要なテクノロジは?

私は主に、UIプログラミングにほとんど関与していないシステム開発者でしたので、私はこれが私の学習の大部分を行う必要があると思います。

私が注目すべき技術に関するご意見はありますか?私は市場性があり、学びやすい技術に焦点を当てたい。

これまでのところ、これは私が(地面から)3層アーキテクチャのために必要だと思うものです:

  • データベース(おそらくMySQLやPostgreSQLの) - SQL、JDBC
  • バックエンドサーバ - Javaの
  • Webサーバ(Tomcatの) - JSP、サーブレット
  • のWebフレームワーク - タペストリー(これに弱い、任意のより良い代替手段?)
  • ブラウザ技術 - HTML、Javascriptを、CSS(学ぶ必要がある)

FlexやSilverlightなどの「リッチインターネットアプリケーション」開発ツールについて聞いたことがありますが、そのような技術の市場についてはわかりません。

編集:Spring/Hibernateの言及がたくさんあるようですので、私はそれを見ていきます。私はフィードバックに感謝します。

答えて

3

あなたはあなたの拠点がかなりよく覆われていると思います。

おそらく、あなたをより簡単にするために、いくつかのフレームワーク/ライブラリを調べることをお勧めします。

Webフレームワーク - Wicketの/ストライプ/ JSF /タペストリー(リクエストベースのフレームワークVSコンポーネント)

のJavascriptライブラリ - はJQuery/YUI /道場

あなたは、JSP /速度/ Freemarkerのを使用することができ、あなたのテンプレート言語について。

フレームワークとツールを勉強して、いくつか試してみて、どちらが最適かを見てみてください。

私は現在使用しています。

  • アパッチ - ウェブサーバ
  • のTomcat - サーブレットコンテナ
  • のMySQL - データベース
  • ストライプス - 要求ベースのWebフレームワーク
  • YUI - AJAX用
  • 春 - 依存性注入
  • 休止 - オブジェクトリレーショナルマッピング
  • jsp - 動的にhtmlを生成する
3

私は個人的にこのリストにSpringを追加したいと思います。依存関係注入は間違いなく学ぶべき素晴らしい技術です。そして、Springでは、私の経験で、あなたが好きなだけ、あるいは少しでもそれを使うことができます。

あなたが明示的にユニットテストを言及していないが、それは確かにミックスの一部である必要があります - 私は、実際のテストフレームワークとしてJUnit外の多くの経験を持っていないが、EasyMockJMockは、(とりわけ)もありますあざけるために依存関係のその

なしでは、Javaバックエンドで予定している場合、私は、あなたのJPAのためRichFaces(AJAX /スキン)とJSFをHibernateをお勧めしますウェブ特有の、まだ重要なものIMO :)

+0

良い点、それは間違いなく、ミックスに収まるを! – ScArcher2

+0

ユニットテストは必須です。 +1 –

1

ませんあなたのフロントエンド用のFacelets(レンダリング/テンプレート化の表示)、およびすべてをまとめてSeamです。素晴らしい組み合わせです。

1

もしあなたがSpringに行くなら、あなたは単にHibernateをmysqlに使うことができ、あなたはそこに必要なものすべてを持つことができます。

あなたがそれを書いて、それを改良したいのであれば、おそらくブラウザ側でもっとやってみようと思っていますが、最初はそれをajax呼び出しなしにしたいと思うかもしれません。

必要に応じて、Spring MVC、Spring Framework、Spring Webflow、Spring Securityなど、Springに使用できる多くの部分があります(必要に応じて)。

3

私はリッチインターネットアプリケーションの市場が存在しないという意見に同意する必要があります。実際、RIAとして企業規模のアプリケーションが増加する傾向があります。通常のWebアプリケーションと比較した場合のRIAの利点は、使いやすさです。 Webアプリケーションのメリットはすべて得られますが、デスクトップのようなユーザーインターフェイスを維持することは可能です。

あなたは、Javaの背景から来て、Web技術に関する豊富な経験がないと言います。さて、GWTまたはIT Mill Toolkit(GWTベース)の理想的なユーザー候補のように聞こえるはずです。どちらも純粋にJavaでリッチインターネットアプリケーションを作成できるフレームワークです! HTMLやJavaScriptのスキルは必要ありません。あなたはアプリケーションのためのあなた自身のテーマを作るためにCSSを学ばなければならないでしょう。

両方のフレームワークは、オープンソースであり、商業用には非常に優れています。 IT Mill ToolkitとGWTの違いは、サーバー駆動であることです。つまり、ビジネスロジックが実装され、クライアントブラウザでJavaScriptとしてではなくサーバー上で実行されます(GWTの場合)。このサーバー駆動型アーキテクチャにより、アプリケーションはソフトウェアセキュリティの観点から非常に安全になります。 IT Mill Toolkitに対するGWTの利点は、より大きなユーザーコミュニティです。

ORMフレームワークについては、Hibernateが非常に人気があります。しかし、それはあまり好きではありません。なぜなら、それは技術的にJava Persistence APIを実装していても、期待どおりに動作するとは限らず、多くのハイバネート固有アノテーションを使用しなければならないからです。休止状態(悪いこと!)したい場合は、別のJPAプロバイダに簡単に移動することはできません。 JPAを実装するAntoher ORMフレームワークはEclipseLinkです。私は個人的に企業規模のアプリケーションでEclipseLinkを使用していませんが(まだチャンスがなかったため)、私はそれを小さなプロジェクトに使用しています。 EclipseLinkはオープンソースであり、商用化には理想的です。 EclipseLinkはOracleによって絶えず開発されているため、バックグラウンドは安定しています。これは、Oracleのクローズド・ソースJPA実装であるTopLinkに基づいています。

・ホープこのことができます:)かなり便利な答えを、いくつかの時間前に、基本的に同じ質問をし

関連する問題