WEBINAR: ZF, Ext JS and noSQL, the perfect alchemy to build the next CMS generation

5,738 views
5,538 views

Published on

Many current open-source CMS solutions, mostly based on traditional relational databases, have reached their limit. They are no longer able to fully address new web uses and challenges such as mobility, high volume and performance, ergonomics and accessibility. What are the alternative open-source choices to build the best of breed solution in 2013?

This webinar will focus on the example of Rubedo, a highly innovative CMS that brings together the quality and robustness of Zend Framework, the performance and flexibility of the MongoDB – Elastic Search NoSQL stack and the rich and user-friendly interfaces provided by the JavaScript Framework Sencha Ext JS.

Published in: Technology
1 Comment
5 Likes
Statistics
Notes
No Downloads
Views
Total views
5,738
On SlideShare
0
From Embeds
0
Number of Embeds
133
Actions
Shares
0
Downloads
0
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

WEBINAR: ZF, Ext JS and noSQL, the perfect alchemy to build the next CMS generation

  1. 1. 06-20-2013 Webinar An introduction to Rubedo, A new open source CMS. NoSQL storage, Zend Framework based In partnership with
  2. 2. INTRODUCTION
  3. 3. Introduction Christian DUREL  Managing Director of Southern Europe and EMEA Channel  christian.durel@zend.com Zend Partnership  WebTales is a Zend ISV/OEM partner and Rubedo is based on ZF & Zend Server 6  ZS6 : is an industrial & supported « PHP stack»  ZS6 includes performance & productivity tools  Benefits for the customer : – The application is supported BUT also the PHP and Zend Framework – High productive services and functionalities • Error detection and fixes • Performance and Security • Déployment & rollback capabilities • Configuration Management • Application performance indicators – Higher application SLA – Strong ISV and integrator relationship Introduction About CMS Rubedo Demonstration Communities Roadmap
  4. 4. Introduction Alexandru DOBRE  Graduate from Telecom Paris Sud  Front-end lead  Sencha Ext-JS expert Julien BOURDIN  Graduate from Ecole Centrale Lyon  Senior PHP Architect  WebTales co-founder & CTO Introduction About CMS Rubedo Demonstration Communities Roadmap WebTales, open-source editor Who are we?
  5. 5. Agenda  About CMS  Rubedo: from LAMP to LAMP  Demonstration  Communities  Roadmap
  6. 6. About CMS A CMS allows to create, store, classify, share and distribute heterogeneous contents. Contents are published to different websites, for different devices (smartphones, computers, tablets), regardless of the volume of data and websites traffic Introduction About CMS Rubedo Demonstration Communities Roadmap
  7. 7. About CMS - Technical overview of CMS  Mostly LAMP – Linux – Apache – MySQL – PHP  Most are written in plain old PHP – No framework – No dependancy injection and SOLID paradygm  All of them use SQL data storage Introduction About CMS Rubedo Demonstration Communities Roadmap
  8. 8. About CMS - Most frequently occurring problems  Ease of use  Agility / versatility  Maintenance costs  Performance / scalability  Mobility / responsive design Introduction About CMS Rubedo Demonstration Communities Roadmap
  9. 9. About CMS - Ease of use  Most of the time, contents are about a subject with no relation to IT  User interfaces should help, not make users flee Introduction About CMS Rubedo Demonstration Communities Roadmap
  10. 10. About CMS - Agility  Contents are heterogeneous  New content types are added in the websites lifecycle  SQL models can’t foresee structures Introduction About CMS Rubedo Demonstration Communities Roadmap
  11. 11. About CMS - Maintenance costs  Plain old PHP is good as long as nothing is to be changed  Software quality is difficult to manage when working alone (no framework, no components)  Skills are more expensive for specific products than for generic technologies Introduction About CMS Rubedo Demonstration Communities Roadmap
  12. 12. About CMS - Performance  There are no performance problems as long as – Traffic is not too big – Contents aren’t too many  These limits are quite smaller than you could hope  Scaling platform is often limited by data storage  Scaling costs are not linear Introduction About CMS Rubedo Demonstration Communities Roadmap
  13. 13. About CMS - Mobility  Mobile access will be more frequent than desktop access in a few years  Responsive design is quite new for CMS  It often costs twice or thrice to deliver contents to each device format Introduction About CMS Rubedo Demonstration Communities Roadmap
  14. 14. FROM LAMP TO LAMP Rubedo, a new CMS generation MySQL MongoDB
  15. 15. The birth of Rubedo  2012 : let's build a fresh solution to overcome previous limits!  LAMP is the default choice since 1995, BUT … – We need to serve dynamic and customized contents – We need to store varied and complex data – We need to scale – We need agility to fit customers needs  It leads to a new product – Easier to use – Responsive – Built on a cutting edge architecture Introduction About CMS Rubedo Demonstration Communities Roadmap
  16. 16. Rubedo : a webOS Introduction About CMS Rubedo Demonstration Communities Roadmap Sizeable windows, Can be dragged, minimized and so on Shortcut icons TaskbarMain menu Applications Backoffice search
  17. 17. Architecture overview Introduction About CMS Rubedo Demonstration Communities Roadmap
  18. 18. Zend Framework  Why a framework? – Don’t reinvent the wheel – Mantain specific code and delegate general concerns  Why Zend Framework? – Strong object model – Use at will components – Freedom of model implementation – Can subscribe an editor support – Strong community  Why not Zend Framework 2 ? – Rubedo developments began quite before ZF2 final release – Service layer anticipated – A ZF2 release is planned this july Introduction About CMS Rubedo Demonstration Communities Roadmap
  19. 19. NoSQL  SQL and CMS – SQL is often used as default – Many features aren’t needed at all for CMS – Few use cases imply an SQL database – Constraints are often defined at application level instead of database  What is « noSQL » ? – Accepting a looser consistency, we can store data in other ways – Because of some feature losses, we gain much  Document oriented storage – Data is composed of can stand alone particles : documents – Everything about an item can be written inside a document – What a document contains is discovered when reading and writing Introduction About CMS Rubedo Demonstration Communities Roadmap
  20. 20. NoSQL Introduction About CMS Rubedo Demonstration Communities Roadmap SQL (i.e. MySQL) • For a content type: 6 tables • For 10 content types: 29 tables • 1 single request: 6 tables et 2 join Document (i.e. MongoDB) For a content type: 1 collection For 10 content types: 1 collection 1 single request: 1 collection VS
  21. 21. MongoDB & Elastic Search  MongoDB offers the leading document oriented storage solution – Offers superior performances – Offers low cost scalability – Can handle huge amount of data – Can store files in a specific collection (GridFS)  Elasticsearch is the counterpart of MongoDB for full text search – Can index heterogeneous documents – Offers multifaceted searches Introduction About CMS Rubedo Demonstration Communities Roadmap
  22. 22. Sencha ExtJS: the store pattern  Sencha Extjs is a Javascript framework  It allows building full MVC client-side application – Handles MVC structure – Offers components for a complete user interface  It offers an easy interface implementation with a webserver – Each collection of data can be represented client-side by a store – A store contains data and retrieval methods – Every time a component needs to read or write data, an asynchroneus POST can be triggered – All exchanges are JSON formated, same format as MongoDB documents Introduction About CMS Rubedo Demonstration Communities Roadmap
  23. 23. Rubedo Back Office  A client-side MVC application  A server side API with Zend Controller  Some asynchroneous JSON POST Introduction About CMS Rubedo Demonstration Communities Roadmap Client-Side Server-Side User Interface ZF Controller Store JSON
  24. 24. Rubedo Front Office  Bootstrap  Responsive grid  HTML 5 rendering  Twig templating engine Introduction About CMS Rubedo Demonstration Communities Roadmap
  25. 25. Performance  Data access is no longer a bottleneck – All can be accessed from memory on each query – All content is atomically fetched (no join, no pain) – Filtering is efficient as long as indexes are well defined  Full text search is no longer a bottleneck – Real time indexing of new contents – Complete and faceted results are instantly accessed  Scaling process is much easier – PHP layer is almost stateless (only session) – No filesystem level sharing – MongoDB and Elasticsearch are horizontal clusters Introduction About CMS Rubedo Demonstration Communities Roadmap
  26. 26. Agility  Content types can be created on-the-fly  Lists of contents can be result of simple or complex queries  Specific data can be exploited in each documents – Taxonomies – GeoJSON  Demo! Introduction About CMS Rubedo Demonstration Communities Roadmap
  27. 27. JavaScript, HTML5, CSS3 NoSQL DEMONSTRATION Introduction About CMS Rubedo Demonstration Communities Roadmap
  28. 28. Communities www.rubedo-project.org Introduction About CMS Rubedo Demonstration Communities Roadmap
  29. 29. Roadmap March 2013, 1.0 available on github Summer 2013 • ZF2 • Multilinguage contents • Pixlr integration Late 2013 •Social Contents •Collaboration features •E-commerce Introduction About CMS Rubedo Demonstration Communities Roadmap
  30. 30. http://www.rubedo-project.org http://www.en.rubedo-project.org http://www.webtales.fr Q&R @Rubedo_project

×