このページの本文へ

JAWS-UG中部・北陸勉強会レポート第15回

JAWS Festa 東海道でConcrete5のUenoさんが力説

CMSをフレームワークとして活用し、クイックスタートを実現しよう

2017年02月06日 07時00分更新

文● 重森大

  • この記事をはてなブックマークに追加
  • 本文印刷

CMSが何か知らない読者はいないと思う。Webサイトやシステム開発にCMSを使った経験がある読者もいるだろう。バックエンドに使われるにしろフロントエンドに使われるにしろ、コンテンツを管理、表示するシステムとして多くのサイトを支えているに違いない。しかしJAWS-UG名古屋のKatz Uenoさんが提唱するのは、システムのフレームワークとしてCMSを活用すること。それにより内製が減り、クイックな開発が可能になるはずだと語った。

JAWS-UG名古屋 Katz Uenoさん

多機能になった現代のCMSには、一般的なシステムに必要なモノが揃っている

 「CMSの今後とIoT」というセッションでUenoさんが取り上げるCMSは、オープンソースのconcrete5。山形大学やコニカミノルタ、LCCのピーチなどが採用しているほか、グローバル企業での採用実績も多いCMSだ。Uenoさんはコンクリートファイブジャパンに勤めており、日本語化や導入支援に携わっている。

 Uenoさんはまず、サービスを開始するときに必要なものとしてアイデア、インフラ、ベース設計、コンテンツ管理、ユーザー認証の5つを挙げた。

「アイデアは自分で考えるしかありませんし、インフラについてはAWSを使えばスケール可能なクイックスタートが可能です。問題は残り3つですが、ベース設計やコンテンツ管理、ユーザー認証の機能についてはベアボーンなフレームワークや自社開発で補っている場合が多いように感じています」(Uenoさん)

 さらに続けて、システム開発における今後の課題についても触れ、セキュリティ、マルチデバイス対応、マルチ認証、新たなトレンドや技術の習得と実装を挙げた。このような課題に自前の技術だけで対応していくのは無駄が多く、サービスに反映するにも時間がかかる。それを解消するために、CMSをIoTのフレームワークとして活用しようというのがUenoさんの提言だ。

IoTサービスのフレームワークとして使えるものがCMSには揃っている

「最近のCMSはフレームワークとして使える機能がすでに備わっていると考えます。リレーショナルデータベースとしても使えるし、ユーザー管理や認証機能も実装されています。REST APIも実装されていて、他のシステムとの連携もしやすくなっています」(Uenoさん)

 セキュリティ上、重要になるユーザー管理や認証機能が初めから備わっている点は、わかりやすい魅力のひとつだろう。さらにconcrete5をはじめとした多くのCMSがSymphonyというPHPのフレームワークを採用している。Symphony向けのライブラリも多く公開されているので、それらをclassとしてuse宣言するだけで機能拡張できるという強みがある。

キモとなるのはリレーショナルデータベースとユーザー管理機能の存在

 システムのフレームワークとして利用する際に必要な、データベースについてはどうだろうか。従来はMySQLやマイクロソフトAccessなどで管理していたものも、CMSだけで構築できるようになるとUenoさんは言う。

「最近のCMSの流れとして、リレーショナルデータベースの機能を取り込んでいくようになっています。concrete5も次のバージョンから実装予定です」(Uenoさん)

昨今のCMSにはリレーショナルデータベースも組み込まれている

 中にはCMSのユーザー管理機能と連携できるものや、ワークフローや権限管理機能と連携可能なCMSもあるという。従来のデータベースと違い、テーブルを気軽に変えられる、オープンソースのCMSなら機能追加も容易に行なえるなど、開発の自由度という点でも注目すべきポイントがある。

 ユーザー管理については、CMSの標準的な機能として長い時間をかけて磨かれてきたものをそのまま使える。Uenoさんも、CMSをフレームワークとして活用する一番のメリットだと語る。

「私個人の経験ですが、とある家計簿アプリをスマホで使っていました。Webからまとめて入力できれば便利だと思ったんですが、なかなかWeb版が出なくて。こういうものもCMSをフレームワークに使っていたら、すぐに対応できるはずなんですよね」(Uenoさん)

 スマホアプリをWeb版として展開するためには、ユーザー管理機能を実装しなければならない。セキュアなユーザー管理機能を自前で作るのは容易ではないため、Uenoさんが使っていたアプリも簡単にWeb版へ展開できなかったのだろう。

自前で作り込むと面倒なユーザー管理機能も標準装備

 しかし、CMSをフレームワークに使ってアプリを開発していれば、ユーザー管理機能を自前で実装する必要はない。属性のカスタマイズやグループ管理、ユーザーやグループごとの権限管理やデータ反映のための承認フローがすでにパッケージ化されているからだ。導入実績が多いCMSなら、セキュリティ面でも十分に安心してこれらの機能を使える。企業サイトやシステムとの連携が増える中で、LDAPやADFS認証に対応したものも出始めているというから、既存ユーザー管理基盤との統合さえもCMSで実現できそうだ。

CMSに限らずオープンソース活用は自社リソースの有効活用につながる

 Uenoさんが今回取り上げたのはCMSのconcrete5だったが、それに限らずオープンソースプロジェクトに参加し、システム構築に活用する意義は大きいと、セッション終盤で語った。無料で気軽に使えることが注目されがちだが、メリットはそれだけではない。

「オープンソースとして公開されているものを積極的に取り入れていくことで、時間や工数を大幅に削減できる可能性があります。その分、コアなアイディアを形にすることにリソースを割り当てられるので、ビジネスとしても優位に立てます」(Uenoさん)

CMSなどオープンソースを活用すれば、自分たちのやりたいことに注力できる

 さらに、不安視されがちなオープンソースのセキュリティについても心配ない、それどころかUenoさんは自前で開発するよりもセキュアなものを使えると考えているようだ。ただし、大型で継続的なプロジェクトに限る。

「たとえばCMSのconcrete5の場合、プロジェクトには200名近いエンジニアが参加していて、世界で20万人のユーザーがいます。それだけ多くの開発者、ユーザーが関わっていると言うことは、安定して稼働する状態にあること、脆弱性の発見も早いことが期待できます」(Uenoさん)

 オープンソースを活用して時間を作り、本当に集中したいものに時間を割けるようにすべきだと、Uenoさんは言う。もちろん恩恵を受けた分、オープンソースプロジェクトに参加して成長に寄与することも忘れないように。

カテゴリートップへ

この連載の記事