IBM i、Watson、Bluemix、そして話の続きはREST
Integrated Web Servicesは、IBM iにとって真新しいものではありません。しかし、そのことはWebサービスにおいて何も新しいことがないということを意味するわけではありません。数年前、IBMは、他のシステム上のアプリケーションが、i上で実行されるビジネス ロジックと接続できるようにする統合フレームワーク、Bluemixを発表しました。Bluemixのツールは、WatsonとIBM iを接続するのに用いることができるREST APIを使用するように設計されました。ここに、新しさがはっきりと表われています。
こうしたことを実現させるのに必要となる接続機能(plumbing)は、IBM iアプリケーション開発担当ビジネス アーキテクトのTim Rowe氏率いるIBM i開発チームによって構築されています。
「私が開発しているのは、実効的な接続機能です」と、先月の COMMON Annual Meeting and Expoでの『 IT Jungle 』のインタビューでRowe氏は述べました。「私はプログラムでのビジネス ロジックの活用に取り組んでいます。」
IBM i開発者は、10年間に渡ってWebサービスとIntegrated Web Services Engineを使用してアプリケーションをモダナイズしてきました。Webサービスを開発してきた方であれば、以前とは状況が一変していることはご承知でしょう。どんなふうになっているのでしょうか。歳月人を待たず、と言います。2007年にリリースされたIWSテクノロジー スタックは、3年前にモダナイズされました。
2007年のSOA(サービス指向アーキテクチャ)の時代には、IBMはSOAP(simple object access protocol)向けにWebサービスを開発していました。SOAPは当時の業界標準テクノロジーでした。今でもSOAPは依然として人気を博していますが、Webサービス テクノロジーは、ほとんどの開発者が最新のWebサービスと評するREST APIヘと移行しています。
REST API は、言語、データベース、またはそれが稼働するシステムの知識が必要とされないような形で、ビジネス ロジック、サービス、または機能を実現するための方法です。それらすべてがカプセル化されるのです、とRowe氏は述べます。
開発者がAPIを使用している方法は絶えず進化しており、その進化についていくことがRowe氏の仕事になっています。2か月程前、Webサービスに2-Tierサポートが追加されました。これにより、1つのシステム上のWebサービスが、別のシステム上のRPGプログラム(またはIBM iでサポートされている他の言語で書かれたプログラム)を呼び出すことができるようになります。6か月前には、人気の高いAPI開発者ツールのフレームワークである Swagger が、IBM i Webサービス サポート パッケージに加わりました。
それは、アプリケーション開発の進化の過程での思いきった試みです。 「1年前、我々はどうやってBluemixとIBM iを接続しようかと話し合っていました。REST APIがそれを可能にしたのです」とRowe氏は述べます。「これは、今日的にも将来的にも重要性がある、より大きな問題の一部分です。モダンRPGが別の一部分です。利用できるツールは数多くあります。」
オープンソース言語(PHP、Python、Node.js、およびRuby)のサポートは、IBM iチーフ アーキテクトのSteve Will氏による、IBM i上で様々なプログラミング モデルをサポートするという戦略的な目標の一部です。そのため、ユーザーは新たなアプローチを採用して、それらを既存投資と統合することができます。
「オープンソース言語の分野へ参入したのは、顧客の既存のバックエンド システムのモダナイゼーションを支援するためでした。彼らは、トランザクション処理を得意とする言語(RPGおよびCOBOL)で、トランザクション処理を行い続けることができます。UIは高度に統合される一方で、最新のデータ タイプや最新の表示に結び付けられていません。しかし、我々はPHPをうまく活用してきましたし、今ではPythonやNodeもあります。現在、我々はWatsonの活用について取り組んでいます。オープンソースという選択肢を組み入れることで、「モダナイズを行わない」理由を取り除こうとしているのです。我々は、現在の立ち位置においての、さらには将来目指している地点においての企業の成功の一助になりたいと考えています。」
先月のCOMMONカンファレンスで大きく取り上げられたWatsonに関しては、Watsonの呼び出しは、サポートされているどの言語でも行えることをRowe氏は指摘しています。その種のAPIの呼び出しには、RPGを使用するより、PHPまたはPythonを使用する方が、いくぶん自然なやり方だとRowe氏は認めていますが、その一方で、すべての言語には長所と弱点があるとも述べています。何をするのにも1つの言語に頼るというのは、まさにプログラミングの歴史の過去の遺物です。しばらくの間そちらの方向へ動いていました。
これに対してBluemixは前途有望ですが、そうしたフロンティアへ足を踏み入れようという意向を示すIBM iのショップはごく少数です。IBM iの接続機能の供給会社である、Rowe氏と彼の開発者チームは、Bluemixのアーリー アダプター(早期採用者)たちの声を聞きたがっています。彼らからのフィードバックが、将来の製品開発に影響を与えることになります。Rowe氏は、熟練の経験を踏まえて予想を語ってくれることがよくありますが、JSONコネクターを用いたXMLサービスがBluemixを通じて活用できることから、オープンソース言語からバックエンド システムへのデータ コネクターの機能強化が開発対象の分野となる気がするということのようです。
「一部の人々は、Bluemixを使用して新たなIBM iインターフェースを作成しています」と彼は述べます。「そして、一部の新たなアプリケーションはBluemixで書かれ、IBM iのデータを活用します。しかし、将来的にどのような展開になってゆくかはまだわかりません。私の関心は、顧客が必要としているものへ自然な形でアクセスできるようにするために必要となる接続機能にあります。顧客がそれを用いてどのようなことを行ってくれるのか、目にするのが実に楽しみです。」