2017/06/08 1 P
新時代のエンタープライズデータマネジメント
2017/06/08 2 P
My Profile
紀野 惠( Satoshi Kino )
ANNAI Inc CEO
• Drupal User Group (groups.drupal.org/japan)
• DrupalCafe Drupal勉強会Organizer
• DrupalCamp 実行委員長
• KOF (KansaiOpenForum) / OSC 京都 実行委員
• Code for Kyoto
Profile
2017/06/08 3 P
ANNAIのミッション
Leading To The GOAL
With Imagination And Technology
アイデアとテクノロジーでゴールに導く
2017/06/08 4 P
ANNAIのビジョン
Drupalを世界共通プラットフォームにし、
オープンなWebの力をすべての人にシェアすること。
2017/06/08 5 P
やりたいプロジェクト
ありそうでなかった世界を実現する
技術的にチャレンジングである
パートナーと遠慮なくコミュニケーションが取れる
ゴールが明確に設定されている
2017/06/08 6 P
Drupalとはなんでしょうか?
2017/06/08 7 P
Drupalとは?
世界中の政府・大学・大企業で使われているCMS?
2017/06/08 8 P
No!!
私たちはDrupalをCMSとは考えていません。
2017/06/08 9 P
Drupalとは?
Drupalは
データ・マネジメント・プラットフォーム
2017/06/08 10 P
Drupalとは?
まずデータありき。
ページだけを管理するCMSではありません。
2017/06/08 11 P
Drupalとは?
共通のデータベーススキーマ定義
フレームワーク共通なのでデータの流通が可能
2017/06/08 12 P
Drupalとは?
RestfulAPI, RDF 標準装備
フレームワーク共通なので外部連携が容易
2017/06/08 13 P
Drupalとは?
共通のView表示作成手法
 データの再利用がいとも簡単に可能
 高機能SQLビルダー + プレゼンテーションビルダー
2017/06/08 14 P
Drupalとは?
ユーザー管理、ロギング、ワークフロー等のプラットフォームとして
求められる機能を標準装備
2017/06/08 15 P
Drupalとは?
開発過程をノンデベロッパーが見るだけでも理解できる
GUI開発の奥行きとカスタマイズの見通しの良さ
2017/06/08 16 P
Drupalとは?
データのポータビリティが高くベンダー、プロダクトロックインが発
生しにくい
2017/06/08 17 P
Drupal Design Patternとは?
2017/06/08 18 P
もう一度、Drupalとは?
Drupal は Webの
 フロント画面
 データ構造
 データを扱うための業務ロジック
を一度に開発できるフルスタックのフレームワーク (Content != HTML)
2017/06/08 19 P
もう一度、Drupalとは?
今後はさらに進んでDrupalを他のシステムと連携して使うことが増
えてくる
Drupalの強みであるデータ指向とGUIカスタマイズが最大限に活きる
2017/06/08 20 P
Drupalをどこで使うか。
私たちはDrupal Design Patternと名付けました。
そのパターンを幾つかご紹介します。
2017/06/08 21 P
Dataless Form パターン
外部DB ストレージ
サービス
サイト管理者
•フォームの入力項目変更
•レイアウト変更
•翻訳お問い合わせ
Drupal内に
データは
持たない
Drupalで個人情報を保持せず
Security Zoneに送信後に
破棄することで
セキュアなフォームを実現できる
ポイント
Security Zone
2017/06/08 22 P
Auto Generated Frontend パターン
API開発者がロジックの
開発のみに専念できる
ポイント
レイアウト変更や
翻訳などDrupalの強力な
開発機能が使えるため
ちょっとした変更は
開発者がいなくても可能
・
・
API開発者
Open API Specと
それに準拠したAPIを用意
2
1
サイト管理者
Open API SpecをDrupalに
インポートすると、APIに対応した
CRUDのUIが自動生成される
•レイアウト変更
•翻訳
1
2
3
Open API Spec を読み込ませると、
フォーム 一覧 詳細ページが、
同時に自動で生成される。
またデータはAPI経由で別のストレージに保存される
API
1 2 3
2017/06/08 23 P
Fully Decoupled パターン
Drupal側とFrontend側が完全に分離しており
平行に開発が可能
ポイント
デザインの自由度が高い、開発コストは高くなる
・
・
DrupalをAPIサーバーとして利用する
コードを書かずにAPIを出せる
・
1つのDripalでスマホアプリ、SPA、
従来通りのWebサイトなど複数の見せ方ができる
・
Javascript
Framework
Javascript
Framework
Java、NET
PHPなど
REST API
Content
2017/06/08 24 P
Native Application Bridge パターン
REST API
Content
ユーザーはいつも通りExcelなどの
ローカルアプリを使うだけで
Drupalを全く意識する必要がない
ポイント
Excelにデータを保存すると
自動的にREST APIがデータを送信
Drupalのサイトにアクセスすると
作業者のExcelと
同じような画面が出る
管理者
作業者
2017/06/08 25 P
API Bridge パターン
Menu
News
Search
お知らせ
Custom menu
モジュール
REST API
twig
.NETシステム
Custom news
モジュール
REST API
twig
JAVAシステム
Custom search
モジュール
REST API
twig
PHPシステム
Drupal Content
ポイント
Drupalで表示するブロックごとにモジュールを分割。モジュールごとにREST APIで
外部システムからデータを取得し、Twigテンプレートを通してHTMLのコンポーネントを生成
翻訳、レイアウト変更などのDrupalの機能を使いつつ、業務ロジックは別システムに切り出せる
・
・
2017/06/08 26 P
Progressive Decoupled パターン
Menu
News
Search
お知らせ
Searchモジュール
Drupal Content
ポイント
Drupal内にReactやAngularなどJavascriptフレームワークを直接うめこむ。
Drupalだけでは難しいSPAのようなリッチなシステムを作ることができる。
コンポーネント毎に異なるJavascriptフレームワークを使い、共存させることもできる。
・
・
React.js
Newsモジュール
Angular.js
・
2017/06/08 27 P
Drupal Expo 2017
さまざまなDrupalの活用法が発表されます。
これからのセッションをお楽しみに!
2017/06/08 28 P
Drupal Expo 2017
2017/06/08 29 P
Drupal Expo 2017

新時代のエンタープライズデータマネジメント Drupal expo2017

Editor's Notes

  • #3 私は、ANNAI 株式会社の紀野と申します。 ANNAIは日本では唯一Drupalを専門とした開発会社で、多数のDrupalエキスパートが在籍しています。主にエンタープライズ大企業向けのwebシステムの構築や自治体・大学様向けのシステム開発などを行っています。