Eclipse Plugin開発スキル

Download Report

Transcript Eclipse Plugin開発スキル

IBM Sterling Call Center Client Application
カスタマイズ・ガイド
© 2012 IBM Corporation
目次
 はじめに
– はじめに
– 留意事項
 概要
– Call Centerとは
– Call Center Client Applicationのカスタマイズ
 開発環境セットアップ
 カスタマイズ
– Eclipse Pluginのカスタマイズ(例)
– Call Centerのカスタマイズ(例)
– カスタマイズ後パッケージ手順
 補足資料
© 2012 IBM Corporation
はじめに
 はじめに
– はじめに
– 留意事項
 概要
– Call Centerとは
– Call Center Client Applicationのカスタマイズ
 開発環境セットアップ
 カスタマイズ
– Eclipse Pluginのカスタマイズ(例)
– Call Centerのカスタマイズ(例)
– カスタマイズ後パッケージ手順
 補足資料
© 2012 IBM Corporation
はじめに 1/2
 本文書について
– 本書は、 IBM Sterling Call Center Client Applicationのカスタマイズにおける、環
境の準備とカスタマイズの一例について記述したものです。
– IBM Sterling Call Center Client Applicationのカスタマイズには必要とされる前提
スキルが多岐にわたっており、すべてを解説するには膨大すぎます。必要と思われ
る部分については、なるべく本書で完結するように記載しておりますが、不足する部
分については適宜EclipseのRCP/Plugin開発に関する書籍等で補って下さい。
 前提
– カスタマイズ作業には開発環境としてEclipse環境が必要です。
– また、Sterling Selling and Fulfillment Foundationに加え、 IBM Sterling Call
Center and Sterling Storeが導入済みのサーバー環境を必要とします。
– 本書で前提としたサーバー環境
•
•
•
•
•
Red Hat Enterprise Linux 5.5
WebSphere Application Server V7.0
DB2 Enterprise Server Edition V9.7
IBM Sterling Selling and Fulfillment Foundation V9.1
IBM Sterling Call Center and Sterling Store V9.1
© 2012 IBM Corporation
はじめに 2/2
 用いる可能性のある略称
– IBM Sterling Selling and Fulfillment Suite
– IBM Sterling Call Center and Sterling Store
– Red Hat Enterprise Linux
– WebSphere Application Server
– DB2 Enterprise Server Edition
・・・SFS
・・・Call CenterあるいはCOM
・・・RHEL
・・・WAS
・・・DB2
※IBM Sterling Call Center and Sterling StoreのうちCall Center部分についてフォーカスしている都合上、
IBM Sterling Call Center and Sterling StoreをCall CenterあるいはCOMと表記します。
※その他、必要に応じて文中にて「以降xxx」という形で略称を適宜導入します。
 留意事項
– Infocenterを含む各種製品ドキュメント内では、いわゆるCOMとCOM Clientを区別
した記載が為されていませんが、本書ではこれらを意識的に区別し、Client
Applicationを意識した記載をします。
– 本書はCOM Clientのカスタマイズ手順に関して説明するものであり、従ってCOMと
単体表記した場合は、製品全体を指すかまたはサーバー側を意識した記載であると
ご理解下さい。
© 2012 IBM Corporation
概要
 はじめに
– はじめに
– 留意事項
 概要
– Call Centerとは
– Call Center Client Applicationのカスタマイズ
 開発環境セットアップ
 カスタマイズ
– Eclipse Pluginのカスタマイズ(例)
– Call Centerのカスタマイズ(例)
– カスタマイズ後パッケージ手順
 補足資料
© 2012 IBM Corporation
Call Centerとは
 Call Centerとは
– IBM Sterling Call Center and Sterling Store に含まれるCall Centerアプリケーショ
ンを指します。
– Production環境としては、IBM Sterling Selling and Fulfillment Foundationを導入
した環境に対してIBM Sterling Call Center and Sterling Store を導入し、ユーザー
が使用するクライアント環境にIBM Sterling Call Center Client Applicationを導入し
ます。
サーバー
クライアント
アプリケーション・サーバー
JDBC
smfcs.ear
HTTP
COM Client
本書のカスタマイズ対象
WASのコネクションプールを
使用する構成も可能
© 2012 IBM Corporation
Call Center Client Applicationのカスタマイズ 1/2
 Call Center Client Applicationのカスタマイズ
– COM Clientは、EclipseのRCP(Rich Client Platform)をベースにしています。
– そのため、COM Clientのカスタマイズには、Eclipse Plugin開発環境が必要となり
ます。
 Eclipse Pluginについて
– 一般にPluginとは、アプリケーションが提供している環境の元、そのアプリケーション
を拡張する機能・機構、またその拡張された機能自身を指します。
– Eclipseの場合は、コアとなるランタイム部分の以外が、すべてがPluginとして構成さ
れおり、そのPlugin自体をさらに拡張することを可能としています。
Plugin
Plugin
Plugin
Plugin
Plugin
Plugin
Plugin
Plugin
Application
Eclipse core
OS
© 2012 IBM Corporation
Call Center Client Applicationのカスタマイズ 2/2
 Call Center Client Applicationのカスタマイズ(再び)
– COM Clientのカスタマイズとは、前述のEclipse Pluginの拡張を利用して、製品が
提供しているCOMをカスタマイズする事を意味します。
– 基本的なPlugin拡張の手順は、Eclipse Pluginのそれと同じです。
– COM Clientのカスタマイズは方法は、『Customizing the Rich Client Platform
Interface(Customizing_RCP_Interface.pdf)』に記載されています。
– 前述の製品マニュアルで解説されているのは、ログイン画面の変更、既存画面の拡
張、新規画面の追加、データのマスキング、セキュア通信など多岐にわたります。本
書では3章に記載の環境セットアップと、一般的なEclipse PlugInの拡張手順と
COM Clientの拡張手順の一例を解説します。
 カスタマイズに必要となる知識
– 上位レイヤーから順に示すと以下のようになります。
1.COM Clientのカスタマイズ・スキル
2.Eclipse Plugin開発スキル、Visual Editorを用いた開発スキル
3.Eclipse開発スキル
4.Java開発スキル
※繰り返しに成りますが、本書では赤下線部分の一例を解説します。
© 2012 IBM Corporation
開発環境セットアップ
 はじめに
– はじめに
– 留意事項
 概要
– Call Centerとは
– Call Center Client Applicationのカスタマイズ
 開発環境セットアップ
 カスタマイズ
– Eclipse Pluginのカスタマイズ(例)
– Call Centerのカスタマイズ(例)
– カスタマイズ後パッケージ手順
 補足資料
© 2012 IBM Corporation
開発環境セットアップ 1/11
 前提
– 本書では、Windows XP SP3上に環境構築することを前提とします。
– その他のサポートされた環境については、以下を参照下さい。
http://publib.boulder.ibm.com/infocenter/sfsf/v9r1/index.jsp?topic=%2Fcom.ibm.help.sys.req.doc%2
Fr_SystemRequirements-RichClientPlatformApplication.html
Name
Eclipse
SDK
Version
Eclipse SDK 3.3
Name
Version
GEF plugin
GEF Plugin 3.2, SDK
EMF plugin
EMF Plugin 2.2.0, SDK (includes EMF, SDO, XSD)
VE plugin
Visual Editor Plugin 1.2, SDK
JDK
JDK 6.0.
JRE
JRE 6.0 Update 21 (Java Plugin 1.6.0_21)
なお、当タスクにて製品サポートへ確認したところ、Eclipse SDKにおけるPluginについては、それぞれの
バージョンの最新モジュールもサポートされます。
例:”VisualEditor Plugin 1.2, SDK” → 1.2.3でもサポートされる
© 2012 IBM Corporation
開発環境セットアップ 2/11

開発環境概要
– 開発環境は1.Eclipse本体、2.Eclipse Plugin、3.Sterling提供Pluginの3つタイプのモジュー
ルに分類されます。これら3つの分類はあくまで本書における分類であり、Infocenterを含む
製品ドキュメントにおける記載ではありません。
1. Eclipse本体 ・・・EclipseはVersion 3.3からそのパッケージによる配布形態が変更されて
います。「Eclipse for RCP/Plug-in Developers」という名称のパッケージを入手します。
2. Eclipse Plugin ・・・以下の3つのプラグインは、Eclipse公式プロジェクトとして開発された
ものです。
GEF Plugin 3.2, SDK
EMF Plugin 2.2.0, SDK (includes EMF, SDO, XSD)
Visual Editor Plugin 1.2, SDK
3. Sterling提供Plugin ・・・Call Centerを導入済みのサーバー環境から入手し、Eclipse環境
へ導入します。
Rich Client Platform plug-in
Rich Client Platform Tools plug-in
© 2012 IBM Corporation
開発環境セットアップ 3/11
 セットアップ手順
– JDKインストール
• 特別な注意事項はありません。JAVA_HOMEとPATHの手当が出来ていれば問題ありません。
– Eclipseインストール
• 特別な注意事項はありません。ダウンロードしたアーカイブ・ファイル(zipファイル)をお好みの場所へ展
開して下さい。以降、展開した際にeclipse.exeが配置されたディレクトリをECLIPSE_HOMEディレクトリ
と呼びます。
– Eclipse Pluginインストール
• Eclipse V3.3では、「Software Update」機能により、オンラインで直接Pluginを導入、更新できる機能が
ありますが、本書ではPluginをWebブラウザ等でダウンロードした後、手動で導入する方法を取ります。
• 都合3つのzipファイルをダウンロードした後、zipファイルを展開します。
• 展開後のディレクトリ内には、それぞれfeaturesディレクトリとpluginsディレクトリがあります。
• 同様にECLIPSE_HOMEディレクトリにもfeaturesディレクトリとpluginsディレクトリがあります。
• PluginのfeaturesディレクトリとpluginsディレクトリをECLIPSE_HOMEディレクトリのそれに上書きでコ
ピーします。
• 3つのPlugin分の上書きコピーが完了したところで、コマンド プロンプトから eclipse.exe –cleanで起動
します。
© 2012 IBM Corporation
開発環境セットアップ 4/11
 セットアップ手順(続き)
– Eclipse Pluginインストール(続き)
• 構造上はVisual Editorの前提として残りの二つのPluginを必要とするため、Visual Editorを使用する
Projectを作成し、パレットが現れることを確認して下さい。
• 具体的な手順が不明な方は、「補足資料」を参照下さい。
※この手順でここまでの作業のすべての正当性を確認出来ているかどうかは当方でも把握していません。このタイミングで稼働確認を実施する
目的は、Eclipse本体とEclipse Pluginの組み合わせによっては、Visual Editorが正しく動作しないことを確認しており、その場合には以降のス
テップに進む意味が無くなってしまうために、このタイミングでの簡単な稼働確認を行っています。
• 確認完了後、Eclipseを終了して下さい。
– Sterling提供Pluginインストール
• サーバー上のCOMのインストール・ディレクトリ配下に./rcp/COM/9.1/platform/rcpclientというディレクト
リがあります。
• 前述のディレクトリ配下にある6つのディレクトリ(例:com.yantra.ide.rcptools.core_1.1.0)を、
ECLIPSE_HOME/pluginsにコピーします。
• 次に、サーバー上のCOMインストール・ディレクトリ配下にある./rcp/COM/rcpclient/com.zipを展開し、
pluginsディレクトリ内にあるファイルをECLIPSE_HOME/pluginsにコピーします。
※com.zipが存在していないときは、「IBM Sterling Call Center インストール・ガイド」を参照して生成して下さい。
• Eclipse Pluginの時と同様にcleanオプションを付けて起動します。
※なお、cleanオプションを付けるのは、Pluginをインストールした直後の起動のみで、通常時は必要ありません。
© 2012 IBM Corporation
開発環境セットアップ 5/11
 セットアップ手順(続き)
– 開発環境動作確認の準備
• 開発環境の動作確認を行うに当たって、COM Clientの接続先情報を保管している
locations.ycfgを必要とします。これはEclipse_HOMEディレクトリの
plugins\com.yantra.yfc.rcp_1.0.0配下にあるresources.jar内に格納されている必要があ
りますが、前述の手順にて展開したcom.zip内ですでに構成が済んでいる場合は、対応済
みの内容になるために不要です。
• 展開したcom.zip内のresources.jarを展開し、 locations.ycfgを確認して下さい。
• 存在しない場合は、 locations.ycfg.sampleを元に、サーバー環境と接続が出来るよう構
成して下さい。手順については「IBM Sterling Call Center インストール・ガイド」を参照下
さい。(手順4にて記載があります)
© 2012 IBM Corporation
開発環境セットアップ 6/11
 セットアップ手順(続き)
– 開発環境動作確認
• 新規のPlug-in Projectを作成します。その際プロジェクト名称を入力するほか、Source
folderとOutput folderは空欄に、残りはすべてデフォルト値でウィザードを終了して下さい。
© 2012 IBM Corporation
開発環境セットアップ 7/11
 セットアップ手順(続き)
– 開発環境動作確認(続き)
• 作成されたプロジェクトに対して、右クリック、
New→Otherをクリックして下さい。
• RCP Pluginを選択後、Nextをクリックします。
• Browseをクリックして、プロジェクト内のソースフォ
ルダを選択後、Finishをクリックします。
© 2012 IBM Corporation
開発環境セットアップ 8/11
 セットアップ手順(続き)
– 開発環境動作確認(続き)
• 正常に作成されると、以下のようにプロジェクト名_ から
始まる4つのファイルが生成されます。
• 作成したプロジェクトを実行し、動作確認を行います。
• プロジェクトを右クリックし、Run As→Open Run Dialog
をクリックして下さい。
© 2012 IBM Corporation
開発環境セットアップ 9/11
 セットアップ手順(続き)
– 開発環境動作確認(続き)
• Mainタブで、Run a productでcom.yantra.yfc.rcp.common.CallCenterApplicationを選
択して下さい。
© 2012 IBM Corporation
開発環境セットアップ 10/11
 セットアップ手順(続き)
– 開発環境動作確認(続き)
• Launch withにて、plug-ins selected bellow
onlyを選択してください。
• Plug-insタブでDeselect Allをクリックした後、
以下を選択して下さい。
・作成したプロジェクト
・ com.yantra.ide.rcpextn
・ com.yantra.pca.ycd.rcp
• Add Required Plug-insをクリック後、
Validate Plug-insをクリックして下さい。
• Configrationタブで、Clear the configration
area before launchingをチェック後、Runを
クリックします。
© 2012 IBM Corporation
開発環境セットアップ 11/11
 セットアップ手順(続き)
– 開発環境動作確認(続き)
• 右のイメージのようにCOM Clientのログイン画面
が現れると成功です。
– 「開発環境動作確認」として作成したプロジェクトは、COM Clientをカスタマイズする
上で、基本となるプロジェクトです。以降のカスタマイズ手順においても、このプロ
ジェクトの作成までが完了している前提で記載しています。
© 2012 IBM Corporation
カスタマイズ
 はじめに
– はじめに
– 留意事項
 概要
– Call Centerとは
– Call Center Client Applicationのカスタマイズ
 開発環境セットアップ
 カスタマイズ
– Eclipse Pluginのカスタマイズ(例)
– Call Centerのカスタマイズ(例)
– カスタマイズ後パッケージ手順
 補足資料
© 2012 IBM Corporation
カスタマイズ
 カスタマイズに当たって
– 本章では、次の2つのカスタマイズを取り上げます。
• COM Clientのログイン画面の変更
Eclipse Pluginのカスタマイズと同じ要領で、Call Centerのカスタマイズを行えばいいということを体
験する。
• COM Clientの新規画面の追加
新規画面作成し、メニューから呼び出せるように追加する。
画面の作成に当たっては、通常のVisual Editorを使用した開発と変わりないことを体験する。
画面を呼び出すために、メニューへ追加するCall Center特有の手順を理解する。
© 2012 IBM Corporation
Call Centerのカスタマイズ (ログイン画面の変更) 1/4
 COM Clientのログイン画面の変更
– 『Customizing the Rich Client Platform
Interface (Customizing_RCP_Interface.pdf)』
によると、ログイン画面の拡張ポイントの名称は、
YRCloginDialogExtnです。
– plugin.xmlをPlug-in Manifest Editorで開いた後、
Extensionsタブにて、Addボタンをクリックし、
YRCloginDialogExtnを選択後、Finishをクリック
します。
© 2012 IBM Corporation
Call Centerのカスタマイズ (ログイン画面の変更) 2/4
 COM Clientのログイン画面の変更(つづき)
– Extension Element Details セクションのModuleIdに”ycd”、ClassToLoadにカスタ
マイズ用のクラスを指定(ClassToLoadのリンクをクリックし、Classを新規生成)、
LoadOrderに”1000”と入力します。
– ここでycdは、COM Clientをカスタマイズする限りは固定です。
– ClassToLoadは任意のクラス名で構いません
– LoadOrderの1000は、実際には正の整数であれば何でも構いません。一番大きい
数字の拡張が選択されてロードされる構造です。
© 2012 IBM Corporation
Call Centerのカスタマイズ (ログイン画面の変更) 3/4
 COM Clientのログイン画面の変更(つづき)
– ログイン画面の背景色を変更します。
• YRCPlatformUI.setLoginDialogueColor(0,255,0);
© 2012 IBM Corporation
Call Centerのカスタマイズ (ログイン画面の変更) 4/4
 COM Clientのログイン画面の変更(つづき)
– 「開発環境セットアップ 9/11」のページから「(同) 11/11」のページに記載の手順に
従って、実行して変更内容を確認します。
背景色
R:0, G:255, B:0
© 2012 IBM Corporation
Call Centerのカスタマイズ (新規画面の追加) 1/10
 COM Clientの新規画面の作成
– プロジェクトを右クリックし、New→Otherを選択し
てください。
– Select a wizard画面にてRCP Compositeを選択
し、Nextをクリックする。
© 2012 IBM Corporation
Call Centerのカスタマイズ (新規画面の追加) 2/10
 COM Clientの新規画面の作成(つづき)
– Browseをクリックし、自プロジェクトのフォルダを選択し、
Finishをクリックしてください。
– SWTのルートパネルとしてVisual Editorでソースが開
かれます。
– このパネルを自由にカスタマイズしてください。
純粋にVisualEditor
での画面作成
© 2012 IBM Corporation
Call Centerのカスタマイズ (新規画面の追加) 3/10
 COM Clientの新規画面の作成(つづき)
– 実際のカスタマイズでは、各コンポーネントとCOM Clientで扱うデータのバインディ
ングが必要となります。
• 例:テーブルと検索結果としてのオーダーの情報
– それらについては、各コンポーネント毎に一つ一つ対応するクラスが準備されてい
るため、 『Customizing the Rich Client Platform Interface』の9章を参照の上、必
要に応じて、コードを追加して下さい。
用意されているクラス
•YRCLabelBindingData
•YRCTextBindingData
•YRCStyledTextBindingData
•YRCComboBindingData
•YRCListBindingData
•YRCButtonBindingData
•YRCLinkBindingData
•YRCTableBindingData
•YRCTblClmBindingData
© 2012 IBM Corporation
Call Centerのカスタマイズ (新規画面の追加) 4/10
 作成した画面を呼び出すメニューの追加方法
– メニューへ追加するには、大きく以下の二つの手順が必要です。
• EclipseにおけるactionSet/actionの構成/コーディング
• Applications Managerによるメニューの登録
– まず、拡張ポイントorg.eclipse.ui.actionSetsをExtensionsに追加して、actionSetで
visibleをtrueに設定します。
© 2012 IBM Corporation
Call Centerのカスタマイズ (新規画面の追加) 5/10
 作成した画面を呼び出すメニューの追加(つづき)
– actionを追加します。ここでidに設定した値は、Applications Managerでの構成で必
要となります。
© 2012 IBM Corporation
Call Centerのカスタマイズ (新規画面の追加) 6/10
 作成した画面を呼び出すメニューの追加(つづ
き)
– classで、Superclassを
com.yantra.yfc.rcp.YRCActionとし、Interfaceに
セットされているデフォルトの
IWorkbenchWindowActionDelegateをRemove
をクリックして除去して下さい。
– 作成したclassのexecute()メソッドに、メニューを
クリックされた際の動作を実装します。
© 2012 IBM Corporation
Call Centerのカスタマイズ (新規画面の追加) 7/10
 作成した画面を呼び出すメニューの追加(つづき)
– つぎに、Applications Managerを起動し、アプリケー
ションプラットフォームを呼び出して下さい。
– プレゼンテーションのリソースを呼び出して下さい。
(リソースが終わると、メニューを呼び出してメニュー
を追加します)
© 2012 IBM Corporation
Call Centerのカスタマイズ (新規画面の追加) 8/10
 作成した画面を呼び出すメニューの追加(つづき)
– リソースとして、新規のアクションを追加します。
– その際、アプリケーションはycd、リソースタイプをRCP_ACTIONに、URLには前述
のEclipseにてactionを作成した際のidを入力して下さい。
© 2012 IBM Corporation
Call Centerのカスタマイズ (新規画面の追加) 9/10
 作成した画面を呼び出すメニューの追加(つづき)
– 新規のメニューを追加し、メニュー項目に、前述のステップにて定義したリソースIDを
指定します。
© 2012 IBM Corporation
Call Centerのカスタマイズ (新規画面の追加) 10/10
 作成した画面を呼び出すメニューの追加(つづき)
– 「開発環境セットアップ 9/11」のページから「(同) 11/11」のページに記載の手順に
従って、実行して変更内容を確認します。
© 2012 IBM Corporation
カスタマイズ後パッケージ手順 1/3
 カスタマイズ後パッケージ手順
– カスタマイズが完了したリソースをcom.zipとしてパッケージする方法について解説し
ます。
– 作成したPluginプロジェクトを「Deployable plug-ins and fragments」として、Export
します。
© 2012 IBM Corporation
カスタマイズ後パッケージ手順 2/3
– Exportするプロジェクトが選択されていることを確認します。
– Archive file名を指定します。
– Optionsタブで、「Package plug-ins as individual JAR archives」にチェックを入れ
ます。
– 「Finish」をクリックしてください。
© 2012 IBM Corporation
カスタマイズ後パッケージ手順 3/3
– Exportされたzipファイルを展開し、jarファイルを取り出します。
– 以降は、サーバー上での作業となり、作業手順については、 「IBM Sterling Call
Center インストール・ガイド」を参照下さい。その際、以下を合わせて実施下さい。
• “RCP_EXTN_FOLDER”にpluginsディレクトリを作成してください。
• pluginsディレクトリに、取り出したjarファイルを配置したのち、 「IBM Sterling Call Center
インストール・ガイド」の手順4以降に従い、COM Clientをパッケージして下さい。
© 2012 IBM Corporation
補足資料
 はじめに
– はじめに
– 留意事項
 概要
– Call Centerとは
– Call Center Client Applicationのカスタマイズ
 開発環境セットアップ
 カスタマイズ
– Eclipse Pluginのカスタマイズ(例)
– Call Centerのカスタマイズ(例)
– カスタマイズ後パッケージ手順
 補足資料
© 2012 IBM Corporation
Visual Editorを使用するプロジェクト 1/3
 Visual Editorを使用するプロジェクトを作成する手順です
– 任意のJavaプロジェクトを作成して下さい。
© 2012 IBM Corporation
Visual Editorを使用するプロジェクト 2/3
– 作成したプロジェクトにおいて、Visual Classを作成して下さい。
– ここでは、AWTにおけるFrameをSuper classとして作成しています。
© 2012 IBM Corporation
Visual Editorを使用するプロジェクト 3/3
– 画面中央上部に見えるFrameが表示され、その右側のPaletteにコンポーネントが
表示されることを確認して下さい。
© 2012 IBM Corporation
Eclipse Pluginの拡張に関する参考サイト
 COM Clientのカスタマイズの流れは、多くの部分がEclipse Pluginのそれと同
じです。従って、Eclipse Pluginのカスタマイズ・スキルを習得することは、非常
に助けとなります。以下は、その一助となる解説Webサイトの一例です。
– 作って覚えるEclipseプラグイン(1) いちばん簡単なEclipseプラグイン
• http://www.atmarkit.co.jp/fjava/rensai3/eclipsepde01/eclipsepde01_1.html
• 手始めにサンプルを動かしてみるという意味でお奨めできますが、COM Clientにおけるメ
ニューへの追加方法は、この方法とは少し異なります。 COM Clientにおけるメニューへの
追加方法の詳細は本書にて手順を記載しています。
– Eclipseプラグインを作ってみよう!第4回 Eclipse Formsによる“Hello World!”
• http://gihyo.jp/dev/serial/01/eclipse-plugin/0004
• org.eclipse.ui.editorsの拡張について触れられており、その手順がPluginを拡張する際に、
拡張ポイントを利用する部分が参考になります。
その他にも連載形式での非常に詳細な解説が為されているWebサイトがあります。
順を追って、しっかりとスキルを習得されたい場合は、それらのサイトを参照するか
または書籍の活用を検討下さい。
© 2012 IBM Corporation