SlideShare a Scribd company logo
Presented by James Purser // 06-03-2015
Drupal – At the centre of the
web
In the beginning...
There was Drupal and it was good
Drupal provides all...
A Framework
• Flexible content management system
• Core set of libraries
• User management
• Comprehensive API
• Large third party module set
Sometimes Drupal needs to play with
others...
The horde... (but shhh the users don’t
know)
We built a Learning Platform out of different moving parts
• CMS (Drupal) - For content
• LMS (Moodle) - Learning Materials
• Student Management System - Student and course
metadata
• Payment Gateways (x2) - e-commerce functionality
• CRM (Salesforce) - Lead management
• Identity Provider (SAML)
• Amazon Web Services - Queues and Mail services
The spider at the heart of the web...
Why Drupal?
Because of these bits
• Core set of libraries
• User management
• Comprehensive API
• Large third party module set
• Flexible content management system
Why Drupal?
And these things:
• Webservices support out of the box
• hooks - ie: module_user_save allows us to ensure that all
systems are updated when a user is updated in drupal.
• PHP is a mature and flexible language and library set.
• Drush is incredibly useful not only for development but
bespoke cli and devops
• Drupal framework features make developing new
functionality easier
A Real Time Comms Story...
Creating a User (as part of module_user_save):
• New user registers with Drupal
• Drupal then does the following via real time webservices
– Register the new user with the LMS
– Register the new user with the Student Management System
– Register the new user with the CRM
– Updates its own user information with identifiers from each of
the above.
Queueing for an Invoice...
Generating an invoice after enrollment:
• User decides to enrol, goes through e-commerce process
• If all good (as in they have the money)
– Student Management System completes enrollment with LMS
– Then puts a message onto a payment queue for Drupal to
process on a schedule
– Drupal (via cron) pops the message, processes information
and emails invoice to new student.
Which would you pick?
– Do you need to process in real time or can you wear a delay?
– How much information are you trying to process at one time?
– What resources do you have available (CPU, RAM etc)?
– How will the service affect your applications operation?
– What is your tolerance failure?
– What data governance requirements do you have?
– What are you comfortable with?
Webservice vs Queue deathmatch...
Webservices
• Real time
• Part of the page build
• Widely supported
• Multiple Protocols
• Heavy on the resources
• Load spikes can be
dangerous
• Not failure tolerant
• Potential attack vector
• A bit fiddly to test
Queues
• Delayed processing on a
schedule
• Light weight
• Queue’s are more highly
available than webservices
• They buffer comms between
system components
• More tolerant to outages and
peak load issues
Monitoring your Integration Hub...
• Having so many different system can make keeping track of the
state of things difficult
• With Drupal as our hub, we can leverage that to build a series of
webservices that allow remote monitoring services to keep a
close eye on the health of the system
• Each check is an independent webservice/function. The response
object is JSON
Some lessons learnt...
Where possible go batch...
• The problem with realtime is that if one part of the process goes
down then everything goes down
• Batch processing allows you to schedule how and when you
process the requests, much better management of resources
• Debugging is easier (trying to catch a live webservice call vs
checking a packet on a queue)
About Catalyst
Catalyst Clients
Open Source Technologies

More Related Content

ODP
Integrating Moodle With Enterprise Systems
PPT
Adventures in Open-source: Lessons Learned at Purchase College
PDF
Drupal LMS. February 2015 [Brisbane Drupal meetup]
PDF
Drupal South 2015: Drupal in education
PPT
Moodle: using an open learning management system to support student learning
PDF
Learning Web: Content Management for Instruction
PPT
Learning management System Techniques By Ravinder Tulsiani
PDF
20 ideas for moodle daniel mc sweeney + kyle goslin
Integrating Moodle With Enterprise Systems
Adventures in Open-source: Lessons Learned at Purchase College
Drupal LMS. February 2015 [Brisbane Drupal meetup]
Drupal South 2015: Drupal in education
Moodle: using an open learning management system to support student learning
Learning Web: Content Management for Instruction
Learning management System Techniques By Ravinder Tulsiani
20 ideas for moodle daniel mc sweeney + kyle goslin

What's hot (17)

PPT
2-3-98 Presentation: Moodle Soup: Many Uses for Many Tastes
PPT
Intro Moodle
PPTX
Lms, cms, lcms
PDF
Open Source Learning Management System - Canvas
PDF
CMS, LMS & LCMS
PPT
Breaking down the barriers to learning technology imoot 2012 keynote
PPT
Nercomp08 Shah-Nelson - Open Source LMS
DOCX
LMS-LEARNING MANAGEMENT SYSTEM
PPTX
Moodle student orientation
PDF
Learning Management System | ATUM-LMS
PPT
Hyper edu
PPTX
Crum introtomoodle
PPTX
EvdekiKurs
PDF
10 more reasons to move to moodle2 from moodle 1.9 (part2)
PPTX
learning Management system
PDF
Future of eLearning with Valamis
PPT
Nercomp08 LMS Migration
2-3-98 Presentation: Moodle Soup: Many Uses for Many Tastes
Intro Moodle
Lms, cms, lcms
Open Source Learning Management System - Canvas
CMS, LMS & LCMS
Breaking down the barriers to learning technology imoot 2012 keynote
Nercomp08 Shah-Nelson - Open Source LMS
LMS-LEARNING MANAGEMENT SYSTEM
Moodle student orientation
Learning Management System | ATUM-LMS
Hyper edu
Crum introtomoodle
EvdekiKurs
10 more reasons to move to moodle2 from moodle 1.9 (part2)
learning Management system
Future of eLearning with Valamis
Nercomp08 LMS Migration
Ad

Similar to Drupal as integration hub.odp (20)

PPTX
Managing Exchange 2016 - Paul Robichaux
PPT
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...
PPTX
Microservices vs monolithics betabeers
PPTX
Introduction to Microservices
PPTX
JavaOne: Efficiently building and deploying microservices
PDF
e-Learning Delivery System : The Challenges
PPTX
Microservices: Yes or not?
PPT
IWMW 2002: Portals and CMS:" Why You Need Them Both
PPT
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
PDF
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
PPSX
crud+slides+show.ppsx
PDF
Distributed Systems in Data Engineering
PDF
Architectural Decisions: Smoothly and Consistently
PDF
Architectural Decisions: Smoothly and Consistently
PPTX
Monitoring Oracle SOA Suite
PPTX
The Overview of Microservices Architecture
PDF
IMCSummit 2015 - Day 1 Developer Track - In-memory Computing for Iterative CP...
PPTX
Cloud Orchestration is Broken
PPTX
Fontys Lecture - The Evolution of the Oracle Database 2016
PPTX
Dori Exterman, Considerations for choosing the parallel computing strategy th...
Managing Exchange 2016 - Paul Robichaux
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...
Microservices vs monolithics betabeers
Introduction to Microservices
JavaOne: Efficiently building and deploying microservices
e-Learning Delivery System : The Challenges
Microservices: Yes or not?
IWMW 2002: Portals and CMS:" Why You Need Them Both
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
crud+slides+show.ppsx
Distributed Systems in Data Engineering
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
Monitoring Oracle SOA Suite
The Overview of Microservices Architecture
IMCSummit 2015 - Day 1 Developer Track - In-memory Computing for Iterative CP...
Cloud Orchestration is Broken
Fontys Lecture - The Evolution of the Oracle Database 2016
Dori Exterman, Considerations for choosing the parallel computing strategy th...
Ad

More from James Purser (7)

PPTX
Glass wear
PDF
How, what and what else
ODP
Building The Independent Wave
PDF
Government Procurement - Let's Shake It Up A Bit
PDF
ODP
Thinkubating - Or How Local Government Came To Love Plone
PPT
Knowledge Management And Small Business
Glass wear
How, what and what else
Building The Independent Wave
Government Procurement - Let's Shake It Up A Bit
Thinkubating - Or How Local Government Came To Love Plone
Knowledge Management And Small Business

Recently uploaded (20)

PPTX
Introduction to Effective Communication.pptx
PPTX
Project and change Managment: short video sequences for IBA
PPTX
Presentation for DGJV QMS (PQP)_12.03.2025.pptx
PPTX
INTERNATIONAL LABOUR ORAGNISATION PPT ON SOCIAL SCIENCE
PPTX
_ISO_Presentation_ISO 9001 and 45001.pptx
PDF
Tunisia's Founding Father(s) Pitch-Deck 2022.pdf
PPTX
Self management and self evaluation presentation
PPTX
The Effect of Human Resource Management Practice on Organizational Performanc...
PPTX
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
PDF
Swiggy’s Playbook: UX, Logistics & Monetization
PPTX
PHIL.-ASTRONOMY-AND-NAVIGATION of ..pptx
PPTX
Human Mind & its character Characteristics
PPTX
Tablets And Capsule Preformulation Of Paracetamol
PPTX
An Unlikely Response 08 10 2025.pptx
PDF
Instagram's Product Secrets Unveiled with this PPT
PDF
Nykaa-Strategy-Case-Fixing-Retention-UX-and-D2C-Engagement (1).pdf
DOC
学位双硕士UTAS毕业证,墨尔本理工学院毕业证留学硕士毕业证
PPTX
Primary and secondary sources, and history
DOCX
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
PPTX
Tour Presentation Educational Activity.pptx
Introduction to Effective Communication.pptx
Project and change Managment: short video sequences for IBA
Presentation for DGJV QMS (PQP)_12.03.2025.pptx
INTERNATIONAL LABOUR ORAGNISATION PPT ON SOCIAL SCIENCE
_ISO_Presentation_ISO 9001 and 45001.pptx
Tunisia's Founding Father(s) Pitch-Deck 2022.pdf
Self management and self evaluation presentation
The Effect of Human Resource Management Practice on Organizational Performanc...
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
Swiggy’s Playbook: UX, Logistics & Monetization
PHIL.-ASTRONOMY-AND-NAVIGATION of ..pptx
Human Mind & its character Characteristics
Tablets And Capsule Preformulation Of Paracetamol
An Unlikely Response 08 10 2025.pptx
Instagram's Product Secrets Unveiled with this PPT
Nykaa-Strategy-Case-Fixing-Retention-UX-and-D2C-Engagement (1).pdf
学位双硕士UTAS毕业证,墨尔本理工学院毕业证留学硕士毕业证
Primary and secondary sources, and history
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
Tour Presentation Educational Activity.pptx

Drupal as integration hub.odp

  • 1. Presented by James Purser // 06-03-2015 Drupal – At the centre of the web
  • 2. In the beginning... There was Drupal and it was good
  • 3. Drupal provides all... A Framework • Flexible content management system • Core set of libraries • User management • Comprehensive API • Large third party module set
  • 4. Sometimes Drupal needs to play with others...
  • 5. The horde... (but shhh the users don’t know) We built a Learning Platform out of different moving parts • CMS (Drupal) - For content • LMS (Moodle) - Learning Materials • Student Management System - Student and course metadata • Payment Gateways (x2) - e-commerce functionality • CRM (Salesforce) - Lead management • Identity Provider (SAML) • Amazon Web Services - Queues and Mail services
  • 6. The spider at the heart of the web...
  • 7. Why Drupal? Because of these bits • Core set of libraries • User management • Comprehensive API • Large third party module set • Flexible content management system
  • 8. Why Drupal? And these things: • Webservices support out of the box • hooks - ie: module_user_save allows us to ensure that all systems are updated when a user is updated in drupal. • PHP is a mature and flexible language and library set. • Drush is incredibly useful not only for development but bespoke cli and devops • Drupal framework features make developing new functionality easier
  • 9. A Real Time Comms Story... Creating a User (as part of module_user_save): • New user registers with Drupal • Drupal then does the following via real time webservices – Register the new user with the LMS – Register the new user with the Student Management System – Register the new user with the CRM – Updates its own user information with identifiers from each of the above.
  • 10. Queueing for an Invoice... Generating an invoice after enrollment: • User decides to enrol, goes through e-commerce process • If all good (as in they have the money) – Student Management System completes enrollment with LMS – Then puts a message onto a payment queue for Drupal to process on a schedule – Drupal (via cron) pops the message, processes information and emails invoice to new student.
  • 11. Which would you pick? – Do you need to process in real time or can you wear a delay? – How much information are you trying to process at one time? – What resources do you have available (CPU, RAM etc)? – How will the service affect your applications operation? – What is your tolerance failure? – What data governance requirements do you have? – What are you comfortable with?
  • 12. Webservice vs Queue deathmatch... Webservices • Real time • Part of the page build • Widely supported • Multiple Protocols • Heavy on the resources • Load spikes can be dangerous • Not failure tolerant • Potential attack vector • A bit fiddly to test Queues • Delayed processing on a schedule • Light weight • Queue’s are more highly available than webservices • They buffer comms between system components • More tolerant to outages and peak load issues
  • 13. Monitoring your Integration Hub... • Having so many different system can make keeping track of the state of things difficult • With Drupal as our hub, we can leverage that to build a series of webservices that allow remote monitoring services to keep a close eye on the health of the system • Each check is an independent webservice/function. The response object is JSON
  • 15. Where possible go batch... • The problem with realtime is that if one part of the process goes down then everything goes down • Batch processing allows you to schedule how and when you process the requests, much better management of resources • Debugging is easier (trying to catch a live webservice call vs checking a packet on a queue)