Ox for Mongo DB

Breaking the Relational Development Paradigm




Todd Edman, CEO – Lunar Logic
Michael Calabrese, Project Lead – Lunar Logic




            ©2012 Lunar Logic, LLC. All Rights Reserved.
Why Mongo?
Not For Speed:
The app wasn't high-
  volume and didn't have a
  large data set.

Document Storage:
We had a project that was
 mostly document based.




             ©2012 Lunar Logic, LLC. All Rights Reserved.
Why Develop a
     Framework?
Everything was Designed as a ORM:

• Zend, Cake, Yii, SQL – Heavy Schema

• Ox/MongoDB – No Schema

• Helpful for Code Organization




           ©2012 Lunar Logic, LLC. All Rights Reserved.
What we Threw Away

 We decided we didn't
  need....

 • An Object Layer
  -BSON was good enough

 • Joins, Complicated Views,
   ...framework fatigue.




              ©2012 Lunar Logic, LLC. All Rights Reserved.
How It Set us Free




Encouraged Change, No Model Inertia


          ©2012 Lunar Logic, LLC. All Rights Reserved.
How it set us Free:
What we Didn't Do:

• No Data Normalization
• No Layers of Code
• No coding around the framework




            ©2012 Lunar Logic, LLC. All Rights Reserved.
©2012 Lunar Logic, LLC. All Rights Reserved.
Well Grouped Ideas




Lead to Simple Code

      ©2012 Lunar Logic, LLC. All Rights Reserved.
10 Collections




Not Dozens of Tables

      ©2012 Lunar Logic, LLC. All Rights Reserved.
The Results:
In 7 months and 1,200 hours:

• Software Better Suited to the Need
• New Feature Velocity Still High
• Still Fun to Code
-Very little “Programmers Regret.”




             ©2012 Lunar Logic, LLC. All Rights Reserved.
©2012 Lunar Logic, LLC. All Rights Reserved.
Thank You


Michael Calabrese, Project Lead – Lunar Logic




            ©2012 Lunar Logic, LLC. All Rights Reserved.
Ox: The Beginning




    ©2012 Lunar Logic, LLC. All Rights Reserved.
Keeping it Together




     ©2012 Lunar Logic, LLC. All Rights Reserved.
Bringing it Together




      ©2012 Lunar Logic, LLC. All Rights Reserved.
Validation




 ©2012 Lunar Logic, LLC. All Rights Reserved.
Actions – Making it Fit




       ©2012 Lunar Logic, LLC. All Rights Reserved.
Thank you
Thinking Flexible and Lightweight

• Flexible
• Lightweight
• For more information please check out
         OxForMongo.org




             ©2012 Lunar Logic, LLC. All Rights Reserved.

MongoDB using PHP: Using a New Framework Called Ox

  • 1.
    Ox for MongoDB Breaking the Relational Development Paradigm Todd Edman, CEO – Lunar Logic Michael Calabrese, Project Lead – Lunar Logic ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 2.
    Why Mongo? Not ForSpeed: The app wasn't high- volume and didn't have a large data set. Document Storage: We had a project that was mostly document based. ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 3.
    Why Develop a Framework? Everything was Designed as a ORM: • Zend, Cake, Yii, SQL – Heavy Schema • Ox/MongoDB – No Schema • Helpful for Code Organization ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 4.
    What we ThrewAway We decided we didn't need.... • An Object Layer -BSON was good enough • Joins, Complicated Views, ...framework fatigue. ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 5.
    How It Setus Free Encouraged Change, No Model Inertia ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 6.
    How it setus Free: What we Didn't Do: • No Data Normalization • No Layers of Code • No coding around the framework ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 7.
    ©2012 Lunar Logic,LLC. All Rights Reserved.
  • 8.
    Well Grouped Ideas Leadto Simple Code ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 9.
    10 Collections Not Dozensof Tables ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 10.
    The Results: In 7months and 1,200 hours: • Software Better Suited to the Need • New Feature Velocity Still High • Still Fun to Code -Very little “Programmers Regret.” ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 11.
    ©2012 Lunar Logic,LLC. All Rights Reserved.
  • 12.
    Thank You Michael Calabrese,Project Lead – Lunar Logic ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 13.
    Ox: The Beginning ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 14.
    Keeping it Together ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 15.
    Bringing it Together ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 16.
    Validation ©2012 LunarLogic, LLC. All Rights Reserved.
  • 17.
    Actions – Makingit Fit ©2012 Lunar Logic, LLC. All Rights Reserved.
  • 18.
    Thank you Thinking Flexibleand Lightweight • Flexible • Lightweight • For more information please check out OxForMongo.org ©2012 Lunar Logic, LLC. All Rights Reserved.