クラウドコンピューティング ~ EC2、Mosso、GoGrid
クラウドコンピューティングのプロバイダーであるEC2、Mosso、GoGridの新しいユーザーエクスペリエンスと、それぞれの機能の違いについて学びます。
作者 Mark Little, 翻訳者 八角研究所 投稿日 2008年4月11日 午前6時5分
SOAはそれが普及する前から長い間(source)、そのハイプ曲線はピークのままである(source)。分散型システムやEAIのためのアプローチとしての疎結合は、しばしば遅延バインディング(source)を使用したソフトウェアパターンと比較されている。ソフトウェア開発の原理と実践は、ダーウィンの進化論(source)のように、この数十年で継続的に進化し続けている(source)。我々はPrologのような第五世代言語(source)のような世代的なプログラミング言語(source)をもち、そして今、XAware(サイト・英語)の創設者で主任研究員であるKristan Vandersluis氏(source)によれば、サービスベースのアーキテクチャ的アプローチは少なくともすでに四つの世代を経て今に至っているという事実を認識すべきであるという。業種を問わず、すぐれたアーキテクトはずっと前から機能を再利用可能なサービスとして提供してきた。このことは、サービス指向アーキテクチャが長い時間をかけてどのように進化してきたのかを私に考えさせてくれた。我々のようにSOAツールの機能拡張に取り組んできた者は、この数年でSOAをポピュラーなものとした"Web サービス"よりはるかに長い間、サービスやSOAが身の周りに存在していたことを知っている。そして今、ソフトウェア業界では、サービス指向の実装が成熟期を迎えているようである。Kirstan氏はときとしてSOAはWebサービスとかかわりを持ちすぎている(source)という考え方に同調している(source)。彼は、まだSOAの全てのポテンシャルを引き出せていないと信じており、またそれには時間を要すると考えている。
伝統的な1年から1年半の開発サイクルを持つ開発では、大勢のアナリストや開発者を要するが、それらはあたらしいプロセスのフローグラフを描くビジネスアナリスト置き換えられ、そうすることにより enterprise-readyな環境へボタンをクリックすることでアプリケーションをデプロイできてしまうだろう。サービス指向的なアプローチであれば数日から数週間わずかなエンジニアリングリソースを使用するだけで済むはずだ。しかしながら、どこかで聞いたことがあるように(source) 、時々あなたのマイレージは変わってしまうかもしれないし(source)、SOAのプロジェクトはある種の万能薬のように自動的に成功するわけではない(source)。しかしKirstan氏によれば、これは世代的な問題で時間を経ることによりだんだん良くなる(もしくは何か新しい良いものが生まれる)とのことである。さらにKirstan氏によると、すでに四つの世代(もしくはそれ以上)のサービスベースのアーキテクチャが存在しているそうだ。:
第一世代サービス - WS-* や REST のようなモダンなSOAの標準な手法を使用していない、C、C++、C#やJavaといった第三世代のプログラミング言語によって書かれたシンプルなサービス群である。こういったサービスは、コンシューマと潜在的なリソースの依存関係が非常に強くなってしまう傾向にある。CORBA やDCOMといった比較的古い技術はこの世代に当てはまる。原文はこちらです:http://www.infoq.com/news/2008/04/soa-generations
第二世代サービス - データベースのデータを取得、修正、作成、削除したりするような、標準ベースのそれなりにシンプルなサービス群である。こういったサービスはJava やC#のクラスやEJB、データベースへ送信するクエリから自動生成することができる。これらのサービスはオブジェクトのメソッドをそのまま反映し、リレーショナルテーブルのような内部実装を外部にさらけ出してしまう傾向がある。開発は簡単だが、そのようなサービスはビジネス指向ではなく技術指向であるため、ビジネスプロセスで直接使用するのは非常に難しい。システムを編成するための適切なレベルの粒度で提供するためには、他の別のサービスやロジックと結合させる必要がある。
第三世代サービス - 本当の意味での「サービス指向」のサービス群である。このようなサービスはビジネスプロセスに適している。サービスのリクエストやレスポンスのペイロードといったデータフォーマットを明確に定義することによって疎結合が実現されている。これらのデータフォーマットは、実行パフォーマンスや必要なストレージの最適化をするような技術者ではなく、ビジネスプロセスをよく知るアナリストによって定義される。これらのサービスは、システムの編成に適した粗い粒度と疎結合を実現するために、第一世代と第二世代のサービスを縫い合わせて変形することで作られることが多い。
第四世代サービス - 第三世代のサービスを管理されたセキュアで再利用可能なサービスとして制度化したサービス群である。第四世代のSOAは、より高レベルのサービスやビジネスプロセスの構築や管理をするための、SOAを意識した技術や手続き等のエコシステムを持つ。第四世代のサービスを実現させるために時間をついやせば、企業はSOAの恩恵を最大限受けることになり、変化するビジネス的な要求を短い時間でビジネスプロセスに反映することができるようになるだろう。
クラウドコンピューティングのプロバイダーであるEC2、Mosso、GoGridの新しいユーザーエクスペリエンスと、それぞれの機能の違いについて学びます。
パート2では、ベンチマークの結果を検証するために用いられるテクニックについてさらに深く見ていきたいと思います。最後に、「なぜプロセッサが異なるとロックのコストも大きく異なるのか」と言う真の疑問に答えます。
本稿では、Stefan Tilkov氏が「RESTful」な設計であると主張するアプリケーションに見受けられる最も一般的なアンチパターンのいくつかについて説明し、それらを避けるための方法を提案しています。
Sven Efftinge氏、Peter Friese氏とJan Köhnlein氏が、MDDを取り入れて成功した経験から、ベストプラクティスの解説を行います。
Our panel of leading experts explores some of the challenges and thought processes that go into making their apps as scalable and performant as possible.
この記事は、Spring 2.5で導入されたアノテーションを探究する3部作の第2弾です。Web層におけるアノテーションのサポートを扱います。最後の論文では、統合と検査で利用できる追加機能を説明する予定です。
私は「浴衣」を着てパーティーに参加したことで、たくさん声を掛けていただけました。 そこで感じたことは、このカンファレンスが人との繋がりを生み出し、また言葉の壁を越えて積極的に交流する場所であることです。民族衣装はそれらを助けてくれるものでした。きっとこの交流が、新たなムーブメントをアジア圏の仲間たちにも与えてくれると確信しています。
No comments
返信