アーキテクチャ・ジャーナル インターネット サービス バス Donald F. Ferguson、Dennis Pilarinos、John Shewchuk2009/01/19 |
|
●サービス レベルの目標
ISB 上にアプリケーションを導入する企業は、応答時間、スループット、可用性などを指定するサービス レベル契約 (SLA) を定義する必要があります。SLA によって ISB プロバイダが請求する料金が決まります。任意のアプリケーションの SLA の達成は難しい問題です。ISB は任意のユーザー コードを導入しないので、ISB のタスクはもっと単純です。ポリシー、パブリッシュ/サブスクライブ、ワークフロー アクティビティなどの既製テンプレートをインスタンス化し設定することによって、アプリケーションに制約が課せられることになります。これにより、SLA、予測可能なコスト、および一貫性の達成が単純化されます。
●便宜的アプリケーションでのソフトウェアとサービスのリファレンス アーキテクチャ
図 7 : 生態系とビジネスモデル |
図 7 は、この記事で触れた要素がどのように統合されるかを非常に高レベルで概観したものです。まず、インターネット サービス バスは至るところに存在して、すべてのシステムやサーバーを結び付けます。数多くのコンポジット アプリケーションがあり、その中の要素には "ESB" 上にあるものと ISB 上にあるものとがあります。複数組織のコンポジット アプリケーションは、雲の中の ISB に要素を導入するアプリケーションの明らかな例の 1 つです。もう 1 つの可能性は、単一組織のコンポジット アプリケーションで短期間のものです。たとえば、社内会議の管理に使用されるコンポジット アプリケーションです。 "雲の中" で既に構成されインストールされている仮想ソフトウェア プラットフォームを再使用する方が、ハードウェアとソフトウェアを入手して、インストール、設定、サポートなどを行い、アプリケーションを "会社の中" で稼動するより効率が良いかもしれません。
アドホック アプリケーションを数回会議に再使用すれば、便宜的なソリューションから体系的なソリューションが出現するかもしれません。便宜的ソリューションは、体系的ソリューションの具体的なユースケースを提供します。アプリケーションのどの側面が頻繁に使用されたかを示す統計も提供します。
サードパーティは ISB に付加価値サービスを接続します。1 つ目のサービスの種類はインフラストラクチャ サービスです。より強力なワークフロー エンジンや XML クエリ可能なデータベースがその例です。開発者はこのようなサービスをアプリケーション内の URI に接続することによってソリューションに取り入れることができます。このようなインフラストラクチャ サービスは、サードパーティが高度なインフラストラクチャを提供することによってその生態系に加わることができることを示す例です。
2 つ目のサービスの種類は再使用可能な業務サービスです。たとえば、製品情報とカタログを維持する既製のサービスが考えられます。もう 1 つの例としては、大きな会議における会議室の時間割が考えられます。これは、サードパーティがアプリケーションの "ビルディング ブロック" サービスを追加することによってその生態系に加わる例です。ISB コンポジット アプリケーションは、コンポジット アプリケーション内の URI をビルディング ブロック サービスに接続することによって、ビルディング ブロックを使用できます。
最後に、システム インテグレータやソリューション ベンダは、設定可能で拡張可能なソリューションをテンプレートとして提供します。サードパーティは、会議や大会を管理する機能の多くをサポートする設定可能なソリューションを提供できます。パッケージ アプリケーションのベンダは、"試用して購入" できる便利さを提供できます。アプリケーションとその要件のインストールが必要な CD を出荷する代わりに、潜在的な顧客は "雲の中で" バージョンを簡単にインスタンス化できます。
コミュニティは Web 2.0 の重要な側面です。最も重要な側面と言っても良いかもしれません。インフラストラクチャ サービス、基本的なアプリケーション ビルディング ブロック、およびソリューション テンプレートは、コードの公開や共有という形で ISB に関連付けられているコミュニティからも出てきます。コミュニティは、セルフサービスサポートのためのフォーラムも提供し、"サービスとしてのソフトウェア" のプロバイダとしての評判を確立します。
●ソフトウェア+サービス
完全な "サービスとしてのソフトウェア" は神話です。意味のある SaaS ソリューションにはやがて手元のソフトウェアが必要になります。つまり、ハイブリッドになります。インスタンス化されたソリューションの要素の一部はバスに所属します (ワークフローなど) が、バスに接続されたサービスに所属する要素もあります (XML コンテンツ管理システムなど)。手元に "インストール" する要素もあります。実際には ISB と SaaS を使用するシナリオのほとんど全部が手元のソフトウェアと手元に置かないソフトウェアのハイブリッドです。
もう 1 つの例として、Dave のアプリケーションで日程の保管に使用されるデータ ストレージ プロバイダの場合を見てみましょう。日程の読み取りと更新に常にリモート アクセスを使用するのは危険です。ストレージ ベンダは、手元の PC にインストールできるように、キャッシュ、リプリケーション、バージョン管理、その他を使用してデータ アクセスの最適化を計るソフトウェア パッケージを提供するようになると思います。ハイブリッド モデルは「ソフトウェア+サービス」と呼ばれます。
■まとめ
Web アプリケーション モデルを根本的に変えるいくつかのトレンドが結集しています。現在、Web は主に人々が文書やアプリケーションに接続することを可能にしています。根本的な変化は、インターネットと Web を、アプリケーションを実行するプラットフォームであると考えることです。基本的なプログラミング スキルを持つプロフェッショナルは、Web を能率よく使用するために個人的なアプリケーションを作成します。そのようなアプリケーションは、それほどコンピュータに強くない友達や同僚の手にも渡ります。個人的なソリューション "meme (ミーム)" を広めるもう 1 つのアプローチを提供するコミュニティができます。
当然、個人的なアプリケーションの各要素は "雲の中へ移動" します。主なソースは、ユーザーと近くにあるデバイスに応じて自動的に組み立てられる "仮想" PC の広範な使用です。ホテルの部屋でノートブック PC を使用する代わりに、仮想 PC は携帯電話や部屋の中にある TV、インターネット接続、およびキーボードから呼び出すことができます。特定のシナリオを実現するのに必要なソフトウェアだけを含む仮想マシン (VM) を組み立てることができます。VM が提供できるものは次のとおりです。
- アプリケーションの分離
- ユーザーのパーソナル コンピュータの管理方法と似た概念モデルの実装によるエンド ユーザー管理
- マルチコアに基づく拡張プロセッサの自然な活用
このようなトレンドの収束が企業にもたらす恩恵 - 従業員の生産性と士気が大幅に向上します。こまごまとした面倒な仕事が減って、もっと業務上価値のあるタスクに集中でき、仕事が面白くなる可能性もあります。
敏捷性と対応力が向上します。なぜならアプリケーションの開発と変更が数か月ではなく数時間でできるようになるからです。
このような変化を可能にする主要テクノロジはインターネット サービス バスです。SOA、Web サービス、およびマッシュアップは、アプリケーションのビルディング ブロックを統合してカスタム化し拡張するコンポジット アプリケーションの手早い開発を可能にします。このようなコンポジット アプリケーションを Web で使用できるようにすることが次の大きな飛躍であり、Web 2.0 の核心です。その達成の鍵となる要素がインターネット サービス バスなのです。ISB は柔軟なアプリケーション開発を可能にするだけでなく、ソフトウェア プロバイダの生態系にも力を与えます。ISB の機能は、労働力に加わる "プログラミングのできる" プロフェッショナルをサポートします。具体的には、ボトムアップ コミュニティでのロング テール アプリケーションの開発をサポートします。コンピューティング ユニバースの統一理論はソフトウェアとサービスです。そして ISB がこの新しいアプリケーション モデルの中心なのです。
【参考資料】 |
著者について Donald Ferguson 博士 : CTO (最高技術責任者) オフィスのプラットフォームおよび戦略部門におけるマイクロソフト テクニカル フェローを務める。ビジネスにおける情報技術の進化的かつ革命的な役割に注目。また、マイクロソフト入社前は、IBM フェローおよび IBM ソフトウェア グループのチーフ アーキテクトを務め、SWG アーキテクチャ会議の議長として製品インテグレーション、製品間イニシアティブ、および新技術 (Web サービス、パターン、 Web 2.0、ビジネス駆動型開発など ) に注目してきた。主な趣味は拳法空手で、 2005 年 12 月には黒帯を取得。 Dennis Pilarinos : マイクロソフトの Connected Systems 部門でシニア テクニカル リードを務める。著者の仕事については、ブログ (www.dennispi.com) を参照。 John Shewchuk : マイクロソフトの Connected Systems Division (CSD) でテクノロジ戦略チームを率いる。 CSD では、マイクロソフトのアプリケーション プラットフォームの開発に携わり、 Windows Communication Foundation などのアプリケーション メッセージング テクノロジ、 WS-Security などの Web サービス相互運用性仕様、 InfoCard などの ID とアクセスのテクノロジを手がけてきた。Indigo チームの創設者の 1 人であり、異業種間相互運用性の主要推進者である。Indigo チームの他のメンバと共に Web サービスのアーキテクチャと仕様の開発を率い、広範にわたる業界パートナーとの技術的交渉を取り仕切る。 |
INDEX | ||
[アーキテクチャ・ジャーナル] | ||
インターネット サービス バス | ||
1.シナリオ : 便宜的開発と体系的開発 | ||
2.ソフトウェアとサービス : インターネット サービス バス(1) | ||
3.ソフトウェアとサービス : インターネット サービス バス(2) | ||
4.ソフトウェアとサービス : インターネット サービス バス(3) | ||
「アーキテクチャ・ジャーナル」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|