Agile Japan 2009
2009年4月22日、東京千代田区にある放送会館で「アジャイルジャパン2009」が開催されました。本イベントは「ソフトウェア開発の次世代リーダーをつくる」ことを合い言葉に、200人以上の参加者を集めてスタートしました。
作者 Ryan Slobojan , 翻訳者 編集部 投稿日 2007年10月31日 午前3時7分
GigaSpaces(サイト・英語)のNati Shalom氏(ブログ・英語)は、最近何故ほとんどの大規模なwebサイトがJavaで構築されていないのかという疑問を投げかけている(source)。この疑問はJava Communityで大変大きな議論を引き起こし、InfoQはそれに関する見解を探るための機会を設けた。
彼の掲載記事の中で、Shalom氏はたくさんのサイトがLAMP(Linux, Apache, MySQL, PHP/Perl)を使用しており、そしてその中のいくつかのものはGoogleのGFSか、もしくはメモリキャッシュ等のキャッシュのようなカスタムファイルシステムを開発している。Shalomは大規模なwebアプリケーションと大規模な金融機関向けアプリケーションの両方のために開発されたスケーラビリティソリューションの類似点を述べている。
下記はData層で見られるものである。
- メモリソースの有効性を活用するためにキャッシングレイヤーを追加しインターオペラビリティオーバーヘッドを減少させる。
- データベース中心のアプローチからパーティショニング(別名shards)への移行。
ビジネスロジック層上では、
- アプリケーション層に平行化セマンティックを追加(例:MapReduce)
- リニアスケーラビリティを実行するためのスケールアウトアプリケーションへの移行
- 従来の2段階コミットと処理プロセス用のXAからの撤退(Lessons from Pat Helland: Life Beyond Distributed Transactions参照(source))
Shalom氏はこれらの類似したソリューションが異なるアプリケーションをどのようにして所有することができるのか説明した。Todd Hoff氏はShalom氏が述べた、可能性のある理由の一つを提示した(source)。"LAMPスタックは協力で自由自在であり、一方Javaは中核というよりもむしろ補足的なコンポーネントとして使われるのです。"
他には下記のような見解があった。
GigaSpacesのMickey Ohayon氏はもっと詳細な返答をしている。
技術的な観点において、
経済的な観点において、
- JEEがより複雑な一方PHP/Perlにおける開発はとても早くシンプルである。
- 歴史的に考えて、ホスティングサービスとデベロッパたちがより入手可能となっている。
- JEEをインフラと考えると、LAMPはより安定したインフラであり一般的である。
- JEEは時々webシステムにとってはやりすぎなアプリケーションサーバを必要とする。
- 軽量なweb言語(PHP/Perl)は短期開発での変更に対してより柔軟である(Non-MVCを基盤とした貧相なアーキテクチャの一部として。もちろん長い目でみると変更のコストは激的に高いが)。
- Javaアプリケーションのデプロイメントとテストは遥かに遅く比較的強固なマシーンを必要とする。
- JEEデベロッパはPHP/Perlよりもはるかに高額である。
- ラーニングカーブとマーケットする時間は既に有効ではない。
- JEEアプリケーションサーバのホスティングはより高額である。
NokiaのJilles Van Gurp氏(サイト・英語)は、Java EEはエンタープライズドメインのために最適化されていて、またそれは大規模な消費者向けのwebサイトとは異なるニーズを備えていると述べた。
これらのwebサイトは比較的シンプルなデータストラクチャである。処理や持続レイヤーのようなものである(mySQL+非処理&ACIDバックエンドはほとんどの場合において十分適している。)。大変強固なwebサービス用の実質的な条件はないのである。基本的にJ2EEが大変適しているものである消費者向けのwebサイトの実装は、大体がやり過ぎなのである。手の込んだIDEは必要ないのである。それは超フレキシブルなメッセージバスや、非常に複雑な処理論理等である。
代わりに焦点は極端なスケーラビリティ当てられている。メモリ使用・CPU利用・キャッシング等である。これらはSquid、Apache、分配 Linuxファイルシステムのようなよくあるコンポーネントを伴って表現される。また、それらはJavaコンポーネントで表現することも可能だが、それらを統 合するのにはJ2EEの利用が条件となるのである。これらは求人市場において人材が欠落しているためと、このような人々が最終的にエンタープライズ系の仕事で非常に高い給料を得るため、採用するのは簡単ではないのである。
Van Gurp氏は、またJavaは将来的な見込みが明るいと信じている。
最後に、私は全てが変化していると思うのです。RubyかもしくはPHPのJava実装は、PHPかRailsアプリケーションに良質なセキュリティ、パフォーマンス、スケーラビリティと管理性の増加をもたらすのです。もしあなたがこれらのシステムの大規模なデプロイメントを行っているならば、これを試さないのは損なのです。これはまだPHPとRubyデベロッパの間であまり知られておらず、またたくさんの人がハードウェアに投資するのを好んでいるがパフォーマンスには気をかけていないのと同じです。しかしながら一回Javaア プリケーション上においてPHPかもしくはRuby上でのデプロイに移行してしまうと、彼らのアプリケーションを更に強化する付加的なコンポーネントの世界があることを発見するのです。ほぼ間違いなくGoogleのweb開発ツールチェーン(部分的にオープンソース)は極端なラージスケールと迅速なプロトタイピングのweb開発において、まさに最先端を担っているのです。そしてwebデベロッパの視点からアプリケーションロジックの記述は100%Java内で行われるのです。私の知っている限りでは、Googleはweb UIレイヤーの中にPHPの大規模なデプロイメントか、もしくは似たようなアーキテクチャを所有していません(もしこれが本当でないなら証明して見せて欲しいです)。
このディベートが拡大するのを見て、Shalom氏はMichael O'Keef'氏の意見(source)に対する同意に関して説明(source)した。また、それは上記の見解にまつわるものである。Shalom氏はまた市場においてRails上の SpringやCauchoのJavaベースのPHP実装のようなツールを伴う移行トレンドがあり、またスケーラブルなサイトの開発という挑戦はLAMPとJavaを将来的に近づけるということを言及している。
あなたはどう思いますか?
原文はこちらです:http://www.infoq.com/news/2007/10/big-java
2009年4月22日、東京千代田区にある放送会館で「アジャイルジャパン2009」が開催されました。本イベントは「ソフトウェア開発の次世代リーダーをつくる」ことを合い言葉に、200人以上の参加者を集めてスタートしました。
今週(2009年6月1日)AdobeはFlex 4の正式な初ベータ版をリリースしました。Flex 4はGumboというコードネームで開発されています。今回のリリースには大きな変更が多数含まれています。このRIAフレームワークの最新バージョンにおいて変更された事柄についての概要を以下のリストで見ていきましょう。
ビジネス領域の深い理解を反映したドメインモデルを設計するための、ヴィジョンとアプローチです。この本は、Eric Evans氏の「Domain Driven Design」の主要点を短く読みやすく要約しました。
この記事ではJavaプログラマがなぜFlexとBlazeDSを学ぶべきなのかについて13の理由を述べています。なぜ高度にインタラクティブなWeb サイトからJavaで開発されたバックエンドをもつエンタープライズ・アプリケーションまでを含む、リッチ・インターネット・アプリケーション(RIA)の開発にFlexとBlazeDSの組み合わせが最適な選択肢となるのかについて述べています。
Mary Poppendieck氏、Ron Jeffries氏、Jeff Patton氏、David West氏、Steve Freeman氏、Jason Yip氏が、バックログに関する彼らの意見とアジャイルチームを成功させるために必要な事を語った。
この記事ではAlex Devine氏が、Java開発者がPerf4Jをどのように利用できるかと、タイミングステートメントにコードを追加し、ロギング、結果の解析とモニタリングを行うオープンソースツールセットの説明をします。
この記事では低レベルのサービス・レイヤやリポジトリ・レイヤを肥大化させることなく、フェッチング・ストラテジによってモジュール化された方法でバックエンドにあるシステムからデータを取得する処理を最適化する方法について説明します。
No comments
スレッド表示 返信