2009-07-13 4 views
2

私は変換する古典的なASPページの大きなセットを持っています。私はMac OS Xサーバー1.5.7を実行しています。私は理由の中で私が望むものを選ぶことができますが、私はRuby on Railsまたは完全なJava EEスタックとORMの間にこだわっています。私はRuby on RailsまたはJava EEのどちらの方が良いですか?

私の主な関心事は、私がヒットしなければならないデータベースと、各フレームワーク/スタックが行うことです。私は実際にRoRでいくつかのことを構築した後に心配しました。私はなぜ、おそらくそれの経験が不足しているのかわかりませんが、それが正しいと感じるわけではありません。私は確かにその感情を無視して、逆の証拠がなくても前進することができます。

私は何か他のものに変換されることはありません、以下の既存のデータベースにヒットする必要があります。多分

オラクル のIngres SQL Serverの MySQLの をフレームワーク/テクノロジー・スタックは、このためのより良いです何か他

をイントラネットアプリケーションですか?

ありがとうございました。

編集:これは問題なのかどうかわかりませんが、すべてのデータベースにヒットして戻ってきます。 1つのデータベースの1ページではありません。私はそれらすべてを照会し、ページを戻します。

編集:私はRoRとJava EEの両方で経験は限られていますが、どちらか一方を選択する必要があります。

EDIT:忘れてしまったのは忘れてしまったのは、Jruby on Railsをレール上に設置しただけでなく、レール上にルビーを設置したことです。

EDIT:

が、それは、Webサービス、XMLを取り込んでから戻ってそれを渡している:(感謝)以下のコメントから、私はこれを持っていますか? - これは可能ですが今はない

フォームベースの航空券申込書ですか? - その一部には、このタイプのニーズがあります。

シンプルなCRUDですか? - その一部

ユーザーは何をしていますか? - 本質的には、さまざまな種類のWebページです。私はアプリケーション全体であり、それ自体がクラッシュである1つのセクションを持っています。別の部分は、さまざまなデータベースソースからデータを取り戻すことです。私は異なるニーズを持つ異なるユーザーを持っています。私は彼ら全員に解決策を探していました。私が望むのであれば、いくつかの異言語の言語とフレームワークを持つことができました。これは私が今Microsoftサーバー上にあるものですが、一貫した方法で作業することを探していました。大規模な統合ですが、私はそれを行うために何かwebsphereを購入したくありません。

データベースとの対話方法は? - 何が言いたいのか、jdbc、crud、またはちょうど読まれても、特定のWebページの必要性に応じて異なります。

このアプリケーションを使用するユーザーの数はいくつですか? - おそらく1000ですが、成長する可能性があります。私がインターネットアプリにその一部を移動すれば、その部分は何千ものことができます。

答えて

4

私の限られた経験では、必要なデータベーススキーマを作成できるようにすると、RoRはより良く機能します。この点だけでは、Java EEとHibernate(または類似のもの)を使用することをお勧めします。これは、従来のデータベーステーブルと統合しようとする人の心配が少なくなります。

RoRの経験が不足しているとおっしゃいましたが、Java EEや永続化フレームワーク(Hibernateなど)の経験はありますか?私は、プロジェクトの時間的制約が、あなたが新しい言語とフレームワークを立ち上げるための「学習予算」を網羅していない限り、あなたが知っていることに固執しようとします。

8

率直に言えば、それだけでは十分な情報ではありません。

"レガシー"データベーススキーマはサポートしていますか?そこにあるような音があります。もしそうなら、ORMはを痛いほど難しくします。はSQLと互換性があります。それがJavaを支持する点です。

JavaまたはRoRにはどのようなスキルがありますか? 1つ以上の経験がある場合は、もう一方はそれに従ってください。リスクを大幅に軽減します。

それ以外は、アプリケーションの種類、特性、要件などについては何も言わないので、本当にどちらか一方の方法を言い表すことはできません。

Javaを使用する場合は、「古典的」Java EE(つまりEJB)よりSpringを使用してください。 Spring Remoting、Spring Web Servicesなどは、EJBの単純な使い易さと使いやすさのために、EJB(3.0まで)を凌駕しています。 SQLを中心とする永続化レイヤが必要な場合は、Ibatisをご覧ください。実際、ここにはSpring and Ibatis Tutorialがあります。

永続化レイヤーのオブジェクトモデルフレーバーの方が有利な場合は、HibernateまたはEclipseLinkに進みます。両方ともSpringでうまく動作します。

アプリケーションサーバーについては、Glassfish(v2またはv3)をお勧めします。

+0

Glassfishがプロダクションサーバーとして管理されなくなったばかりの更新。 – johnny

0

私は「より良い」ソリューションはないと思います。 RubyとJavaのそれぞれのスキルレベルに依存していると思います。あなたとあなたのチームがJavaで優れているならば、Javaを使ってください。時間とお金が対象でない限り、多分あなたはRubyを習得したいと思うかもしれません(あるいは、私はちょうど1つを選びました)。

安定した、メンテナンス可能なWebサーバーを作成したいと考えています。したがって、開発するのが最も簡単で、保守が簡単で、環境に最も安定するものを評価する必要があります。私は、適切に開発された心が、標準的なイントラネットのWebページでは、他のものよりも実際に「より良い」とは思えません。それは本当にWebページ/ Webサービスが何をすべきかに依存します。

ウェブサイトが実際に何をしているかについてもっと詳しくお答えした方がいいでしょう。

+0

私は何か助けを求める必要がありますか?私はこれにどのように答えるか分からない。 – johnny

+0

どのように:これはどのような "ウェブ"サーバーですか?それはxmlを取り込み、それを戻すWebサービスですか?フォームベースのチケット入力アプリケーションですか?シンプルなCRUDですか?ユーザーは何をしていますか?それはデータベースとどのように対話しますか?何人のユーザーがアプリケーションを使用していますか? – amischiefr

+0

私はこの情報を追加しました。 – johnny

0

GroovyとGrailsはどうですか?あなたは両方の世界のベストを得ることができます...

+0

これはレール上でjrubyを使用することとどのように違うのですか? – johnny

+0

私はそれを経験していない、私はちょうどウェブ開発より多くの友人がウェブフレームワークとの彼らの経験について私に言ったことを覚えていた^ _^ – fortran

1

大きなレガシースタックを構築している場合(あなたのように聞こえます)。 Javaの世界は、いくつかの共通インタフェースの背後にある痛みを抽象化するのに役立つことがあります。私の経験からも限られた経験から、RORは他のモデルとのネイティブにはうまく機能しません。

+0

これはまさに私が感じるようになっていたので、私の質問です。ありがとう。 – johnny

0

Ruby on Railsの学習が簡単です。オールインワンのフレームワークです。 SpringやHibernateは必要ありません。あなたはより良い見解のためにいくつかのAjaxが必要です。

Ruby on Railsは、CoC(Convention over Configuration)と、自分を繰り返さない(DRY)という急速な開発原則を強調するためのものです。

「構成に関する条約」とは、開発者がアプリケーションの非典型的な側面のみを指定する必要があることを意味します。たとえば、モデルにSaleというクラスがある場合、データベース内の対応するテーブルはデフォルトでsalesと呼ばれます。これは、開発者がこれらの名前に関するコードを記述する必要がある、「販売された製品」という表を呼び出す場合など、この規約から逸脱した場合のみです。一般に、Ruby on Railsの規則は、コードが少なく繰り返し回数が少なくなります。

「自分自身を繰り返さない」とは、情報が単一の明瞭な場所にあることを意味します。たとえば、RailsのActiveRecordモジュールを使用する場合、開発者はクラス定義でデータベース列名を指定する必要はありません。代わりに、Ruby on Railsはクラス名に基づいてデータベースからこの情報を取得できます。

「脂肪モデル、スキニーコントローラ」とは、コントローラーをできるだけ軽くしたまま、ほとんどのアプリケーションロジックをモデル内に配置する必要があることを意味します。

+1

あなたがしたのは、Railsの共通用語をコピーして貼り付けただけです。あなたの非常に短い紹介の他に質問に答えようとする試みはありません。 – jason328

関連する問題