Bloor

ブレークスルー・
アプリケーションの構築

ブレークスルー・アプリケーションは、仕事の進め方に変化をもたらします。
単にプロセスを自動化するのではなく、多くの場合、根本的にそのプロセスを革新し
変化させるものです。組織全体の業務の流れを変える劇的な効果を持ち得るものが
ブレークスルー・アプリケーションです。

フィリップ・ハワード

pdfPDFファイルのダウンロード

概要

従来、顧客にとって魅力的なアプリケーションの構築を目指すソフトウェア開発者は、そのきわめてわかりやすい要件として、高い柔軟性と生産性を備えた開発環境と、アプリケーションに組み込む高速な、メンテナンス不要の高パフォーマンス・データベースを挙げてきました。このデータベースとは、すなわち信頼性が高く、チューニングを必要としないものです。

しかし、関連するビジネス・プロセスの自動化に重点を置いたこれまでのアプリケーションを提供する時代は確実に過ぎ去ろうとしています。とはいえ、このような自動化に価値が無いということではありません。従来のプロセスの中で自動化できるものは、すべて自動化が完了しているというだけにすぎません。したがって、ソフトウェア・プロバイダは、いわゆる "ブレークスルー・アプリケーション" を、どのように提供できるか、考える必要があります。

ブレークスルー・アプリケーションにはどのような特徴があるでしょうか。その最も典型的な特徴は、仕事の進め方を変革する点にあると考えられます。すなわち、単にプロセスを自動化するのではなく、多くの場合、根本的にそのプロセスを革新し変化させるものです。実際、ブレークスルー・アプリケーションは組織全体の業務の流れを変える劇的な効果を持ち得ます。ブレークスルー・アプリケーションでは、主に次の 3 点を検討する必要があると考えられます。

  1. マス・パーソナライゼーション: ブレークスルー・アプリケーションは、ユーザが望むプラットフォーム上で、ユーザが必要とするあらゆる情報を最も適切な形式で提供する必要があります。もはや、アプリケーションを PC から利用可能にするだけでは十分とはいえません。今では、Web アクセスとモバイル・アクセスは、どちらも欠かせない要素であるからです。
  2. すべてのデータへのアクセス: ブレークスルー・アプリケーションは、あらゆる種類のデータにアクセスできることが求められます。それが従来の構造化データであっても、テキストや画像などのコンテンツであっても、またスマート・メータなどのデバイスから収集された情報であっても同様です。例えば、これまでのアプリケーションは、純粋にトランザクションを目的としたものや、完全にコンテンツに特化したものが主流でした。要するに、これまでのアプリケーションは、独立したデータのサイロに限定されたものであり、フォーマットに関係なくすべての関連情報を対象とするものではありませんでした。
  3. 情報に基づいた行動: ブレークスルー・アプリケーションは、高度なアクションを促します。前述のとおり、ブレークスルー・アプリケーションが扱う領域はプロセスの自動化に留まりません。このようなアプリケーションには、意思決定やアクションの実施といった人為的要素が必ず伴います。

このホワイトペーパーは、ブレークスルー・アプリケーションの概念をより詳しく説明することを目的としています。さらに、このようなアプリケーションを支える基盤となる、開発環境やデータベースなどのテクノロジ要素との関連性も取り上げます。ソリューションのこれらの要素に対する従来の要件は、前述のようにこれからも存在し続けますが、ブレークスルー・アプリケーションの実現に向けて新たに必要となる機能もあります。本ホワイトペーパーの最後では、ソフトウェア・テクノロジ・ベンダであるインターシステムズ社が、ブレークスルー・アプリケーションを実現するための要件に、どのように応えているかをご紹介します。

マス・パーソナライゼーション

明らかに、マス・パーソナライゼーションは矛盾のある言葉です。そのため、詳しい説明に移る前に、この言葉の意味を明らかにしておく必要があると思われます。”マス”が、アプリケーション・プロバイタが、一般(マス)の多種多様で厳しい要求に応えることを意味するのに対し、”パーソナライゼーション”は、アプリケーションを各ユーザの特定の要望に合わせて調整することを意味します。

特に、今日のユーザは、必要な情報が必要なときに必要な形式でアプリケーションから得られることを期待しています。ユーザが求めることは、彼らが選択したデバイス上でアプリケーションと情報が利用できることであって、アプリケーション・プロバイダによってデバイスの種類が指定されることではありません。また、データの提示形態に関してもユーザの要件は厳しく、それぞれの目的に合わせて的確に調整され、カスタマイズされることをユーザは望んでいます。

ユーザ・インタフェースにおける急速な発展を考えると、マス・パーソナライゼーションは高度なアプリケーションの開発者に大きな影響を及ぼします。アプリケーションには、現行のデバイスやインタフェースをサポートする機能だけでなく、新しいデバイスやインタフェースの出現と同時に、すばやくそれらに対応して容易に使用できる敏捷性が求められます。さらに、そこにはデバイスの新旧にかかわらず、一貫性のあるユーザ・エクスペリエンスの実現も必要です。高度なアプリケーションは、ユーザの要望に応じて個々にカスタマイズできる拡張性を備えていなければなりません。

エンド・ユーザに対して、このような柔軟性を実現するために、重要な要件が 1 つあります。それは、ユーザ・インタフェースを支えるロジックを、アプリケーションの機能を提供するコードから分離すること、同時にそのコードをデータから分離することです。依存性を無くすことで、これらのどの要素に修正や追加が発生しても、アプリケーションの他の部分に影響が及ぶことはありません。

このインタフェース・ロジック、コード、データで構成する 3 層モデルの要件は、決して目新しいものではありません。しかし、アプリケーションとの新たな関わり方(例えば、キーボードやマウスの代わりにタッチ・スクリーンを使用する等)を導入することで、この 3 層モデルの必要性が以前よりも高くなります。特に、開発のその他の要素からユーザ・インタフェースを考慮する事を切り離すことは、大きな変化となります。

すべてのデータへのアクセス

マス・パーソナライゼーションが既存要件の拡張に関わるものであるとするならば、あらゆる種類のデータにアクセスできることは、より根本的な変化を意味します。

基本的に考慮すべきデータは、構造化データ、非構造化データ、およびイベント・データの 3 種類です。ブレークスルー・アプリケーションでは、これらすべての種類のデータを自身で保持していることが必要な場合もあれば、これらのデータにアクセスできることが必要な場合もあります。

  1. 構造化データ: この最も一般的な例は、トランザクション・データです。データの構造は、データを取得、保存、処理する方法に基づいてデータに適用されます。その適用では、オブジェクトまたはテーブルの個々の形式で、定義の明確なスキーマを使用します。この種類のデータに対しては、比較的容易に検索やクエリを実行できると共に、そのような検索やクエリを実行する意味を明確に定義し、解釈できます。
  2. 非構造化データ: 非構造化データの最も一般的な例はテキストですが、映像やオーディオなどのリッチ・データ型もこの種類のデータです。非構造化テキストとしてデータを保存する多くのアプリケーションは、一般的にプレーン・テキスト、リッチ・テキスト(RTF)、XML、または BLOB(Binary Large Object)の形式を取っています。通常、映像やオーディオは、BLOB として保存されます。一般的に、この種類のデータは、構造化データと比べ、サイズと量の面で数桁大きくなります。非構造化データの最も注目すべき特徴は、多くの場合、そのコンテンツから意味を取り出すことが非常に困難であることです。このようなデータに対して検索やクエリを実行すると、多数の無駄なサイクル(精度の低い検索やスキャン)が発生することが多いだけでなく、データから概念的な意味を解釈できないことも少なくありません。
  3. イベント・データ: イベント・データの処理を必要とする環境が増えています。これは、イベント・データを取得し、(場合によっては、構造化データや非構造化データと組み合わせて)分析したうえで、その情報に基づいてアクションを起こすプロセスを意味します。このようなプロセスは、全てとはいえないまでも、通常は自動化されます。イベント・データの典型的な例として、株のティッカー、クリックストリーム・データ、ログ・データがあります。例えば、センサ・データは、技術の発達により、今後”よりスマートに" なるにつれて、急速に普及しています。それに伴い、センサ・データを定期的または頻繁に自動生成して、主要なアプリケーション・データベースに送信する周辺機器も急増しています。例えば、病院では、患者に関する測定値や結果を直接その患者の記録に自動入力する監視システム(血圧モニタなど)が設置されるようになっています。心拍数モニタや血中酸素濃度モニタなどでも同様の状況になっています。これは医療の現場に限ったことではなく、あらゆる種類のスマート・メータが広く使用されるようになっています。例えば、電力会社や公益事業会社では、電力使用量の急増を的確に予測して十分な電力を確実に供給できるように、家庭での消費電力を電子的に追跡する取り組みを始めています。この種のデータを保存して管理するための要件は、構造化データまたは非構造化データのいずれとも異なります。多く見られる例として、センサ・データの収集にあたって注目する条件の変化があります。"変化のない安定した" 情報は必ずしもすべて保存する必要はないので、データを保存する前に何らかのフィルタ処理メカニズムが必要になります。さらに、イベントを正確に分析するには、多くの場合、それらのイベントが発生した順序を知る必要があります。したがって、そのような場合はタイムスタンプを持ったイベント・データの保存が必要になります。より一般的な状況として、このようなデータの生成頻度が高くなることにより、データの取得と保持に関する要件が急激に厳しくなるだけでなく、該当のアプリケーションを実行する中でデータから何らかの意味を見いだすために、さまざまな検索、並べ替え、クエリを実行する機能が必要になります。

これまでは、構造化データの保存にはリレーショナル・データベースが使用され、非構造化テキスト・データのサポートにはコンテンツ管理システムが利用されてきました。また、イベント・データの保存ではイベント・ストア(そのほとんどが、フラット・ファイル・システムまたは列ベースのデータベースです)が展開されてきました。現在、その構図がある程度変化してきており、特に非構造化データの分析をサポートする NoSQL("not only SQL")データベースの導入でその変化が顕著です。ただし、この変化によって、これらの異なる種類のデータを保存および管理するうえで、3 種類の独立したメカニズムが必要であるという根本的な問題が変わるわけではありません。これは、分析のみを行う連合データウェアハウス環境では問題にならないかもしれませんが、ユーザにブレークスルー・アプリケーションを提供する必要がある場合には、そのために 3 つの異なるデータ・ストアに基づくプラットフォームを使用するわけにはいきません。したがって、これらの異なる種類のデータをすべて処理できる単一の環境が必要になります。

これらの異なる種類のデータを全て処理できる単一のプラットフォームが存在しているとしても、他から得たデータを使用する場合もあります。例えば、地理的なデータや位置に基づくデータを使用して既存情報の充実を図る場合や、ダン&ブラッドストリート 社や エクスペリアン 社などのソースにアクセスする場合です。そのため、情報源がインターネットかその他の企業データ・ソースかに関わらず、アクセスして情報を収集するには、サードパーティ・システムとのある程度の統合も必要となります。

情報に基づいた行動

ブレークスルー・アプリケーションは、インテリジェントな行動を導くことが求められます。これは、次の手順の一部または全てを実行する継続的なビジネス・サイクルによって実現可能です。

  • 第一に、アプリケーションは、ユーザ、システム、デバイスなどの情報源にかかわらず、適切で確実な形式でデータを取り込む必要があります。
  • 第二に、取得したデータを組織全体で共有し、データを "サイロ" から解放して、ユーザが全てのデータを利用できるようにする必要があります。
  • 第三に、データをアプリケーションで理解し、意味を持つ有効な情報に変換する必要があります。つまり、構造化データ、非構造化データ、イベントに基づくデータといったデータの種類を問わず、全てのデータをアプリケーションで解釈できることが求められます。
  • 第四に、アプリケーションは、データから収集した情報に基づいてユーザが適切なアクションを起こすことができるようにする必要があります。

“ブレークスルー・アプリケーション” の実例

インターシステムズ社の技術と、それが前述の要件をどのように実現するかについて説明する前に、その理解の手がかりとして、インターシステムズ社のパートナーが構築したブレークスルー・アプリケーションの事例を以下にいくつか挙げます。

オプタラート車両システム

Optalert

オプタラート車両システムは、世界有数の採掘会社や、運輸会社の多くで利用されています。このシステムは、運転者の集中力のレベルを正確に測定することによって眠気の初期兆候を検出する世界で唯一のリアルタイム安全システムであり、運転者とその雇用企業の両方に対し、定量化した疲労リスクのプロファイルを提供します。運転者は専用のオプタラートめがねを着用します。このめがねのフレームには小型の赤外線送受信機が取り付けられており、運転者のまぶたの動きが 1 秒間に 500 回測定されます。これによって大量のデータが生成されますが、このデータは InterSystems Caché データベースに保存され、管理されます。このシステムでは、InterSystems DeepSee を使用して、眠気に関するリアルタイムの警告を生成できるだけでなく、企業レポートの作成、傾向の分析、改善余地の発見も可能です。このオプタラート社のソリューションは、SaaS(サービスとしてのソフトウェア)ビジネス・モデルを通じて利用できます。また、直接ライセンス購入可能なソフトウェアとしても利用可能です。

BTC 社の高度なメータ管理システム

BTC

BTC ビジネステクノロジ・コンサルティングAG は、インターシステムズ社のインテグレーション技術を利用して、ドイツで "スマート・エネルギ・グリッド" を管理するブレークスルー・アプリケーションを開発しました。家庭や企業に設置したスマート・メータから、常に、データが高度なメータ管理システムに送信されます。送信されたデータをこのメータ管理システムでリアルタイムに分析し、その結果をエネルギ資源の効率的な割り当てに使用することで、資源の浪費低減を図ることができます。EU の市場ガイドラインに基づき、2020 年までにドイツの全世帯の 80% にスマート・メータを設置することになっています。これは、およそ 3,200 万世帯に相当します。つまり、膨大な量のイベント・データを取得して、分析し、その結果に基づいて対応する必要性が発生する見込みです。

プレス・コンピュータ・システム

PCS

英国に拠点を置く プレス・コンピュータ・システム(PCS)は、同社が "出版社ではないが何でもできる賢いソリューション" と表現するサービスを提供しています。具体的には、同社は、統合マルチメディアとデジタル・コンテンツの管理システムである PCS ナレッジを新聞業界に提供しています。インターシステムズ社の技術を使用して構築された PCS ナレッジは、従来の配信フォーマットによる束縛からコンテンツを解放し、複数のフォーマットでニュースを同時に公開し、記者、編集者、制作チームを支援します。また、ページ編集、通信社管理、写真編集、デジタル・アーカイブ管理の各機能を 1 つのシステムに統合し、より簡単で迅速に、充実したマルチメディア配信を可能にする高度なワークフローを提供します。さらに、互いに関連していながら構造化されていないコンテンツ(テキスト、音声、映像、画像など)を分析、関連付け、保存する機能も備えています。この機能により、記者が記事を書く際に関連のコンテンツを自動的に取得して表示することや、記事のコンテンツに基づいて適切な編集者にそれらの記事を送信することなどが可能です。

ブレークスルー・アプリケーションを実現するインターシステムズ社の統合技術

前述の 3 つのユーザ事例では、ブレークスルー・アプリケーションの概念だけでなく、インターシステムズ社の技術が、どのように各社のアプリケーション構築を実現したかについてもご紹介しています。ここで、インターシステムズ社の主要製品群を詳しく考察します。これらの製品群は、連携することによって統合ソリューションとして機能します。

InterSystems Caché

Caché は、データベース(厳密には、データベース管理システム)である一方で、迅速なアプリケーション開発(および展開)環境でもあります。データベースとして利用する場合、この製品は多次元ストレージ・エンジンを使用します。そのため、必要に応じてリレーショナル・テーブルとしても使用できます。これは、テーブルが 2 次元配列であるからです。また、このエンジンはオブジェクト指向アプローチをサポートしており、複数のテーブルに情報を分散させなくてもビジネス・オブジェクト(顧客、患者など)を完全なエンティティとして保存できます。同時に、リレーショナル・アプローチを利用する際に必要となる複雑な参照整合性からも解放されます。また、Caché の多次元ストレージ・エンジンは、グローバルと呼ばれるデータ構造へのダイレクト・アクセスをサポートしており、アプリケーションの要求に応えるきわめて優れたパフォーマンスを提供します。

Caché データベースは、XML だけでなく、さまざまな種類の非構造化データの保存にも適しています。さらに、インターシステムズ社の iKnow テクノロジにより、Caché に保存された非構造化データの概念と関係を検出する機能を提供します。従来の定性分析手法と異なる明らかな利点は、事前定義のディクショナリやオントロジを iKnow が必要としないことです。

Caché は拡張性が高く、高度な同期化機能とレプリケーション機能を備えています。また、これまでのデータベース製品の中でも最高水準の可用性を実現しています。

Caché を開発環境として利用する場合は、SQL のほか、広く使用されている多彩なプログラミング言語(C、C++、Java、.NET、Python など)を使用できます。さらに、Caché は Web サービスの構築と利用の大部分を自動化するので、サービス指向アーキテクチャ(SOA)との適合性に優れています。

データベースとの密接な統合を活用したCachéの開発環境は、優れたパフォーマンスを提供します。その機能には、以下のものがあります。

  • Caché オブジェクトスクリプト :オブジェクト技術およびグローバルの直接操作のどちらを使用しても、データベースにアクセスできます。
  • Javaのための Caché eXTreme :Java によるグローバルへの直接アクセスを実現し、Java 開発者は任意の IDE を使用して、イベント・データの処理に適した大容量で待ち時間の非常に短いアプリケーションを構築できます。
  • InterSystems Zen :AJAX(Asynchronous JavaScript and XML)を拡張したテクノロジであり、機能豊富な Web ベースのアプリケーションの開発に利用できます。

特定の技術に制限されないことは、注目に値します。例えば、Caché を使った開発では、必要に応じて、サポートされているさまざまなアクセス手法を組み合わせたりすることも珍しくありません。

ブレークスルー・アプリケーションを開発する上で、特に有用なCaché の機能は何でしょうか?これには次のような機能があります。

  1. Caché は、ブレークスルー・アプリケーションの実現に必要なデータベース・パフォーマンス、拡張性、および信頼性を提供します。その柔軟性の高い多次元データ構造には、構造化データと非構造化データの両方を保存できます。データベースに直接アクセスできるオプションにより、イベント・データの処理に必要な高いパフォーマンスが得られます。
  2. ブレークスルー・アプリケーションは、ほとんどの場合、Web ベースのユーザ・インタフェースを備えており、それらをスマート・フォンやタブレット・コンピュータなどの各種プラットフォーム上で実行するための Web サービスを利用します。Caché は、Web サービスおよび機能豊富な対話型の Web インタフェースを迅速に作成する機能を備えています。
  3. アプリケーションが収集し、保存するデータの大半は構造化されていません。Caché では、インターシステムズ社の iKnow テクノロジを利用することで、ブレークスルー・アプリケーションから非構造化データにアクセスし、分析して、使用することができます。

InterSystems Ensemble

InterSystems Ensemble は、一貫したアーキテクチャを持つ、単一のインテグレーションプラットフォーム(統合サーバ、データ・サーバ、およびポータル開発ソフトウェア)であり、Caché データベースを使用して永続性を実現しています。これにより、接続可能な新しいアプリケーションの迅速な統合と開発が可能になります。また、Ensemble は、既存のコードを書き換えずに実装できるワークフロー、ブラウザ・ベースのユーザ・インタフェース、ダッシュボード、およびルール・ベースのビジネス・プロセスを備えています。これにより、Ensemble を使用して既存のソフトウェアの機能を容易に拡張、強化できます。また、複合アプリケーションを開発する中で既存のソフトウェア投資を有効に活用し、ESB(エンタープライズ・サービス・バス)や SOA基盤の構築を実現します。

ブレークスルー・アプリケーションの開発に関して、Ensemble は次の 2 つの重要な機能を提供します。

  1. Ensembleにより、開発者は組織内のすべてのアプリケーションを接続し、すべてのデータにアクセスできるようになります。
  2. Ensemble により、開発者は、ユーザが情報に基づいた行動を取れるような仕組みを構築できます。

InterSystems DeepSee

InterSystems DeepSee は、Caché および Ensemble の両方と連携するアクティブな分析エンジンです。業務アプリケーションにリアルタイムのビジネス・インテリジェンス(BI)機能の組み込みを実現する開発環境を提供します。データウェアハウスなどの外部データ・ストアは不要です。つまり、事前に別の場所にデータを保存しておかなくても、トランザクション・システムからライブ・データを取得して、適切な分析を直接実行できます(必要に応じてデータウェアハウスから過去のデータを引き出すことも可能です)。この結果、開発者はトランザクション・アプリケーションに直接 BI 機能を組み込むことができます。

DeepSee と InterSystems iKnow テクノロジを組み合わせて使用すると、構造化データと非構造化データの両方において、アクティブな分析が可能になります。これにより、ブレークスルー・アプリケーションが成し得ることに対し、理解の幅が広がる可能性を持っています。

まとめ

このホワイトペーパーでは、ブレークスルー・アプリケーションの要件について説明しました。当然のことながら、このドキュメントで取り上げた要件の全ての要素が、全てのブレークスルー・アプリケーションで必要とされるわけではありません。しかし、前述したように、マス・パーソナライゼーション、すべてのデータへのアクセス、および情報に基づいた行動は、いずれも重要な要件です。

インターシステムズ社は、あらゆるブレークスルー・アプリケーションの構築で必要となる全ての機能が 1 つの製品で提供可能であると主張しているわけではありません。同社の主張とは、ブレークスルー・アプリケーションを実現するために考えられる全ての要件の基盤として Caché が機能可能であるということです。ブレークスルー・アプリケーションのニーズに応えるために、Ensemble または DeepSee を展開し、 iKnow テクノロジを使用することにより、さらに充実したものにすることができます。インターシステムズ社は、単一の統合技術を基本として、高可用性、障害回復、クラウド・ベース(SaaS)ソリューションのサポートはいうまでもなく、このホワイトペーパーで取り上げた全ての要件にも応えることができます。このようなベンダは、他にないと言ってよいでしょう。

詳細情報

さらに詳細な情報は、http://www.BloorResearch.com/update/2102 をご参照ください。