Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack

Post on 08-Apr-2017

65 views 3 download

Transcript of Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack

Ray Saltini - Director, Center of Excellence, FFWDavid Hernandez - Manager of Learning and Contributions,

FFWRon Northcutt - Senior Solutions Architect, Acquia

Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack

Why are we here?

WHY DRUPAL?

Highly Scalable Mobile-First SecurityIntegrated Digital Applications

Easy Content Authoring

Flexible Content Architecture

Tools for Business, with No Limitations

Multisite

Strong Stack Foundation

Content as a Service MultilingualCommunity of Talent and Experience

Integrated Digital Applications

Existing Pain Points• Divergent systems• Multiple authentication systems• Multiple marketing channels• The stress and cost of maintaining multiple stacks• Administrative overhead and complex reporting

How does Drupal 8 solve these problems?

More Robust API• Views UI for GET requests• Serialization formats (json, xml, hal_json, etc.)• Authentication methods (cookie, basic http, oauth, etc.)

• Unsafe methods & CSRF protection (X-CSRF-Token request header)• Custom REST plugins

• Configuration per resource -or- per method• Respects Drupal permission settings (GET, POST, etc.)

More Robust Caching• Cacheability metadata

• Tags - dependencies for granular purging (eg. node:46)• Contexts - variations based on request (analogous to vary header)• Max-age - time-based (analogous to max-age header)

• Practical abstraction• Render caching (fragments/render arrays)• Response caching (response object)

• Usually “just works”

Symfony Framework• Reduces developer fatigue/training/recruiting• Twig templating engine

• Safer and easier to work with• Fully OOP modern framework• Dependency injection• Routing, sessions, services, event dispatcher, and more• YAML files for CMI• “Proudly not invented here”

Powerful Toolsets• Symfony tools like Console

• Drupal console for code scaffolding• Docksal and CIBox• Composer• Configuration management system• Pipeline systems• Waterwheel SDK• GraphQL

Powerful, flexible data• Structured data• Flexible, swappable data store• Query building• Data imports• Decoupled rendering

Security• Single point of entry• Fewer systems to maintain• Fewer user accounts• Walled off stack systems

Drupal Itself• Security advisories and policies• Robust notifications• Many eyes and many hands

Real-world Examples

Powdr Resorts• Drupal backend for content and data• Angular front end• Component integrations with other

data sources (weather, business data)• Heavy use of REST API• Custom entities

Transportation Authority• From a major metropolitan city• Controlling digital signage• Manage content• Schedule information• In real time on all the screens

Princess Cruise• Guests to send messages to each

other• Plan their day's events, activities,

& shore excursions• Review the ship's itinerary &

port guides• Browse restaurant menus & make

reservations• Access their stateroom accounts• Book shore excursions• Central content repository that can be

shared across ships.

ResultsDivergent Systems

Multiple authentication

Marketing channels

Maintenance/development

Administrative overhead

Robust API ✅ ✅ ✅ ✅

Robust Caching ✅ ✅

Symfony Framework

✅ ✅

Data Store ✅ ✅ ✅ ✅

Security ✅ ✅ ✅ ✅

Thank You!