SlideShare ist ein Scribd-Unternehmen logo
1 von 58
The Japan Government has adopted
Drupal8 for its official statistics system.
April 11th 2018 DrupalCon NASHVILLE
ANNAI Inc. Co-founder & CEO Satoshi Kino
e-Stat: What is it
2
3
is a Drupal development agency
●  Founded in 2007
●  Started with Drupal 5
●  HQ in Kyoto, Japan
●  Team of 6 people working remotely
A different angle - an unconventional approach to
decoupled Drupal
Hello Kitty ©1976 SANRIO CO., LTD. BABY METAL 4
e-Stat : What is it?
5
v  Intended purpose: become a one-stop portal
for Japanese government statistics
v  A huge system containing all statistics
for all government ministries
v  A repository of all national census data.
(currently 625 statistics, 1.3 million files published)
e-Stat : What is it?
6
e-Stat : First, the previous site
7
v  Create a smooth user experience for users
to search and display data in an easy to understand format
v  Reduce costs for site updates, maintenance,
and adding new functionality
e-Stat : Goals of the Site Rebuild
8
Challenges
9
v Massive JAVA + Oracle back end.
•  Front and back ends not decoupled
10
Challenges
•  High cost for small/simple changes
•  Very very slow
•  Menu based site UI/Navigation
•  A huge number of statistical data
(currently 625 statistics, 1.3 million files published)
v Outdated UX
Difficult to find what one was looking for
11
Challenges
Challenges
v Development timeline: max 18 months
12
13
Challenges
v We considered the DKAN distribution,
but determined it didn't meet our requirements.
14
Challenges
v The government requires large agencies
v Large agencies in Japan have little or no Drupal
experience
v Features and Configuration Management were not yet
ready for production sites in Drupal 8.
15
Challenges
16
Challenges
v Considered Java back-end with decoupled JavaScript
front-end for search and display
Various issues arose・・・
v Considered Java back-end with decoupled JavaScript
front-end for search and display
•  Requests were slow
17
Challenges
v Considered Java back-end with decoupled JavaScript
front-end for search and display
•  JavaScript front-end lost Drupal admin functionality
18
Challenges
-  Multilingualism
-  User authentication
v Considered Java back-end with decoupled JavaScript
front-end for search and display
•  Difficult to utilize Drupal’s cache
19
Challenges
v Considered Java back-end with decoupled JavaScript
front-end for search and display
•  Additional layer increased maintenance overhead
20
Challenges
v Government required 8 active servers spread out
over two data centers (in case of natural disasters)
21
Challenges
v All the previous issues meant a full replacement of the
existing Java + Oracle system could not be achieved
with Drupal alone
22
Challenges
Solution
23
Solution
v We went with a reverse decoupling
•  Standard decoupled system integrate JavaScript
front end with Drupal back end
24
v We went with a reverse decoupling
•  Drupal front end UI
25
Solution
•  Java + Oracle for the back-end
MENU
NEWS
CONTENTS AREA
SEARCH
26
Custom menu
module
Custom news
module
Custom search
module
Drupal contents
module
twig
twig
twig
API Bridge pattern / Drupal Design Pattern
Java
Java
Java
Java
twig
●  Business logic is handled in back end.
MENU
NEWS
CONTENTS AREA
SEARCH
27
Custom menu
module
Custom news
module
Custom search
module
Drupal contents
module
twig
twig
twig
API Bridge pattern / Drupal Design Pattern
Java
Java
Java
Java
twig
●  Each module uses REST API to pull data from the data storage.
MENU
NEWS
CONTENTS AREA
SEARCH
28
Custom menu
module
Custom news
module
Custom search
module
Drupal contents
module
twig
twig
twig
API Bridge pattern / Drupal Design Pattern
Java
Java
Java
Java
twig
●  Modules were created for each block and URL.
MENU
NEWS
CONTENTS AREA
SEARCH
29
Custom menu
module
Custom news
module
Custom search
module
Drupal contents
module
twig
twig
twig
API Bridge pattern / Drupal Design Pattern
Java
Java
Java
Java
twig
●  Twig templates render HTML.
MENU
NEWS
CONTENTS AREA
SEARCH
30
Custom menu
module
Custom news
module
Custom search
module
Drupal contents
module
twig
twig
twig
API Bridge pattern / Drupal Design Pattern
Java
Java
Java
Java
twig
●  Changes to layout etc. done through the Drupal UI
31
System Architecture
/search?keyboard=abc&tag=1
Custom
module
Drupal Java API Solr
API Call
Result
Solr query
Solr result
class JavaSearchApiBridgeController extends ControllerBase {
① Query parameter normalization
② Searches Drupal cash. If a hit is found, a Twig template is used for display
③ If no hit is found, the JAVA API makes a call to Solr
④ The response is cached. The parameters are used to create a cache key for step 1
⑤ Twig is used to display the response
}
32
DNS
Load Balancer
1st data center
IP based
routing
2nd data center
IP based
routing
Galera cluster(database)
instance
CMS server
instance
Internet
Virtual Network
Network system
DB Clustering
Merits
33
Merits
v Rapid Development
•  Drupal modules
•  Twig templates
•  Result = Developers without Drupal experience
could work on the project
34
v Java integration with Solr overcame limits of
Drupal Search API
35
Merits
v Drupal's theming layer allows changes
independent of Java backend
36
Merits
v Drupal caching and BigPipe module created
fast front-end experience
37
Merits
v Drupal permissions and block visibility,
allow administrators to independently maintain the site
38
Merits
v Drupal pulls news and other contents
from 3rd party APIs
39
Merits
v Drupal CMS used for:
40
•  Creating help pages
•  Contact forms
•  News
•  Multilingualism
Merits
ANNAI and Drupal
41
ANNAI and Drupal
v We don't look at Drupal purely as a CMS,
but as a road on which to move forward
42
v Drupal as an enterprise level CMS is great
v More than a CMS, it’s a framework
v For us, Drupal is a Data Management Platform
43
ANNAI and Drupal
v Drupal has matured into a full platform, much like Intel,
Linux, PHP and Javascript
44
ANNAI and Drupal
v We liked the atmosphere of "Do it with Drupal"
in Drupal 5 and 6
•  Drupal is almost like stem-cells – a tool that can be
adapted to whatever your needs may be
45
ANNAI and Drupal
v We liked the atmosphere of "Do it with Drupal"
in Drupal 5 and 6
•  Open source software is great because
it's fun and easy to step in to
46
ANNAI and Drupal
v We liked the atmosphere of "Do it with Drupal"
in Drupal 5 and 6
•  In addition to being a fun hobby, it's also important
to keep new people coming in who can imagine
new ways to use Drupal, and further its
development
47
ANNAI and Drupal
v We need to be careful to not become complacent
48
ANNAI and Drupal
v Improvement is important, but we also need to foster
opportunities for innovation
49
ANNAI and Drupal
v For e-Stat, we used a reverse decoupled system
v Let’s find more ways to use Drupal in a fun,
innovative manner
50
ANNAI and Drupal
Moving Forward
51
Moving Forward
v  We're experimenting with using Drupal as the
backend of an application system for grants and
subsidies.
52
v  The creation of an API for government data
v  Pulling data into a SPARQL server using RDF
Working Together
v ANNAI is a small regional company,
with staff working remotely
53
•  We do large-scale development
•  We benefit from the Drupal community
v Giving back to the community
54
Working Together
•  Putting together Japan meetups
•  Drupal camps for Asia
•  Creating contents for new developers in Japanese
•  Wrote a book for site builders in Japanese
And Finally...
55
Work With Us!
v We are always looking for Drupal developers,
so if you have an interest in working in Japan,
please drop us a line!
56
Software Engineer DevOps EngineerFrontend Engineer
Q&A
57
Thank you!
ANNAI Inc.
https://annai.co.jp/en
support@annai.co.jp

Weitere ähnliche Inhalte

Ähnlich wie The Japan Government has adopted Drupal8 for its official statistics system. DrupalCon Nashville 2018

DIY Web Databases
DIY Web DatabasesDIY Web Databases
DIY Web Databases
NTEN
 
Hadoop online training in india
Hadoop online training  in indiaHadoop online training  in india
Hadoop online training in india
Madhu Trainer
 

Ähnlich wie The Japan Government has adopted Drupal8 for its official statistics system. DrupalCon Nashville 2018 (20)

Getting Started with Drupal
Getting Started with DrupalGetting Started with Drupal
Getting Started with Drupal
 
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
 
How to Successfully Implement Headless Drupal
How to Successfully Implement Headless DrupalHow to Successfully Implement Headless Drupal
How to Successfully Implement Headless Drupal
 
Building Drupal 8 Sites
Building Drupal 8 SitesBuilding Drupal 8 Sites
Building Drupal 8 Sites
 
Latest Developments in H2O
Latest Developments in H2OLatest Developments in H2O
Latest Developments in H2O
 
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
 
DIY Web Databases
DIY Web DatabasesDIY Web Databases
DIY Web Databases
 
Modern web application development with java ee 7
Modern web application development with java ee 7Modern web application development with java ee 7
Modern web application development with java ee 7
 
Automate Hadoop Cluster Deployment in a Banking Ecosystem
Automate Hadoop Cluster Deployment in a Banking EcosystemAutomate Hadoop Cluster Deployment in a Banking Ecosystem
Automate Hadoop Cluster Deployment in a Banking Ecosystem
 
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
 
Hadoop online training in india
Hadoop online training  in indiaHadoop online training  in india
Hadoop online training in india
 
Introduction to SAP, Systems, Applications
Introduction to SAP, Systems, ApplicationsIntroduction to SAP, Systems, Applications
Introduction to SAP, Systems, Applications
 
MIGRATION - PAIN OR GAIN?
MIGRATION - PAIN OR GAIN?MIGRATION - PAIN OR GAIN?
MIGRATION - PAIN OR GAIN?
 
Portal / BI 2008 Presentation by Ted Tschopp
Portal / BI 2008 Presentation by Ted TschoppPortal / BI 2008 Presentation by Ted Tschopp
Portal / BI 2008 Presentation by Ted Tschopp
 
Session 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers ProgramSession 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers Program
 
Decoupled Drupal and Gatsby in the Real World
Decoupled Drupal and Gatsby in the Real WorldDecoupled Drupal and Gatsby in the Real World
Decoupled Drupal and Gatsby in the Real World
 
Using Drupal 8 + D3 + Arduino to Create Real World Solutions
Using Drupal 8 + D3 + Arduino to Create Real World SolutionsUsing Drupal 8 + D3 + Arduino to Create Real World Solutions
Using Drupal 8 + D3 + Arduino to Create Real World Solutions
 
Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j
 
Drupal 8 and 9, Backwards Compatibility, and Drupal 8.5 update
Drupal 8 and 9, Backwards Compatibility, and Drupal 8.5 updateDrupal 8 and 9, Backwards Compatibility, and Drupal 8.5 update
Drupal 8 and 9, Backwards Compatibility, and Drupal 8.5 update
 
Migrate all the things!
Migrate all the things!Migrate all the things!
Migrate all the things!
 

Mehr von 惠 紀野

新時代のエンタープライズデータマネジメント Drupal expo2017
新時代のエンタープライズデータマネジメント� Drupal expo2017新時代のエンタープライズデータマネジメント� Drupal expo2017
新時代のエンタープライズデータマネジメント Drupal expo2017
惠 紀野
 
DrupalCampをしよう! Ohtagaki Kyoko kof2013
DrupalCampをしよう! Ohtagaki Kyoko kof2013DrupalCampをしよう! Ohtagaki Kyoko kof2013
DrupalCampをしよう! Ohtagaki Kyoko kof2013
惠 紀野
 
ANNAI カンファレンス・システム (大統一Debian勉強会2013)
ANNAI カンファレンス・システム (大統一Debian勉強会2013)ANNAI カンファレンス・システム (大統一Debian勉強会2013)
ANNAI カンファレンス・システム (大統一Debian勉強会2013)
惠 紀野
 

Mehr von 惠 紀野 (14)

The New Meiji Restoration: How Drupal is Helping Japan’s Government Embrace O...
The New Meiji Restoration: How Drupal is Helping Japan’s Government Embrace O...The New Meiji Restoration: How Drupal is Helping Japan’s Government Embrace O...
The New Meiji Restoration: How Drupal is Helping Japan’s Government Embrace O...
 
オープンデータ・プラットフォーム KYOTO OPEN DATA
オープンデータ・プラットフォーム KYOTO OPEN DATAオープンデータ・プラットフォーム KYOTO OPEN DATA
オープンデータ・プラットフォーム KYOTO OPEN DATA
 
新時代のエンタープライズデータマネジメント Drupal expo2017
新時代のエンタープライズデータマネジメント� Drupal expo2017新時代のエンタープライズデータマネジメント� Drupal expo2017
新時代のエンタープライズデータマネジメント Drupal expo2017
 
オープンソースソフトウェアとDrupal
オープンソースソフトウェアとDrupalオープンソースソフトウェアとDrupal
オープンソースソフトウェアとDrupal
 
Foss4G 2015 Drupal Hands-on Session
Foss4G 2015 Drupal Hands-on SessionFoss4G 2015 Drupal Hands-on Session
Foss4G 2015 Drupal Hands-on Session
 
Drupal8を体験しよう Drupal8 & Docker
Drupal8を体験しよう Drupal8 & DockerDrupal8を体験しよう Drupal8 & Docker
Drupal8を体験しよう Drupal8 & Docker
 
Showcase Drupal as a API Server at API Meetup 2015/05/22
Showcase Drupal as a API Server at  API Meetup 2015/05/22Showcase Drupal as a API Server at  API Meetup 2015/05/22
Showcase Drupal as a API Server at API Meetup 2015/05/22
 
ViewsがわかるとDrupalがわかる! Vol.1
ViewsがわかるとDrupalがわかる! Vol.1ViewsがわかるとDrupalがわかる! Vol.1
ViewsがわかるとDrupalがわかる! Vol.1
 
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App PlatformWhat's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
 
「Drupal Camp in Tokyoやりまーす!」 at PHP Conference 2014 Tokyo
「Drupal Camp in Tokyoやりまーす!」 at PHP Conference 2014 Tokyo「Drupal Camp in Tokyoやりまーす!」 at PHP Conference 2014 Tokyo
「Drupal Camp in Tokyoやりまーす!」 at PHP Conference 2014 Tokyo
 
Drupal deployment trial on Engine Yard
Drupal deployment trial on Engine YardDrupal deployment trial on Engine Yard
Drupal deployment trial on Engine Yard
 
DrupalCafe 2013 vol.9 in TOKYO
DrupalCafe 2013 vol.9 in TOKYO DrupalCafe 2013 vol.9 in TOKYO
DrupalCafe 2013 vol.9 in TOKYO
 
DrupalCampをしよう! Ohtagaki Kyoko kof2013
DrupalCampをしよう! Ohtagaki Kyoko kof2013DrupalCampをしよう! Ohtagaki Kyoko kof2013
DrupalCampをしよう! Ohtagaki Kyoko kof2013
 
ANNAI カンファレンス・システム (大統一Debian勉強会2013)
ANNAI カンファレンス・システム (大統一Debian勉強会2013)ANNAI カンファレンス・システム (大統一Debian勉強会2013)
ANNAI カンファレンス・システム (大統一Debian勉強会2013)
 

Kürzlich hochgeladen

2024 asthma jkdjkfjsdklfjsdlkfjskldfgdsgerg
2024 asthma jkdjkfjsdklfjsdlkfjskldfgdsgerg2024 asthma jkdjkfjsdklfjsdlkfjskldfgdsgerg
2024 asthma jkdjkfjsdklfjsdlkfjskldfgdsgerg
MadhuKothuru
 

Kürzlich hochgeladen (20)

Private Call Girls Bidar 9332606886Call Girls Advance Cash On Delivery Service
Private Call Girls Bidar  9332606886Call Girls Advance Cash On Delivery ServicePrivate Call Girls Bidar  9332606886Call Girls Advance Cash On Delivery Service
Private Call Girls Bidar 9332606886Call Girls Advance Cash On Delivery Service
 
Scaling up coastal adaptation in Maldives through the NAP process
Scaling up coastal adaptation in Maldives through the NAP processScaling up coastal adaptation in Maldives through the NAP process
Scaling up coastal adaptation in Maldives through the NAP process
 
Panchayath circular KLC -Panchayath raj act s 169, 218
Panchayath circular KLC -Panchayath raj act s 169, 218Panchayath circular KLC -Panchayath raj act s 169, 218
Panchayath circular KLC -Panchayath raj act s 169, 218
 
Call Girls Basheerbagh ( 8250092165 ) Cheap rates call girls | Get low budget
Call Girls Basheerbagh ( 8250092165 ) Cheap rates call girls | Get low budgetCall Girls Basheerbagh ( 8250092165 ) Cheap rates call girls | Get low budget
Call Girls Basheerbagh ( 8250092165 ) Cheap rates call girls | Get low budget
 
2024: The FAR, Federal Acquisition Regulations, Part 31
2024: The FAR, Federal Acquisition Regulations, Part 312024: The FAR, Federal Acquisition Regulations, Part 31
2024: The FAR, Federal Acquisition Regulations, Part 31
 
2024: The FAR, Federal Acquisition Regulations, Part 32
2024: The FAR, Federal Acquisition Regulations, Part 322024: The FAR, Federal Acquisition Regulations, Part 32
2024: The FAR, Federal Acquisition Regulations, Part 32
 
Lorain Road Business District Revitalization Plan Final Presentation
Lorain Road Business District Revitalization Plan Final PresentationLorain Road Business District Revitalization Plan Final Presentation
Lorain Road Business District Revitalization Plan Final Presentation
 
Sustainability by Design: Assessment Tool for Just Energy Transition Plans
Sustainability by Design: Assessment Tool for Just Energy Transition PlansSustainability by Design: Assessment Tool for Just Energy Transition Plans
Sustainability by Design: Assessment Tool for Just Energy Transition Plans
 
2024 asthma jkdjkfjsdklfjsdlkfjskldfgdsgerg
2024 asthma jkdjkfjsdklfjsdlkfjskldfgdsgerg2024 asthma jkdjkfjsdklfjsdlkfjskldfgdsgerg
2024 asthma jkdjkfjsdklfjsdlkfjskldfgdsgerg
 
Honasa Consumer Limited Impact Report 2024.pdf
Honasa Consumer Limited Impact Report 2024.pdfHonasa Consumer Limited Impact Report 2024.pdf
Honasa Consumer Limited Impact Report 2024.pdf
 
Dating Call Girls inBaloda Bazar Bhatapara 9332606886Call Girls Advance Cash...
Dating Call Girls inBaloda Bazar Bhatapara  9332606886Call Girls Advance Cash...Dating Call Girls inBaloda Bazar Bhatapara  9332606886Call Girls Advance Cash...
Dating Call Girls inBaloda Bazar Bhatapara 9332606886Call Girls Advance Cash...
 
Antisemitism Awareness Act: pénaliser la critique de l'Etat d'Israël
Antisemitism Awareness Act: pénaliser la critique de l'Etat d'IsraëlAntisemitism Awareness Act: pénaliser la critique de l'Etat d'Israël
Antisemitism Awareness Act: pénaliser la critique de l'Etat d'Israël
 
Financing strategies for adaptation. Presentation for CANCC
Financing strategies for adaptation. Presentation for CANCCFinancing strategies for adaptation. Presentation for CANCC
Financing strategies for adaptation. Presentation for CANCC
 
Vivek @ Cheap Call Girls In Kamla Nagar | Book 8448380779 Extreme Call Girls ...
Vivek @ Cheap Call Girls In Kamla Nagar | Book 8448380779 Extreme Call Girls ...Vivek @ Cheap Call Girls In Kamla Nagar | Book 8448380779 Extreme Call Girls ...
Vivek @ Cheap Call Girls In Kamla Nagar | Book 8448380779 Extreme Call Girls ...
 
Vasai Call Girls In 07506202331, Nalasopara Call Girls In Mumbai
Vasai Call Girls In 07506202331, Nalasopara Call Girls In MumbaiVasai Call Girls In 07506202331, Nalasopara Call Girls In Mumbai
Vasai Call Girls In 07506202331, Nalasopara Call Girls In Mumbai
 
Contributi dei parlamentari del PD - Contributi L. 3/2019
Contributi dei parlamentari del PD - Contributi L. 3/2019Contributi dei parlamentari del PD - Contributi L. 3/2019
Contributi dei parlamentari del PD - Contributi L. 3/2019
 
An Atoll Futures Research Institute? Presentation for CANCC
An Atoll Futures Research Institute? Presentation for CANCCAn Atoll Futures Research Institute? Presentation for CANCC
An Atoll Futures Research Institute? Presentation for CANCC
 
The NAP process & South-South peer learning
The NAP process & South-South peer learningThe NAP process & South-South peer learning
The NAP process & South-South peer learning
 
Finance strategies for adaptation. Presentation for CANCC
Finance strategies for adaptation. Presentation for CANCCFinance strategies for adaptation. Presentation for CANCC
Finance strategies for adaptation. Presentation for CANCC
 
Genuine Call Girls in Salem 9332606886 HOT & SEXY Models beautiful and charm...
Genuine Call Girls in Salem  9332606886 HOT & SEXY Models beautiful and charm...Genuine Call Girls in Salem  9332606886 HOT & SEXY Models beautiful and charm...
Genuine Call Girls in Salem 9332606886 HOT & SEXY Models beautiful and charm...
 

The Japan Government has adopted Drupal8 for its official statistics system. DrupalCon Nashville 2018

  • 1. The Japan Government has adopted Drupal8 for its official statistics system. April 11th 2018 DrupalCon NASHVILLE ANNAI Inc. Co-founder & CEO Satoshi Kino
  • 3. 3 is a Drupal development agency ●  Founded in 2007 ●  Started with Drupal 5 ●  HQ in Kyoto, Japan ●  Team of 6 people working remotely
  • 4. A different angle - an unconventional approach to decoupled Drupal Hello Kitty ©1976 SANRIO CO., LTD. BABY METAL 4
  • 5. e-Stat : What is it? 5
  • 6. v  Intended purpose: become a one-stop portal for Japanese government statistics v  A huge system containing all statistics for all government ministries v  A repository of all national census data. (currently 625 statistics, 1.3 million files published) e-Stat : What is it? 6
  • 7. e-Stat : First, the previous site 7
  • 8. v  Create a smooth user experience for users to search and display data in an easy to understand format v  Reduce costs for site updates, maintenance, and adding new functionality e-Stat : Goals of the Site Rebuild 8
  • 10. v Massive JAVA + Oracle back end. •  Front and back ends not decoupled 10 Challenges •  High cost for small/simple changes •  Very very slow
  • 11. •  Menu based site UI/Navigation •  A huge number of statistical data (currently 625 statistics, 1.3 million files published) v Outdated UX Difficult to find what one was looking for 11 Challenges
  • 13. 13 Challenges v We considered the DKAN distribution, but determined it didn't meet our requirements.
  • 14. 14 Challenges v The government requires large agencies v Large agencies in Japan have little or no Drupal experience
  • 15. v Features and Configuration Management were not yet ready for production sites in Drupal 8. 15 Challenges
  • 16. 16 Challenges v Considered Java back-end with decoupled JavaScript front-end for search and display Various issues arose・・・
  • 17. v Considered Java back-end with decoupled JavaScript front-end for search and display •  Requests were slow 17 Challenges
  • 18. v Considered Java back-end with decoupled JavaScript front-end for search and display •  JavaScript front-end lost Drupal admin functionality 18 Challenges -  Multilingualism -  User authentication
  • 19. v Considered Java back-end with decoupled JavaScript front-end for search and display •  Difficult to utilize Drupal’s cache 19 Challenges
  • 20. v Considered Java back-end with decoupled JavaScript front-end for search and display •  Additional layer increased maintenance overhead 20 Challenges
  • 21. v Government required 8 active servers spread out over two data centers (in case of natural disasters) 21 Challenges
  • 22. v All the previous issues meant a full replacement of the existing Java + Oracle system could not be achieved with Drupal alone 22 Challenges
  • 24. Solution v We went with a reverse decoupling •  Standard decoupled system integrate JavaScript front end with Drupal back end 24
  • 25. v We went with a reverse decoupling •  Drupal front end UI 25 Solution •  Java + Oracle for the back-end
  • 26. MENU NEWS CONTENTS AREA SEARCH 26 Custom menu module Custom news module Custom search module Drupal contents module twig twig twig API Bridge pattern / Drupal Design Pattern Java Java Java Java twig ●  Business logic is handled in back end.
  • 27. MENU NEWS CONTENTS AREA SEARCH 27 Custom menu module Custom news module Custom search module Drupal contents module twig twig twig API Bridge pattern / Drupal Design Pattern Java Java Java Java twig ●  Each module uses REST API to pull data from the data storage.
  • 28. MENU NEWS CONTENTS AREA SEARCH 28 Custom menu module Custom news module Custom search module Drupal contents module twig twig twig API Bridge pattern / Drupal Design Pattern Java Java Java Java twig ●  Modules were created for each block and URL.
  • 29. MENU NEWS CONTENTS AREA SEARCH 29 Custom menu module Custom news module Custom search module Drupal contents module twig twig twig API Bridge pattern / Drupal Design Pattern Java Java Java Java twig ●  Twig templates render HTML.
  • 30. MENU NEWS CONTENTS AREA SEARCH 30 Custom menu module Custom news module Custom search module Drupal contents module twig twig twig API Bridge pattern / Drupal Design Pattern Java Java Java Java twig ●  Changes to layout etc. done through the Drupal UI
  • 31. 31 System Architecture /search?keyboard=abc&tag=1 Custom module Drupal Java API Solr API Call Result Solr query Solr result class JavaSearchApiBridgeController extends ControllerBase { ① Query parameter normalization ② Searches Drupal cash. If a hit is found, a Twig template is used for display ③ If no hit is found, the JAVA API makes a call to Solr ④ The response is cached. The parameters are used to create a cache key for step 1 ⑤ Twig is used to display the response }
  • 32. 32 DNS Load Balancer 1st data center IP based routing 2nd data center IP based routing Galera cluster(database) instance CMS server instance Internet Virtual Network Network system DB Clustering
  • 34. Merits v Rapid Development •  Drupal modules •  Twig templates •  Result = Developers without Drupal experience could work on the project 34
  • 35. v Java integration with Solr overcame limits of Drupal Search API 35 Merits
  • 36. v Drupal's theming layer allows changes independent of Java backend 36 Merits
  • 37. v Drupal caching and BigPipe module created fast front-end experience 37 Merits
  • 38. v Drupal permissions and block visibility, allow administrators to independently maintain the site 38 Merits
  • 39. v Drupal pulls news and other contents from 3rd party APIs 39 Merits
  • 40. v Drupal CMS used for: 40 •  Creating help pages •  Contact forms •  News •  Multilingualism Merits
  • 42. ANNAI and Drupal v We don't look at Drupal purely as a CMS, but as a road on which to move forward 42
  • 43. v Drupal as an enterprise level CMS is great v More than a CMS, it’s a framework v For us, Drupal is a Data Management Platform 43 ANNAI and Drupal
  • 44. v Drupal has matured into a full platform, much like Intel, Linux, PHP and Javascript 44 ANNAI and Drupal
  • 45. v We liked the atmosphere of "Do it with Drupal" in Drupal 5 and 6 •  Drupal is almost like stem-cells – a tool that can be adapted to whatever your needs may be 45 ANNAI and Drupal
  • 46. v We liked the atmosphere of "Do it with Drupal" in Drupal 5 and 6 •  Open source software is great because it's fun and easy to step in to 46 ANNAI and Drupal
  • 47. v We liked the atmosphere of "Do it with Drupal" in Drupal 5 and 6 •  In addition to being a fun hobby, it's also important to keep new people coming in who can imagine new ways to use Drupal, and further its development 47 ANNAI and Drupal
  • 48. v We need to be careful to not become complacent 48 ANNAI and Drupal
  • 49. v Improvement is important, but we also need to foster opportunities for innovation 49 ANNAI and Drupal
  • 50. v For e-Stat, we used a reverse decoupled system v Let’s find more ways to use Drupal in a fun, innovative manner 50 ANNAI and Drupal
  • 52. Moving Forward v  We're experimenting with using Drupal as the backend of an application system for grants and subsidies. 52 v  The creation of an API for government data v  Pulling data into a SPARQL server using RDF
  • 53. Working Together v ANNAI is a small regional company, with staff working remotely 53 •  We do large-scale development •  We benefit from the Drupal community
  • 54. v Giving back to the community 54 Working Together •  Putting together Japan meetups •  Drupal camps for Asia •  Creating contents for new developers in Japanese •  Wrote a book for site builders in Japanese
  • 56. Work With Us! v We are always looking for Drupal developers, so if you have an interest in working in Japan, please drop us a line! 56 Software Engineer DevOps EngineerFrontend Engineer