【13-b-3】 企業システムをマッシュアップ型に変えるには
DESCRIPTION
TRANSCRIPT
米持米持 幸寿幸寿
日本アイ・ビー・エム株式会社日本アイ・ビー・エム株式会社
ソフトウェア・テクノロジー・カウンシルソフトウェア・テクノロジー・カウンシル
13-B-3
企業システムを企業システムを マッシュアップ型に変えるにはマッシュアップ型に変えるには
エンタープライズ・マッシュアップエンタープライズ・マッシュアップ
共有と管理
高度な素材による
補完・促進
インターネット
企業システム
個人・部門
IBM Mashup Center
IBMIBMが提供するマッシュアップ・オファリングが提供するマッシュアップ・オファリング
25
Lotus Mashups(ビジュアル )
InfoSphereMashupHub
(データフィード )カタログ
マッシュアップ素材の共有/発見
・ウィジェット・フィード・ページ
企業内、インターネット上、組織内、個人のあらゆる情報を再利用できる形で解き放つフィードを加工(結合、ソート、変換など)により新たなフィードを作り出すブラウザベースのビジュアルなツール
軽量なスクリプト言語 (Groovy / PHP) で既存資産を活用した新たなRESTサービスを提供ウィジェットを開発、提供
WebSphere sMash(スクリプト記述 )
IBM Mashup Center
ウィジェットを組み合わせてマッシュアップを作成これまでにはなかった情報の組み合わせ、可視化により、新たな”気づき”を得るコードを書くことなく、ウィジェットを作成するためのツール
Web 2.0 Web 2.0 テクノロジー用語テクノロジー用語RIARIA ブラウザに表示されるアプリケーションをリッチなユーザーインターフェイスにするための技術ブラウザに表示されるアプリケーションをリッチなユーザーインターフェイスにするための技術
XHRXHR XmlHttpRequestXmlHttpRequest::JavaScriptJavaScriptから動的にサーバーとから動的にサーバーとHTTPHTTP通信するためのオブジェクト通信するためのオブジェクト
AjaxAjax XHRXHRを使って、を使って、WebWebブラウザーに表示されたコンテンツをサーバーデータで動的に更新する手法。ブラウザーに表示されたコンテンツをサーバーデータで動的に更新する手法。
AjaxAjax--APIAPI Ajax Ajax にに
JavaScriptJavaScript--API API を準備し、外部からを準備し、外部からAjaxAjaxコンポーネントを操作できるようにしたもの。コンポーネントを操作できるようにしたもの。
シンジケーション・フィードシンジケーション・フィード WebWebサイトの更新情報やサマリーを配信するためのサイトの更新情報やサマリーを配信するためのXMLXML技術の抽象的な呼び方。技術の抽象的な呼び方。
RSSRSS NetscapeNetscape社が社が19961996年ころから使い始め、非常に多くのサイトで利用されているシンジケーション・年ころから使い始め、非常に多くのサイトで利用されているシンジケーション・
フォーマット。フォーマット。
ATOMATOM IETFIETFに提案されたシンジケーション・フォーマット。に提案されたシンジケーション・フォーマット。
WebWebサービスサービスAPIAPI インターネット・サイトのソフトウェア・コンポーネントの機能を、別のソフトウェアから呼び出せるようにでインターネット・サイトのソフトウェア・コンポーネントの機能を、別のソフトウェアから呼び出せるようにで
きるように公開されているプログラム手続ききるように公開されているプログラム手続き(API)(API)の抽象的な呼び方。の抽象的な呼び方。
オープンオープンAPIAPI・データ・データ ネットワーク上に呼び出し可能になっているネットワーク上に呼び出し可能になっているAPIAPIやデータの抽象的な呼び方。やデータの抽象的な呼び方。
RESTfulRESTful HTTPHTTPのコマンド(のコマンド(GETGET、、POSTPOST、、PUTPUT、、DELETEDELETE)を利用する、)を利用する、WebWebサービス呼び出しの考え方。サービス呼び出しの考え方。
APPAPP ATOMATOMパブリッシング・プロトコル。パブリッシング・プロトコル。ATOMATOMフィード技術に、フィード技術に、RESTfulRESTfulの考え方でプロトコルとして仕立ての考え方でプロトコルとして仕立て
たもの。たもの。
JSONJSON(プロトコル)(プロトコル) JavaScript JavaScript のオブジェクト記述フォーマットを使って、のオブジェクト記述フォーマットを使って、JavaScriptJavaScript-サーバー間でデータ交換をする。-サーバー間でデータ交換をする。
MashMash UpUp 上記に紹介されているような、上記に紹介されているような、WebWeb上に提供されている情報やサービスなどを組み合わせて、新しいソ上に提供されている情報やサービスなどを組み合わせて、新しいソ
フトウェアやサービス、データベースなどを作ること。フトウェアやサービス、データベースなどを作ること。
AjaxAjax ((Asynchronous JavaScript and XMLAsynchronous JavaScript and XML))
DHTML DHTML ++ 動的にデータをサーバーからダウン動的にデータをサーバーからダウン
ロードするテクニックロードするテクニック
JSON JSON ((JavaScript Object NotationJavaScript Object Notation))JavaScript JavaScript のオブジェクト記述(リテラル)方法のオブジェクト記述(リテラル)方法
サーバーから別ファイルで用意したサーバーから別ファイルで用意したJSONJSON記述を動的に記述を動的に
ダウンロードすることが可能ダウンロードすることが可能
当然、サーバーアプリケーションで生成してもよい当然、サーバーアプリケーションで生成してもよい
XHRXHR((XmlHttpRequestXmlHttpRequest))サーバーからサーバーからXMLXMLを動的にダウンロードするを動的にダウンロードするJavaScriptJavaScriptオブジェクトオブジェクト
プログラマブルプログラマブルWebWebWebWebサイトは「操作」するだけでなく、プログサイトは「操作」するだけでなく、プログ
ラムできるようになっているものが増加ラムできるようになっているものが増加
WebWebサービス、オープンサービス、オープンAPIAPIHTTPHTTPパケットを送信パケットを送信
リクエスト+パラメーターリクエスト+パラメーター
リクエスト+テキスト、リクエスト+テキスト、CSVCSV、、XMLXML、、JSONJSON
HTTPHTTPパケットを受信パケットを受信
テキスト、テキスト、CSVCSV、、XMLXML、、JSONJSON
AjaxAjaxコンポーネントに装備されたコンポーネントに装備されたAPIAPI
JavaEEJavaEETMTMででWeb2.0Web2.0WebSphere Application Server WebSphere Application Server に搭載されているに搭載されているWeb Web 2.02.0フィーチャーフィーチャー
Web Web RemotingRemotingJavaJavaオブジェクト、オブジェクト、EJBEJB、、WebWebサービスをサービスをRESTfulRESTfulでアクセスでアクセス
JSON4JJSON4JJSONJSONデータをデータをJavaJavaからアクセスするからアクセスする
Ajax ProxyAjax Proxy複数サイトへのアクセスをサポート複数サイトへのアクセスをサポート
Web FeedsWeb FeedsRSSRSS、、ATOMATOMのためののためのJava APIJava API
Ajax MessagingAjax MessagingSIBusSIBusを通して、を通して、AjaxAjaxに非同期メッセージを送付するに非同期メッセージを送付する
Ajax Ajax 開発ツールキット開発ツールキットDojoDojoツールキット+ツールキット+IBMIBM拡張拡張
WebSphere Feature Pack for Web 2.0で検索
WebSphere WebSphere sMashsMashGroovyGroovy、、PHPPHPででWebWebアプリケーションを開発アプリケーションを開発
データベース検索結果(結果オブジェクト)を簡単データベース検索結果(結果オブジェクト)を簡単ににJSONJSONややXMLXMLに変換可能に変換可能
Zero Resource FrameworkZero Resource FrameworkRDBRDBを登録するだけで、を登録するだけで、RESTfulRESTfulでアクセス可能でアクセス可能→超便利!→超便利!
サーバー側にはまったくコードを書かないサーバー側にはまったくコードを書かないAjaxAjaxアプリアプリケーションも開発可能ケーションも開発可能
DojoDojoツールキットを同梱ツールキットを同梱
def result = data.queryArray('SELECT * FROM employees')request.view = 'JSON'request.json.output = resultrender()
ProjectZeroProjectZero::Wiki Wiki のような開発環境のような開発環境
アプリケーションビルダー
書き込む保存する
使う
スクリプトプログラマー
ユーザー
セットアップ
ブラウザー
管理者インフラ担当
InfoSphere MashupHub:RESTスタイルのアプリケーションや
フィードを共有し、マッシュアップする
グラフィカルツール
Catalog: マッシュアップの材料を登録・検索
Lotus Mashups: ウィジェットを
作ったり、ウィジェットの組み合わせで
マッシュアップ画面を作る
IBM IBM ““Mashup CenterMashup Center””シチュエーショナル・アプリケーション
Optim、DB2、IMS などエンタープライズシステム、CSV、Excel、XMLなどのファイル類も
マッシュアップ対象に変換可能!
アプリケーションはウィジェットでアプリケーションはウィジェットで
顧客リスト在庫リスト
受注
地図
レイアウト
仕入リスト
株価
ポートフォリオ
予約
ee--businessbusinessアプリケーションの新しい形態アプリケーションの新しい形態
専門プログラマー
メインフレームWebサーバートランザクション
クラスタリング
長期運用・保守
ユーザー
ユーザー
スクリプトプログラマー
EA・SOA・SOAP
Java EE
オブジェクト設計
RESTful、フィード、Ajax
スクリプト言語
アジャイル開発、永遠にβ
サービス部品
SOAWeb 2.0Mashup
ウィジェット
マッシュアップ
クラウドSocial
悪意のあるコードのマッシュアップ悪意のあるコードのマッシュアップ00010001 保浦保浦
美奈美奈 東京都東京都 0303--45674567--89018901
00020002 八鎌八鎌
椎名椎名 埼玉県埼玉県 049049--87658765--4321432100030003 薔薇薔薇
真理真理 神奈川県神奈川県 045045--321321--09870987
DOMを検索して、
顧客情報を見つけたら自分のサーバーへ送信
Secure Mash technologySecure Mash technologyWebWebブラウザー上でマッシュアップされたアブラウザー上でマッシュアップされたアプリケーションに潜む悪意のあるコードが別プリケーションに潜む悪意のあるコードが別のコンポーネントにアクセスしにくくするテクのコンポーネントにアクセスしにくくするテクノロジーノロジー
IBMIBM東京基礎研究所とアルマデン研究所の東京基礎研究所とアルマデン研究所の共同開発共同開発
OpenAjaxOpenAjax に寄贈に寄贈
将来の製品で提供予定将来の製品で提供予定
まとめまとめ
機能を解き放つのが大切機能を解き放つのが大切
フィード(フィード(RSSRSS・・ATOMATOM))
RESTfulRESTfulAjaxAjax・・Ajax APIAjax API→→ウィジェット化ウィジェット化
ユーザーレベルで自由に組み合わせるユーザーレベルで自由に組み合わせる
プログラミングでマッシュアップする時代は終了プログラミングでマッシュアップする時代は終了
シチュエーショナル・アプリケーションシチュエーショナル・アプリケーション