Drupal開発実績 e-Stat 政府統計の総合窓口(アーキテクチャ編)

e-Stat 政府統計の総合窓口ウェブサイトのスクリーンショット
「政府統計の総合窓口(e-Stat)」は、各府省が公開する統計データを一つにまとめ、統計データの検索をはじめとした、さまざまな機能を備えた政府統計のポータルサイトです。

私たちの生活に身近な所では、5年に一度実施される、国勢調査で得られた「人口」「世帯数」などさまざまな統計データがこのサイト上に集約されています。 これらの統計データは、マーケティングやコンサルティング分野、学術研究、政策立案など様々な用途で広く利用されています。

なぜDrupalが選ばれたのか?

Drupalは世界中のデータポータルサイトで幅広く利用されるなど、統計分野のシステムでは実績のあるシステムです。また、Rest APIを利用し外部システムから取得したデータをモジュール単位でブロックとして表示できるなど、バックエンドシステムとの連携が必要な今回のe-statの要件を満たすのに最適なシステムだと判断され採用に至りました。

サイト運営にコストがかかる旧システムの問題点

旧サイトは10年前から稼働する、JAVAで構築された巨大なバックエンドを持つシステムで構築されていました。サイトの外観やデザインなど表示に関する「フロントエンド」部分と、データの入力や保存などする処理を司る「バックエンド」部分が分離されておらず、サイト内のコンテンツの追加や、些細な文言の変更にもその都度、専門業者によるコード修正作業が必要でした。そのため、サイトの運営にコストがかかるという問題を抱えていました。

そのため、今回のリニューアルでは
「巨大な既存のバックエンドシステムを維持しながらも、サイト運営にかかるコストを削減するにはどうしたら良いのか?」 これが大きな課題でした。

Drupalとバックエンドシステムとの連携により運営し易いシステム構成を提案

弊社が提案したのは、以下の図のようなフロントエンド部分をDrupalで作成し、バックエンドのシステムからの出力をDrupalのテーマやUIを経て表示する構成でした。

drupalデザインパターン

この構成により、利用者が目にする部分にはDrupalのテーマに由来するデザインや外観が適用されます。 また、新規にコンテンツページを作成する場合にもDrupal上のコンテンツとしてページを追加可能なため、サイト運営のコストを大幅に減らす事が可能になります。

Drupalのモジュールシステムを利用した、多人数による同時開発体制を実現

e-statのリニューアルプロジェクトは弊社と某システム開発会社様(以下、A社)との共同で実施されました。以下の表のようにDrupalによるフロントエンド開発を弊社が担当し、バックエンドとの連携部分をA社が担当しました。

弊社 A社
  • Drupalによるサイト構築
  • サイトデザイン・UI設計
  • システム構成の提案
  • Drupalとバックエンドシステムとの連携方法の提案
  • 技術指導・サンプル実装
  • バックエンドシステムとの連携のための
    モジュール開発
  • 検索システムの作成

限られた開発期間の中で、大規模なサイトリニューアルを可能にしたのは、Drupalのモジュールシステムを利用した効率的な同時開発体制を実現できたためです。

統計データの検索ページなどバックエンドシステムと連携が必要な部分の開発は、A社がDrupalのモジュールとして開発を行いました。これにより、弊社によるDrupalのフロントエンド開発とA社によるバックエンドとの連携のための開発を完全に分離することを実現しました。

開発時の問題点

既存システムのリニューアルは新規開発より難しい

システム開発は新規に作るほうが大変だと思われがちです。しかし、今回のケースのように既存のシステムの更新の場合、仕様として「変えられるもの」と「変えられないもの」が混在するため、完全な新規開発より遥かに難易度が高くなります。

プロジェクトのスタート時には、既存の検索機能を実現するためのロジックやデータをDrupalに全て移植するという案もありました。しかし、短期間のプロジェクトで開発言語やフレームワークを変更をしつつ(しかも未経験者がほとんど)、「変えられないもの」があるという状況はかなりのリスクがあると弊社では考えていました。

既存のバックエンドシステムが提供するデータ表示システム

バックエンドシステムが提供するデータ表示システム


そこで、前述したように、Drupal自体にはデータや業務ロジックは実装せず、DrupalのモジュールでバックエンドのシステムとAPI連携を行ない、データを出力するフロントエンドをDrupalに担当させるというアーキテクチャを提案しました。

このアーキテクチャの採用により、Javaで実装された既存のバックエンドシステムを極力流用しつつ、モダンなUXの実現とサイト管理者によるコンテンツ編集の柔軟性を両立させることができました。 また、開発者視点では、Drupal自体の学習コストを最小限に抑えることもできるというメリットも大きかったのではないかと思います。

開発体制の提案、システム構成、デザイン・UI設計、技術指導までをトータルでサポート

弊社の強みは、Drupalの強みを最大限に引き出すために必要な開発体制の提案から、コンサルティング、デザイン・UI設計、システム構成や実装レベルの提案に至るまでトータルでDrupal開発をサポートできる点です。

今回のe-statのリニューアルのケースのように、異なるシステムの開発・連携を複数のチームで行う場合には、各チームの役割分担を明確化し、Drupalのシステムを前提とした開発体制を構築する必要があります。それに加え、各チームの開発するシステムを支障なく連携させるための技術的なコンサルティングやサポートが必要不可欠です。

今回、弊社は「Drupalとバックエンドとの連携」部分に関して、サンプル実装の提供と技術指導をさせていただきました。弊社の強みは、提案だけではなく、実装レベルのコンサルティングも柔軟に対応できる点です。

Drupalのエキスパートだからできる、トータルな開発・サポートはANNAIにお任せください。