GAE開発の落とし穴
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Dilip Krishnan , 翻訳者 渡嘉敷 満理子 投稿日 2010年3月18日
ZapThinkのシニア・アナリスト、Ronald Schmelzer氏は、エンタープライズ向けのオープンソースSOAソリューションの適性に関してよくある誤解や偏見について再考し、「極めて多くのIT組織において、SOAを実装する上でオープンソース・ソフトウェア(OSS)を時期尚早に切り捨てているのはなぜか?」という疑問を呈している。
ZapThinkはこの問題を完全に解決するにあたり、OSSスタックを支持するすべてのベンダ・ソリューションを除外してよいと言っているわけではありません。しかし業界が成熟していく中で、最新の経済および技術環境により、OSSソリューションの信頼性、実現可能性、費用対効果、および影響力はさらに増すと確信しています。
氏は、ウィキペディアに準じ、フリー・ソフトウェアとオープンソース・ソフトウェアの微妙な違いを注意深く指摘しながら、オープンソース・ソフトウェアの定義を始めた。
オープンソースという言葉は、必ずしもそうとは限りませんが、通常はフリー・ソフトウェアの概念とともに使用されます。この用語において、フリーとは、ライセンスの取得に全く費用がかからないことを意味する場合もありますが、それはフリーソフトウェア財団(FSF)が定義する内容とは少々異なります。FSFは、フリー・ソフトウェアおよびオープンソース・ソフトウェア(F/OSSまたはFOSS)では、ソフトウェアのコピーおよび再利用を自由にできると定義しています。[…]これは、FOSSライセンスでは、ユーザにコピー、修正、共有、再配布、あるいはテクノロジの発展に貢献する権利が与えられていることを意味しますが、必ずしもすべての費用に関して定義しているわけではありません。
また、オープンソース・ソフトウェアには、商用的なもの(COSS)も登場している。COSSでは、「コミュニティはソフトウェアの修正、共有および拡張における特定の局面に対して権利を所有するが、それ以外の権利ついては企業が所有する」とされているが、これにより利用可能な多くのオープンソース・ライセンスの法律用語が一人歩きし、オープンソース・ソリューションの採用をめぐるFUD(Fear(不安)、Uncertainty(疑念)、Doubt(不信)の略)の一因となっている。
では、まず疑念から始めることにします。SOAの観点から考えると、OSSに対する大きな疑念は、2つの主要な問題に基づいています。その2点とは、SOA実装に必要な範囲をカバーするOSSオファリングが十分に存在するか、また、それらのOSSプロジェクトの品質がわれわれのニーズを十分に満たすか、ということです。
氏は続けて、次のように質問に答えている。
個人および企業は、これらの[OSS]ツールに何万時間という開発時間や維持費を注ぎ込んでいます。[…] 多くのオープンソース・ツールは、商用オファリングを既に使用したことのあるユーザの経験に基づいており、それらのソリューションの機能やパフォーマンスに倣うことや改善することを目標としています。
さらに氏は、ベンダ・ツールの多くは買収製品(場合によっては、一連の買収製品)であるため、商用/ベンダ・ソリューションは、製品ポートフォリオにおけるロードマップや他製品との統合に関して"明確に定義されていない"ことが多々ある」と指摘している。続けて氏は、ソリューション分野のさまざまな部分で利用可能な数多くのソリューションを分類し、以下のようにリストアップしている。
[…]Enterprise Service Bus(ESB)機能には、多くのオープンソース・ソリューションがあります。企業は、Mule ESB、Apache Axis2、Apache SynapseおよびApache ServiceMixの実装で成功を収めています。
SOA開発では、Swordfish SOA frameworkやEquinox OSGiフレームワークなど[…]OSSの選択肢は多種多様です。
オープンソースSOAの登録および管理ソリューションには、Mule Galaxy、SOPERA、WSO2のオープンソース登録オファリング、およびMembrane SOA Managementツールなどがあります。
OSSのBusiness Process Management(BPM)およびBPELランタイム・エンジンには、ActiveBPEL、Apache ODE、Orchestraや、その他にも多くのソリューションが存在します。
氏は、OSSソリューションのサポートへの懸念には根拠がないと主張しており、ほとんどのOSSプロジェクトには、有償サポートを提供する営利企業が存在する点について触れている。
多くの優れたOSSソリューションには、レスポンス・タイムを実現し、必須事項を配慮する上で有償サポートが必要となるのは事実ですが、費用は有効に使われていると言ってよいでしょう。OSSオファリングのサポートを提供する営利企業の場合、両者の長所(コミュニティによる低コストまたは無償での開発、テスト、拡張および時間と価値が既知数である本格的なサポート)を生かすことができます。商用ベンダを選択したとしても、いずれにせよ、サポートに対して費用がかかることになります。
さらに氏は、買収、コスト削減、あるいは合併という形でIT業界に変動が生じた結果、各製品および製品ラインが終了することがあるが、OSSではこのリスクが軽減されることを示唆している。
コードはコミュニティで公開されおり、誰でも入手できるため、OSSではリスクが軽減されます。SOAの観点から考えると、可能な限りインフラストラクチャや1つのベンダ・ソリューションへの依存は避けることが望ましいでしょう。そのような意味でも、多くの者にとってOSSは、全く理にかなっています。
続いて氏は、BlueStar Energyの例を挙げ、OSSソリューションに完全に準拠したSOA実装を使用し、5年で2400万ドルの削減を視野に入れている背景について説明している。
ケーススタディを読むと、設計方針には明らかに非ベンダへの偏見があったことがわかります。彼らは環境の管理を望んでいました。これは、実装の中立性を要する仕様作成を意味します。[…]彼らのビジネス統合スイートは、Enterprise Service Bus、ビジネス・プロセス管理システム、メッセージング・ファブリックなど、分散されたスケーラブルで信頼性のあるオープンソースのコンポーネントで構成されています。
氏はアーキテクトに向けて、実装にとらわれずベンダに中立的な方法でアーキテクチャを定義し、対象となるソリューション(オープンソース・ソリューションかベンダ・ソリューションかを問わず)の適正を評価するよう勧めている。氏は次のように、エンタープライズおけるSOA実装に向けたOSSの実行可能性を支持する言葉で記事を締めくくっている。
FUDを事前に確認してください。そして、SOAインフラストラクチャの混合環境からOSSを時期尚早に排除してしまうことで、優位性を失わないようにしてください。
【豆蔵】「オブジェクト指向を現場で活かすリファクタリング入門」新規講座キャンペーン中
世界の先進エンジニアが集結 - QCon TOKYO 2012 早期割引実施中!
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。
Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。
GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式
本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。
前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。
Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。
スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。
No comments
スレッド表示 返信