SAP AGは12月16日,同社のJavaベースのプラットフォーム・アズ・ア・サービスであるNetWeaver Cloudが,Java EE 6 Web Profile Compatibilityを取得したと発表した。
NetWeaver Cloudは Eclipse Virgo をコンテナとしてOSGi上で動作する。製品にはクラウドアプリケーションの構築・テスト・デプロイを行うEclipseベースのSDK,アプリケーションの管理操作を行うWebベースのコンソール,仮想インフラストラクチャなどが含まれる。
"私たちはEclipse Virgoプロジェクトのオープンソースコミュニティと共同でこの技術を開発しました。" SAPでTechnology & Innovation Platform Coreを担当する,エグゼクティブ・バイスプレジデントのBjörn Goerke氏はこのように述べている。"この成果は,オープンソースコミュニティにおけるSAPの継続的な取り組みの結果であり,オープン標準における当社の責務を果たすものです。当社は今後も新たなテクノロジ — まずはクラウド — を利用するためのサポートを,オンプレミスユーザに提供していきたいと考えています。"
プラットフォーム自体は,アズ・ア・サービスの形でSAPから提供される。ベンダがInfoQに語ったところでは,当面はオンプレミスとして提供する予定はないようだ。ただしランタイムに用意されているクラウド接続サービスを利用すれば,SAP NetWeaver CloudとオンプレミスシステムとをSSLトンネルで接続することができる。その他にも次のようなランタイムサービスが提供される。
- 永続化サービス – JDBC,JPA 2.0,または EclipseLink を通じて,Sybase ASEあるいは同社HANAインメモリデータベース・プラットフォームを使用する。
- エンタープライズコンテント管理 – Apache ChemistryオープンCMIS(Content Management Interoperability Service) を利用する。
- アイデンティティ・フェデレーション
- Eメール
SAPは将来的な目標として,Salesforce.comがForce.comプラットフォームで行っているような,NetWeaver Cloudを中心としたマーケットプレイスとパートナーエコシステムを SAP Store に統合する形で構築したいと考えている。
InfoQでは,同社のクラウドプラットフォームエバンジェリストであるMatthias Steiner氏,同社に籍を置くクラウドプラットフォーム専門家のKrasimir Semerdzhiev氏の双方から,この製品についてさらに詳しい話を聞いた。
PaaSの世界において,オープン標準はどの程度重要なのでしょうか?
PaaS製品が成功するには,標準は非常に重要です! これまでに見た,クラウドに移植されたソリューションのほとんどは,以前どこかのオンプレミスで稼働していたものか,既存のソリューション/ライブラリの大部分を再利用したもののいずれかです。その中で特に利用されているスタックはJava EEとSpringの2つです。当社はそれらをいずれもサポートします。さらに標準ベースのPaaSであることは,この手のプラットフォームに馴染みのない人たちが移行時に感じる抵抗を非常に小さなものにしてくれます。まるで慣れ親しんだフレームワークやライブラリを使うのと同じように,プロプライエタリな技術を新たに習熟する必要なく利用することができるのです。同時に,製品を市場投入するのに必要な時間も大幅に短縮できます。さらにオープン標準とオープンソースは,ベンダへのロックインを回避する上でも不可欠です。クラウドコンピューティングの採用を検討中の企業にとって,この点は非常に重要です。企業にとって問題なのは,クラウドコンピューティングに移行する方法だけではありません。データを自ら把握管理する,必要ならば他のプロバイダ/プラットフォームに移行する,というような選択肢を確保しておくことも大切なのです。
開発者が利用できるのは,Java EE 6 Webプロファイルだけなのでしょうか?
他社製品とは違って,SAP NetWeaver CloudではJavaサポートに制約を設けていません。パッケージのブラックリストを作ったり,禁止したりすることもありません。Java言語や標準パッケージの使用を制限するようなことは,何もしていないのです。実際に多くのユーザが,グローバルなパートナ支援ソリューションからポータル集約サイト,ビジネスプロセスの一部分,さらには何が可能なのかを試すようなものまで,さまざまなシナリオを実装しています。当社のプラットフォームはJava EE 6 Web Profileをベースに,モビリティからクラウドやオンプレミスのインテグレーション,分析に至るまで,数多くの付加価値サービスを幅広く提供します。また開発者を対象に,Cloud Developer Center を通じた無期限アカウントを無償で提供しています。さらに技術的な機能に限らず,ソリューションプロバイダの開発したアプリケーションの収益化をも含む,包括的なプラットフォームを提供したいと考えています。このために当社では,NW Cloud認定(www.sapcloudappspartnercenter.com)の取得制度に加えて,SAPのユーザベースにソリューションを幅広く販売する機会をSAP Store経由で提供しています。
さらに当社はユーザに対して,自身のJVMベースランタイムを引き続き利用することを勧めています。当社のプラットフォーム上ではすでにJRubyやScala,JavaScriptなどのアプリケーションを使用しているユーザがいます。これらの機能は明示的なサポート対象にはなっていませんが,選択肢としての確保には最大限の支援をしたいと考えています。BYOL(Bring Your Own Language)パラダイムを総合的に実現可能な基盤を製品として持っている以上,そのパラダイムを支持すべきだと思うからです。
HANAについてはどうでしょう?
HANAはSAPの新しいインメモリ・データベースです。行と列,両方のストア機能を備えていて,ひとつのデータベース上でOLAPおよびOLTPシナリオの実行が可能です。HANAはその初期段階から,並列処理を最適化するように設計されました。その結果,数十億以上のレコードを対象とするリアルタイムデータ処理や,サブセカンドでの分析処理を行う処理能力を実現できています。70億を越える地球の全人口を対象とするリアルタイム分析や,ニューヨークのダウンタウンのアパートすべての消費電力をオンザフライで概観するような処理も可能です — 技術的な問題は何もありません。
HANAを利用できるのは,バックエンドとしてSAPを統合しているユーザに限られるのでしょうか,あるいは,独立したPaaS製品としても使用可能なのでしょうか?
どちらも可能です! 私たちは,さまざまなシナリオに対応可能なプラットフォームを提供したいと考えています。既存のユーザベースを考えるならば,バックエンドとの統合機能が非常に興味深い部分であるのは当然でしょう。しかし私たちはさらに,SAP NW Cloudで新たなユーザにもこのエコシステムを提供することを目指しているのです。当社製品はオープン標準に基づいていますので,プラットフォーム上でどのようなJavaベースのシナリオも実行可能です。ソリューションプロバイダはSAP Storeを通じて,自社のアプリケーション販売のために当社製品のユーザベースに簡単にアクセスできます。
PaaSをOSGi上に構築することを決断した理由は何でしょうか?
それについては,数年前からの話になります。当時の私たちは,SAP内外でのアプリケーション開発に使用するために,標準をベースとしてモジュール化された,スケーラブルでしかも軽量なコンテナを必要としていました。それらの機能すべてを提供してくれるものとして,私たちはOSGiを選択したのです。当社では主に宣言型サービス(DS/Declarative Services)を中心に,すべてのプラットフォームの構築ブロックの基礎としてOSGiを用いています。モジュール依存性のオーバービューとしての機能や変更の影響を予測する手段,さらには標準的なプロビジョニング機構としての役割も期待しています。
OSGiコンテナとしてVirgoを選択したのはなぜでしょう?
プロジェクトの初期段階では,EclipseのEquinoxをそのまま利用していました。私たちはOSGiを最良のアプローチと考えていましたから,この選択は意図的なものでした。最初は他のランタイムを使用してスケーラビリティやフレキシビリティを評価しておいて,その後にログ集約のためのインフラストラクチャ開発やトレース処理の改善,トラブルシューティングのバンドルなどを行いました。そのとき,同じような取り組みを他でも行っていることを知ったのです。私たちはSpringSourceが行ったEclipse Virgoへの初期のコントリビューションを詳しく調べました。そしてごく初期の段階から,それに協力することを決めたのです。その時点では,TomcatのシンプルさとOSGiベースの大規模なモジュール化ソフトウェアプロジェクトを管理する能力を兼ね備えたものとしては,これ以外の選択肢は事実上ありませんでした。プロジェクトのコミッタたちとの最初のディスカッションは,非常に有望かつ建設的なものでした。私たちはすぐに作業の優先順位を整理して,進むべき方向を決めたのです。このような経緯で私たちSAPは,Eclipse Virgoを支援する主要なコントリビュータのひとつとしての現在の立場を確立しました。このことがSAP NetWeaver Cloudインフラストラクチャおよびアプリケーションの多くの部分に影響しています。私たちはこの選択に本当に満足しています。オープンソースプロジェクトを通じた他のパーティとのコラボレーションが技術革新と将来的なパートナーシップ構築につながるものだと確信しているからです。驚くことではありません - 他のツールベンダもEclipse Virgoへの統合を実施中です。すでにメリットは現れ始めているのです。結果として,NetWeaver Cloudとの統合は今後,簡単に実施可能なものになるでしょう。
オブジェクトのデータベースへの永続化は,どのように行われるのでしょうか?
SAP NetWeaver Cloudには多数のストレージオプションが用意されています。そのひとつが非構造ストレージ(unstructured storage)で,ファイルやドキュメントを付加的なメタデータとともに保存します。これと並行して,SAP HANAやMaxDBをベースとしたリレーショナルパーシステンスも提供します。Sybase ASEが間もなくリリースされる予定です。これらはすべてパーシステンスサービスが処理します。データベースへのデータ保存の手段としては,通常のJDBCとJPAのいずれも利用することができます。
データベースには対応するスキーマが自動的に生成,確保され,アプリケーションに提供されます。DB・アズ・ア・サービスのようなものと思って頂ければよいでしょう。開発者はまったく関与する必要がありません。必要なのは,web.xmlにデータソースへの参照を定義する (あるいは同様なアノテートを記述する)ことだけです。このように当社では,確立された標準を常に重視し,アプリケーション開発者が可能な限り意識しなくてよいようにしています。
クラウドアプリケーション開発用には,無償のSAP NetWeaver Cloud開発者エディションが SAP NW Cloud Developer Center から提供されている。同時にフォーラムやブログ,チュートリアルなどを通じて,さらに詳細な情報も提供する。