Más contenido relacionado
La actualidad más candente (20)
Más de Tomoaki Sawada (20)
Introducing Intalio|BOP (Japanese)
- 1. ビジネス OS(オペレーティング・システム)の紹介
2009 年 2 月 16 日 | Ismael Ghalimi, CEO Intalio
10 年前 Intalio を創立した時には、私はトランザクション型のワークフロー・シ
Intalio CTO の Assaf Arkin は、
ステムを開発しようと考えていました。 レガシー
な“ワークフロー”という用語が好きではありませんでしたので、 開発した製
品を“ビジネス・プロセス・マネジメント・システム(BPMS)に re-brand し
ました。2000 年 6 月のことです。それ以来 BPM という言葉は露
出過度になり過ぎ、Intalio のビジョンを完全に表現することが
出来なくなりました。その後、ガートナー・グループが”ビジ
ネス・プロセス・プラットフォーム“コンセプトを提唱し私
たちもその言葉を採用しました。最近になって Cordys が”ビ
ジネス Operation プラットフォーム“の名前で新しい世界
を表現しだしており、この術後に共鳴しました。広範囲に言えば、
Intalio が構築しようとしているのは”ビジネス Operating シ
ステム“と同種のものですが、この用語は多用な異なるものを
記述する際に使われ(Cf. Wikipedia), ”システム“という言葉は
企業の境界を超えて使われるプラットフォームを表現するこ
と(B2B といわれてきた世界)がうまくできません。従って私は
Intalio の製品を”ビジネス Operating プラットフォーム
“と呼称することにしました。
“ビジネス Operating プラットフォーム“のコンセプトは Cordys 製品に近似していますが、Oracle の
Fusion Middleware や SAP の NetWeaver にも似通っています。これは驚くことではなく、Cordys は Jan
Baan, (Baan ERP の創設者)によって創設されたからです。Baan, Oracle と SAP 世界で最も売れている
ERP システムを市場に投入し、そのことでエンタープライズ・アーキテクチャーに多大な影響を与えたか
らです。元々この3つの ERP システムはオペレーティング・システム、リレーショナル・データベース・
システムと各社固有のアプリケーション・サーバーの上に構築されました。今日では、次世代のエンタープ
ライズ・アプリケーションは“ビジネス Operating プラットフォーム“上に構築されなければなりませ
ん。この記事では、そのコンポーネントを議論したいと思います。
“ビジネス Operating プラットフォーム“を構成するものをよりよく理解するため、近代のオペレーティ
ング・システム GNU/Linux を例にしましょう。このような OS は Kernel Space と User Space (ライブラリ
ーとアプリケーション)から構成されています. 最近 M. Tim Jones が書いた非常に優れた解説記事
Anatomy of the Linux Kernel が IBM developerWorks に掲載されています。これから Linux Kernel のコンポ
ーネントと, “Intalio ビジネス Operating プラットフォーム( Intalio|BPP)“のコンポーネントが如何
に合致しているかをご紹介していきましょう。
- 2. プロセス・マネジメント
Linux kernel のようなマルチスレッドのカーネルはかなり高度なプロセス・マネジメントの基盤構造の上
に設計されています。“プロセス”とは、企業がビジネス・オペレーションで使われるプロセスを意味して
CPU を常にビジーにしておくコンピューティングの“threads”を意味しています。
いるわけではなく、 同様
Intalio|BOP は、プロセスの実行の仕方を定義する業界標準の BPEL を実装したプロセス・エンジ
な意味で、
ンの上に設計されています。(Intalio|Server, そのものは Apache ODE の上に構築されています)
メモリー・マネジメント
プロセス・マネジメントの次は、実行されるスレッドで使われる一時データを管理するメモリー・マネジメ
ントです。一時データとは、通常ファイルシステム上に貯蔵される永続性データ(persistent data)とは違
い、そのデータが関係するプロセスのライフサイクルに結びついたデータを意味します。(参照:次のコン
ポーネント) 同様に、ビジネス Operating プラットフォームにおけるビジネス・プロセス・マネジメン
トも、ビジネス・プロセスで使われる一時的データを貯蔵することに責任を持っています。しかし、オペレ
ーティング・システムと違い、BPM システムは2つの主要な理由から、通常一時的データを RDMBS 上に
永続性データとして貯蔵します:一つはアイドルしているプロセス・インスタンスをデータベースに蓄え
て“不動態化(Passivating)”することで、システムとして良くスケール出きるようになることです。第二
に、プロセス・エンジンが停止したり切られたりした場合にもプロセス・インスタンスのデータが紛失し
ないことを保証する事ができてシステムの信頼性が向上するためです。 どちらにしても、一時的データマ
Intalio|Server は OpenJPA レイヤーを利用してお
ネジメントの両方のコンセプトとも基本的には同じです。
り、あらゆるリレーショナル・データベースの上で実装されます。
バーチャル・ファイル・システム
バーチャル・ファイル・システムは、オペレーティング・システムとアプリケーションが使う永続性データを
管理することに責任を持っています。同様にビジネス Operating プラットフォームはビジネス・プロセ
スで使われる文書を管理する責任を持つドキュメント管理ステム(DMS)を含みます。ドキュメントとは構
造化されたもの (XML スキーマ) と非構造化のもの(普通のファイル)のどちらかです。コンテンツ管理シス
テム(CMS)と結びついて、DMS はビジネス Operating プラットフォームの主要なコンポーネントとして
全面的なエンタープライズ・コンテンツ・マネジメント・システム(ECM システム)になります。Intalio|
の、
BOP のケースでは、Apache Sling をコンテント・リポジトリーとして、JSR-170 を標準インターフェース
として使っています。
システム Call インターフェース
OS のカーネルは、ユーザー・スペースで稼動するプロセスに対して、新しいプロセス・インスタンスを開
始したりファイルを読み込むためのシステムサービス CALL を許可するシステム CALL インターフェース
を提供します。同様にビジネス Operating プラットフォームは新規プロセスを展開するための一連のイ
ンターフェース、ドキュメントへのアクセス(JSR-170)、全体プラットフォームの監視(SNMP, JMX)機能を
提供します。 プロセス・エンジンに対する標準 API はまだ定義されていませんが(ある時点で定義され
。。) 、Intalio|BOP は Java API’s と REST と WSDL サービスを利用してプラットフォーム・
るべきですが
インターフェースを提供します。
- 3. デバイス・ドライバー
デバイス・ドライバーは OS に対してディスク装置、キーボードやマウスなどの周辺機器を使うことを可
同様にビジネス Operating プラットフォームは、
能にします。 プロセスが他のシステムやアプリケーショ
ンと統合できるようにするための一連のプロトコル・アダプターやアプリケーション・コネクターを提供
します。 アプリケーション・コネクター(JCA, JBI)の標準を開発する多くの試みがされていますが、誰も
市場では成功していません(SCA は見込みがありそうに見えます)。Intalio|BOP は JBI と WSDL テクノロ
ジー基盤をおいた一連のコネクターと、Apache Tuscany を使って SCA をサポートする計画です。
ネットワーク・スタック
幾つかのリソース(周辺機器など)はコンピューターに直接接続されており、デバイス・ドライバーでアクセ
ス可能ですが、大半は(他のコンピューターを含めて)は遠隔地にあり、ネットワーク・スタックを介して
のみ利用できます。同様にビジネス・プロセスの実行に必要な他のシステムやアプリケーションの殆どは、
業界標準である WSDL を使っ
ファイアウォールの境界を跨ってしかアクセス出来ません。そのような場合、
Web サービス・インターフェースを経由してインテグレーションが実現します。Intalio|Server は BPEL
て、
プロセス実行言語に基盤をおいており、Web サービスの呼び出しには WSDL に依存しています。それにも
Intalio は BPEL の RESTful バージョンを開発しており、将来のリリースでは Intalio|Server でサ
かかわらず、
Web サービス・インターフェースは裏に潜んだエンタープライズ・サー
ポートされます。どちらの場合も、
ビス・バス(ESB)で提供されます。 Intalio|BOP は Intalio|ESB,と呼ばれるコンポーネンを
この目的のため、
含みます。これは Apache Axis2, Apache ServiceMix と Apache Synapse などの複数のオープンソース・プ
Intalio|ESB それ自身は、
ロジェクトの組み合わせで構成されます。 複数サイトでの実装をサポートするため
にメッセージバスの上に実装されます。
これらの6つの主要なコンポーネントが Linux Kernel を構成します。面白いことに、Linux Kernel には
Window レジストリーに似たようなレジストリーの概念がありません。代わりに、コンフィギュレーション・
ファイルがもっと疎結合した形で特定のディレクトリー(/etc or /usr/local/etc)に貯蔵されます。多くの人が
レジストリーが無いことが、GNU/Linux を他の選択肢よりより強壮にしている設計要素であると指摘して
いますが、企業でのビジネス・プロセスの世界では、全てのプロセスと関連する加工品(artifacts)が貯蔵
GNU/Linux がユーザー・ス
され参照されるある種のレジストリーが必要です。そのようなレジストリーは、
ペースレベルで提供するサービスに相似したサービスと一緒に提供される Intalio|BOP のサービスです。
レジストリー
ビジネス Operating プ
多くのオペレーティング・システムがある種のレジストリーを提供していますが、
ラットフォームは、データ・オブジェクト、プロセス、ルール、サービス、ユーザー・インターフェースその
他の全ての加工品(artifacts)を記録したマスター・オブジェクト・レジストリー(Master Object Registry
(MOR))を提供します。それがスケールしデベロッパーやユーザーが遂行する検索(query)をサポートす
レジストリーは RDF, RDFS, と SPARQL などの強固なセマンティック Web テクノロジーを基
るためには、
盤としなければなりません。Intalio|BOP は Jena セマンティック Web フレームワークを Intalio|MOR (将来
のリリースに含まれます)の基盤とします。
ユーザーとセキュリティー管理
多くの OS はユーザーとその権利(entitlement)を管理する方法を提供します。にもかかわらず、そのよう
- 4. なセキュリティー・サービスは通常きめの粗い(coarse-grain)リソース(ファイルとアプリケーション)
のみに限定されており、大多数のユーザーと権利までにスケールできません。ビジネス Operating プラッ
トフォームはそのような制限を克服し、無制限のユーザーとグループに対して、あらゆるリソースと加工
ビジネス Operating プラットフォーム、
品に関係する複雑な権利を定義する方法を提供します。更に、 複
数アプリケーションに跨って実行されるビジネス・プロセスをオーケストレートするため、シングル・サ
インオン(SSO)機能を必要とします。Intalio|BOP は現在 Java Authentication and Authorization Service
(JAAS)を基盤としています。将来のリリースは OpenID と XACML サポートを追加します。
Windowing フレームワーク
1984(Mac OS が最初にリリースされた)以後開発された殆どの OS はエンドユーザーにグラフィカルなイ
ンターフェースを提供する windowing フレームワークを提供しています。同様にビジネス Operating プラ
ットフォームはユーザー・インターフェースの開発をサポートしなければいけませんが、特定のコンピュ
ーターやクライアント側の OS に束縛されること無く、標準ブラウザーを介してアクセス可能でなければ
なりません。多くのリッチ・インターネット・アプリケーション(RIA)フレームワーク(Flash, JavaFX,
Silverlight ほか)が過去数年の間にリリースされましたが、最も幅広く普及しているのはインターラクティ
ブな Web アプリケーションを提供する非同期 Javascript と XML の組み合わせを使った AJAX です。AJAX
は実際はフレームワークというよりプログラミング・スタイルで、Google Web Toolkit (GWT) や Dojo
Toolkit などの複数のツールでサポートされています。 Intalio|BOP は GWT を広範囲に
その部分に対しては、
採用し, AJAX アプリケーション開発のためのグラフィカルな IDE — Intalio|AJAX (TIBCO
General Interface を採用)を提供します。
ユーザー・デスクトップ
全てのグラフィカルな OS はドキュメントとアプリケーションへのアクセスを可能にするデスクトップを
同様にビジネス Operating プラットフォームは、
提供しています。 タスクリスから、ドキュメント・リポ
ジトリーやアドミニストレーション・ツールへアクセスまでの、エンドユーザーに提供される全てのリソ
ースへの単一の入り口であるエンタープライズ・インフォメーション・ポータルを含むことが必要です。
そのようなポータルは、プロセス、タスクまたはドキュメントなどのリソースをユーザーが簡単に共有しコ
ラボレーションが容易にしなければいけません。このために、Intalio|BOP は Liferay オープンソース・プロ
ジェクトと JSR-168 業界標準に準拠した Intalio|Portal を提供します。Intalio|Portal は企業内と拡大された
バリュー・チェインでのソーシャル・コラボレーションのための Liferay Social Office も提供しています。
管理ツール
殆どの OS はコンフィギュレーションとチューニングの目的で管理ツールを提供します。同様にビジネス
Operating プラットフォームはアプリケーションとそれがサポートするプロセスに加えて、各種のコンポ
ーネントを管理するツールも提供しなければなりません。Intalio|BOP のコンポーネントは十分高度な管理
ツールを提供していますが、個々のインターフェースを持っていますので。システム全体の完全なビューを
Intalio|BOP はプラットフォー
把握するには難しさが出てきます。そのような制限をきょうせいするために、
ムの全てのコンポーネントで共有化される統合された管理インターフェースをまもなく提供します。更に
サービス戦略、サービス設計、サービスの移行、サービス・オペレーションと継続的なサービス完全のため
に ITIL V3 プロセスをサポートする機能を提供します。
- 5. システム管理ツール
殆どの OS は CPU 使用率やメモリー・アロケーションなどのメトリックスを追跡する監視ツールを提供
しています。同様にビジネス Operating プラットフォームは、業績評価指標(KPI)で定義しリアルタイ
ム・ダッシュボードで表示できる、プロセス、アクティビティー、トランザクションに関するリアルタイム
情報を提供するビジネス・アクティビティー・マネジメント(BAM)フレームワークを提供します。このため
に Intalio|BOP は Eclipse BIRT オープンソース・プロジェクトを採用した Intalio|BAM というコンポーネン
トを提供します。
統合開発環境( IDE)
あらゆる OS は、色々なスキルセットをもった開発者がカスタム・アプリケーションを開発できるように
ライブラリーと統合開発環境を提供します。同様にビジネス Operating プラットフォームは、ビジネス・
ユーザー、アーキテクト、デベロッパー全員が使える一連の開発ツールを提供しなければなりません。この
ため、Intalio|BOP は特定のユーザーに適した3種類の開発環境、ビジネス・ユーザー向け Intalio|Business
Edition 、プロセス・アナリストとシステム・アーキテクト向け Intalio|Community Edition 、そしてソフト
ウエア・デベロッパー向け Intalio|Developer Edition を提供します。各々のエディションは共通のランタイ
ム・エンジン Intalio|Server に依存しながら全体プラットフォームの特定のビューを提供します。
これらが、現代の OS に対応する要素となるビジネス Operating プラットフォームを構成するコンポー
ネントです。Intalio|BOP に新しく追加されている需要なコンポーネントはビジネス・ルール・エンジン
( BRE)またはビジネス・ルール・マネジメント・システム(BRMS)、コンプレックス・イベント・プロ
セス( CEP)又はイベント・ストリーム・プロセシング(ESP)エンジンとデータ・インテグレーション・
これらのコンポーネントは Intalio|BRE のように現在既に Inalio|BOP に含まれているか、
エンジンです。 近
い将来プラットフォームに追加されます。
アークテクチャーの観点からは、ビジネス Operating プラットフォームはビジネス・クリティカルなア
プリケーションのために使われ、大規模なプロダクション環境で使われる場合は次のような原則を尊重し
なければなりません。
Web ユーザー・インターフェース
Web ベースのユーザー・インターフェースは、クライアント専属のアプリケーションのインターラクティビ
ビジネス Operating プラットフ
ティーと充実さには及びませんが、ギャップは急速に縮まってきており、
ォームの全てのユーザー・インターフェースは2~3年以内に全て Web ベースにならなければなりません。
Intalio|BOP の場合はプラットフォームの中でリッチ・クライアントのコンポーネントは Eclipse ワークベ
ンチを利用した Intalio|Designer のみです。Intalio|Designer の多くのコンポーネントは最初 Web ベースのア
プリケーションとしてパッケージングされ、そのあと Eclipse ワークベンチの中に組み込まれます。Intalio|
AJAX の IDE や Intalio|BRE (Intalio 6.1)のエディターこのようなケースです。さらに進めると、次世代の
Eclipse プラットフォーム(e4) も台頭してきている Web ベースのランタイム技術を活用したプラットフォ
Intalio|Designer の BPMN モデラーも、多分最も拡張が見込まれている Oryx プラットフォー
ームを実現し、
ムを使って、Web ベースのインターフェースへ移行します。
On-demand と On-premise での実装
- 6. ビジネス Operating プラットフォームは on-
最も広範囲なユーセージ・シナリオをサポートするために、
premise と on-demand 両方での実装をサポートする必要があります。On-demand 環境は、水平方向(デー
タセンターに多数のカスタマーをサポート)と縦方向(カスタマーあたりの多数のユーザー)に無制限な
スケーラビリティーを提供するために、バーチャライゼーション・テクノロジーを適切に利用したマルチ・
テナント・アーキテクチャーの上で実装されねばなりません。(Cf. On Multi Tenancy) 。Intalio|BOP は on-
premise と on-demand 環境両方で実装可能です。
グリッド /クラウド・アーキテクチャー
本当のビジネス Operating プラットフォームとはあらゆる Platform as a Service (PaaS) オファリングの
コアとなるビルディング・ブロックと考えられねばいけません。そのため、数千以上のサーバーまで稼動す
るスケーラビリティーを可能にするグリッド/クラウド・コンピューティング環境での実装をサポートし
Intalio|Server は現在 Shoal
なければいけません。そのレベルのスケーラビリティーをサポートするために、
と Apache Hadoop 上でパッケージされており、単一グリッド上で数千データベース・サーバーに展開でき
るオープンソースのデータベース・ベンダーと共同開発しています。
オープンソース
最後ですが、ビジネス Operating プラットフォームはオープンソース・ライセンスで提供されなければ
なりません。私は複数形でかきました、なぜなら、一つのライセンスではこれほど広範囲なプラットフォー
ムの場合は使えません。互換性のあるライセンスの組み合わせなら使えます。ビジネス Operating プラッ
トフォームがオープンソース・ライセンスで提供されなければいけない主要な理由は、こらからの10年
の間ビジネス・クリティカルなアプリケーションの開発をサポートでき、しかもベンダー固有のクローズ
なソフトウエアを使うことによるベンダーロックインや製品提供の停止などによるリスクはあまりにも大
きすぎるからです。このため、Intalio|BOP のコンポーネントは、お互いに互換性のある Apache, BSD,
Eclipse, GPL v3 (plus AGPL and LGPL), と MIT ライセンスで提供されます。
最初のビジネス Operating プラットフォームを開発することが Intalio のミッションで、できる限り早く
実現するために全力を傾注しています。実現のために smart acquisitions, collaborative product
management, self-empowerment の組み合わせが必須であると考えています。以上のことが、読者の皆さん
にとって、興味深く面白いと感じられたら Intalio と一緒に新しい波に乗りませんか?