2013年11月1日 癸巳に思うCMS(コンテンツ管理システム)の行く末

システム本部 システムエンジニア
榛葉 裕幸

今年も残り2ヶ月余りとなりました。日頃、今日の企業サイト運営には欠かせなくなったCMS(コンテンツ管理システム)を継続的にウォッチしていますが、今年は、CMSの今後の動向を考えるうえで印象的な出来事がいくつかありました。

思い起こせば今年の干支は癸巳(みずのとみ)です。十干と十二支の組合せである干支は60年周期とされ、癸巳は30番目の折り返し点にあたります。前時代の終わりと次代の始まりを控えた節目の年であり、次代の趨勢が決まる転換の始まりの年ともいわれます。本稿では、節目の年のCMSを取り巻く動向をふりかえりながら、CMSの行く末について考えてみたいと思います。

節目の年のCMSを取り巻く動向

CMSの行く末を考えるうえで、今年、私が印象に残った出来事には次のものがありました。

オープンデータ運動の広がり

今年6月にイギリスで開催された「G8ロック・アーン・サミット」において「オープンデータ憲章」が合意され、国内でもオープンデータ運動が広がりをみせています。オープンデータは、政府などが保有する公共データを誰もが自由に利用できる形式でWeb上に公開する取組みであり、Webがあたかも1つデータベースとして機能する「データWeb」にもつながる活動です。

現在、米国のデータポータルサイト「Data.Gov」で公開されているデータは40万種類ともいわれます。データポータルサイトによって公開データの種類や数は異なりますが、こうした膨大なデータを管理・公開するためツールとして、DrupalWordPressSilverStripeといったCMS製品が活用されています。また、オープンデータ用途に特化したCMSともいえるCKANなどのデータカタログソフトウェアも開発されています。

CMSの本質的な機能は「コンテンツ(データ)の管理」です。コンテンツそのもの、情報の構造、ユーザへの見せ方といった3つの要素を分離して管理することで、コンテンツの保守性と再利用性を高めることができます。その点で、Webの誕生初期から構想された「データWeb」の実現に必要な「情報の意味化と構造化」を促進するためのシステムとして、CMSが果たす役割は今後も大きいと感じています。

HTML5+CSS3+JavaScriptなどフロントエンド技術の進展

今年に入りJavaScriptのMVCフレームワークとして人気の「Backbone.js」が2年半の開発期間を経てバージョン1.0をリリースしました。また、10月にはGoogleからHTML5ベースのオーサリングツール「Google Web Designer」がリリースされました。

スマートフォンやタブレットの利用が広がり、Google Appsなどに代表されるリッチクライアントなWebアプリケーション(RIA: Rich Internet Application)へのニーズが増え、OSやデバイスに依存せずに汎用的に利用できるオープンスタンダード技術がますます重要となっています。そうしたなか、仕様策定とブラウザへの実装が進むHTML5+CSS3とJavaScriptなどのオープンスタンダードなフロントエンド技術を活用したWebアプリケーション開発が注目されています。

HTML5+CSS3+JavaScriptを活用したWebアプリケーションでは、ベースとなるHTMLをブラウザに読込み、ユーザの操作に基づいてバックエンド(サーバサイド)のWeb API(Application Programming Interface)を通じてデータをやりとりしながら、フロントエンド(クライアントサイド)で画面を組み立てる手法がとられます。そのため、Backbone.jsなどのクライアントサイドで画面の見た目を制御するフレームワークを利用すると、サーバサイドでは画面の見た目には関与せずWeb APIによるデータ操作機能のみを提供することになります。今後、サーバサイドのWebアプリケーションであるCMSと、HTML5+CSS3+JavaScriptといったクライアントサイドとの新たな役割分担が進むと考えています。

CMS製品のREST API対応の強化

海外で人気が高いCMS「Drupal」が、REST APIサーバを指向する次期バージョンのアルファ版Drupal8.0-alphaをリリースしました。また、日本国内で人気のCMS「MovableType」は、10月にリリースされたMovableType6から「Data API」と呼ばれるREST APIの提供を開始しました。

CMSが提供するREST APIは、HTTPやURIでCMSが管理するデータの入出力を行えるRESTスタイルのWeb APIです。また、APIはプログラム向けのインターフェースであるため、データフォーマットにはJSONなどプログラムが解釈・処理しやすいものが用いられます。他システム(プログラム)への機能提供を行うREST APIを活用することで、システム間の相互運用性を高め、プログラムの保守性や再利用性を高めるとされます。

近年、先にあげた製品に限らず主要なCMS製品はREST APIへの対応を強化しています。こうした動きは、前節のフロントエンド技術の進化やモバイルコンピューティングの広がりに対応するため、従来のHTMLをベースとしたページ単位のウェブサイト管理ツールから、より本質的なコンテンツ(データ)管理機能にフォーカスして、柔軟なデータ操作機能を提供するREST APIサーバにシフトする動きとも考えられます。まだ、こうした動きは始まったばかりであり搭載された機能は発展途上ですが、今後もREST APIサーバを指向する傾向は強まっていくと考えています。

アンバンドリングするCMS

今年のCMSを取り巻く動向をふりかえり、思い浮かんだキーワードは「アンバンドリング」です。アンバンドリングとは「束ねられたものをバラバラにする」という意味ですが、産業組織論では、グローバル化により市場が拡大し、様々なプレーヤーが競争に参入してくるほど、そして技術革新が進んで専門化の必要性が増してくるほど、多くの産業は「垂直統合」から「水平分業」へシフトする「アンバンドリング」傾向が見られるとされます。

今後、これまでCMSの機能としてバンドルされてきたもののいくつかは分離され、より本質的でコアな機能に専門特化していくと想像しています。CMSの行く末について、現時点で私が感じていることは次の3点です。

第一に、UI制御にかかわる機能の分離。CMSの1つの機能であるテンプレートエンジンには、データやデータ構造、表示ロジック、人間が見るための見た目を定義する情報などが混在してきました。そのため、見た目を変更しようとすると、CMSに組込まれたテンプレートへの修正が必要となります。また、リクエストのたびに、サーバサイドで画面を組み立てるため、複雑でリッチな画面を構成しようとすると大きな負荷をともないます。フロントエンド技術の進化にともなって、これまで技術的な制約でバンドルされてきた(密結合してきた)画面表示を制御する機能は分離され、フロントエンドとバックエンドの機能的な分業が進むと感じています。

第二に、コンテンツ(データ)管理機能への専門化。CMSの本質的な機能である「コンテンツ(データ)の管理」機能へ専門特化する方向にシフトしていくと考えています。たとえば、オープンデータ運動で活用されているデータカタログソフトウェアのように、データを一元的に管理し、主としてプログラム向けの統一されたインターフェースを通じて、データを公開・共有できるシステムが考えられます。こうしたCMSで企業内に散在するプロモーションデータを一元管理し、複数存在する自社Web媒体で共有するといったハブ的な活用も考えられます。

第三に、Webアプリケーションフレームワークへの進化。CMS製品の多くは、その時々のニーズを満たすため様々な機能を製品としてバンドルしてきましたが、今後はコアとなる本質な機能のみを提供し、用途やニーズに合わせて機能を追加・拡張あるいは外部システムとの相互運用を通じて機能を補完できるフレームワークへの指向が強まると感じています。実際に、LiferayやSilverStripe、eZ PublishなどのCMSは、早くからフレームワークを指向しています。

最後に

今年で終わる十干周期の始まりの2004年は、ティム・オライリー(Tim O'Reilly)によって「Web2.0」が提唱された年でした。それから10年目の今日、あらゆるデータやソフトウェアがWeb上に置かれ、Webというユーザインターフェースを通じて提供されるようになってきています。確かにWebはインターネットのプラットフォームとなりつつあるようです。

重要度を増す一方のWebの世界において、CMSの役割がどのように変化していくのか、そして、その変化がお客様にどのような新しい価値を提供できるのか、引き続き今後の進展に注目していきたいと思います。