質問

私はすでに生産にいくつかのアプリケーションを持っているクライアントを持っているので、この次のプロジェクトのために彼らの生産環境が何であるかについてすでにいくつかの決定を下しています。

  • Sun Iplanet 6.1 SP7(w/ apache)
  • JDK 1.6
  • Oracle Weblogic 10 mp3
  • Oracle 10g
  • 1024ビットSSL

また、Webアプリの企業標準もあります。

  • トムキャット
  • ストラット
  • Safari、Firefox、IE6、IE7との互換性

また、このアプリはJava EE 5環境(おそらくWebコンテナのみ)でフルを必要としない可能性が高いと言われていますが、クライアントEJBなどを介して別のWeblogicインスタンスでホストされているものと通信し、さまざまなWebを実行する必要があります。他のコーポレートサービスへのサービスコール。

私たちの開発環境とテスト環境がこの新しいチームのどのように見えるかについていくつかの決定を下すというタスクを与えられました(私を含む少数、おそらく2人または3人ですが、今後数か月で成長する可能性があります)。私は、人々が愛するIDEを使用し、LocalHostで優れた開発体験をすることができるが、それでもテスト環境で展開するためのスムーズなパスを持ち、次に生産環境へのスムーズなパスを作成できるものを作成したいと思います。私の考えでは、ローカルワークステーションではHTTPは問題ありませんが、統合テストサーバーは生産サーバーとまったく同じように見えるはずであり、すべてのトラフィックはHTTPSである必要があります。

開発者のローカルワークステーションは非常に多様であり、ローカルワークステーションでMac OS X 10.6(Snow Leopard)またはWindows 7を実行している可能性があることを知っていますが、一般的なテストサーバーも指定する必要があります。テクノロジースタックが提供するもの地元の開発から、テストを通じて、生産までの素晴らしい滑らかな道?

編集:申し訳ありませんが、テクノロジースタックと言うとき、私はANT + JBOSS + TOMCAT + ORACLE XE対Maven + Geronimo + Derbyを意味します。基本的に、各開発マシンと柔軟な開発環境とテストおよび生産環境へのスムーズな移行を提供するテストサーバーにインストールする必要がある具体的な仕様の実装のリスト。

edit2:情報をまったく保持する必要がある場合、このアプリはおそらく言及する価値があります(私はこれを想定しています 意思 事実である)、それが何であれ、間違いなく複雑ではないでしょう。おそらく、初歩的な製品データベースに似たものになります。

役に立ちましたか?

解決

私は行きます:

  1. ハドソン 毎晩のビルド(またはすべてのチェックイン)の場合
  2. 水銀 また 転覆 ソースコントロール用(WindowsとMacの両方でうまく機能します)
  3. 春、春、春. 。はい、私は真剣です、春は単なる依存噴射よりも多くの問題を解決します。セキュリティ、バッチ処理、トランザクション処理、システム統合など。
  4. eclipselink orm用。それは多くの高度な機能(Hibernateの欠如)が私を救ったことが多い(まともなストアドプロシージャサポートのように)。
  5. のような軽量容器 桟橋、トムキャット また 樹脂. 。あなたがのような重い遅いものを使用する場合、あなたはチーム自殺を犯すつもりです ジェロニモ また jboss.
  6. デルタワルカー マージ/diffツールの場合(再びすべてのプラットフォームで動作します)。
  7. 高度なデータベース機能を使用する場合は、 Oraclexe (と sqldeveloper)。どちらも素晴らしいツールです。そうでない場合は、何かが軽いようなものです H2 また ダービー 結構です。
  8. ジュニット (また testng)モキト ユニットテスト/モッキング用。
  9. 使用しないでください ストラット. 。真剣に、少なくとも一緒に行きます struts2 または好ましくは好きなようなものです JSF2、ストライプ また GWT.
  10. のようなまともなバグトラッカー、 Jtrac、Redmine また フォグバッツ
  11. セレン 統合テスト用
  12. ソナー コード品質用

別のIDEを使用する場合 メイベン 各IDEをPOM.xmlから構成できるため、良いアイデアかもしれません(Intellij/NetBeansではうまく機能します)。しかし、私があなたに与えることができる最善のアドバイスはこれです。

  • あなたがすでに知っていることと一緒に行き、経験があります。 StrutsからJSF2への移動は一晩ではありません。
  • あなたが手に入れることができる最高のツールを手に入れてください、真剣に無料のものは常に行くべきではありません(それはしばしばそうですが)。

ハッピーハッキング

他のヒント

「テクノロジースタック」と言っていることについて正確に何を求めているのかは、本当に明確ではありません。サーバー、ライブラリ、ビルドツールを意味しますか?とにかく、ここにいくつかの軽快な推奨事項があります:

  • 継続的な統合のためのハドソン
  • あなたが本当にそれを必要としない限り、メイベンを避けてください。それは、構成に関する宣言的依存と慣習の約束を伴うサイレンのようにあなたを誘いますが、実践は理論とは大きく異なります
  • 標準のJava SE/Java EE APIを好む可能性のある場合は、Springを使用します。よりシンプルなAPIに加えて、AspectJを直接操作するよりもはるかに簡単な、テスト可能性とAOP機能も促進します。もちろん、ゆるい結合をサポートする依存噴射も提供します
  • ORMの冬眠、またはあなたの持続性要件が非常に単純な場合、spring-jdbcで十分かもしれません

テスト環境は、生産を正確に複製する必要があります。また、テスト環境でパフォーマンステストを行います。ハードウェアが懸念事項であり、クラスター内のサーバーの数を制限する必要がある場合、テストでより少ないサーバーを作成しますが、iPlanet(apache(apache)と同じenvを複製します。 ) + weblogic + oracle db so on ....

ローカル環境に関する限り(Webコンテナのみが必要なため)Tomcatを使用できます。EJBクライアントの場合、JARをバンドルしてリモートコールを作成できます(リモートアプリにリモートコールを行っている場合)。ローカルEJBを介してローカルコールを行っている場合、ローカルボックスの開発でWeblogicを使用する必要があります。

同じIDEを使用してみてください(ほとんどが開発者の選択の問題ですが)。OSに関する限り、互換性のあるIDEを使用している場合、コードを作成するだけなので、問題はありません。

また、IDEがDebugモードでコードを実行するために、Tomcat(それを使用する場合)またはWeblogicのいずれかとしっかりと結合していることを確認してください。

非常に重要なことの1つは、最初にコード構造を決定し、次にバージョン制御でチェックインして、任意のIDEからユーザーが同じ構造でチェックイン /チェックアウトすることを確認します。そのため、同じ構造がすべての開発者で共有されます。すべてのリリースでCVSまたはバージョンコントロールでコードを分岐し、ヘッドからチェックアウトします。また、非常に重要なビルドファイルを使用し、セットアップドキュメントを維持してローカルボックスに環境を構築します。また、使用するフレームワークに関しては、コーディングとメンテナンスに最も満足しているものを選択します。つまり、コードのバグの数を減らします。ほとんどの場合、最近では春/冬眠の組み合わせを使用していますが、プロジェクトに合っているかどうかによります。お役に立てれば。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top