Building Content Management Solutions with MongoDB

Post on 08-May-2015

1.128 views 3 download

description

MongoDB is the leading NoSQL database, designed for building highly scalable applications, including content management solutions. This presentation provides an overview of the architecture and design of Crafter Social, a lightweight CMS built on MongoDB, suited for managing social content. The talk focuses on design considerations and MongoDB’s unique features that make it perfectly suitable as a highly-scalable, multi-tenant social object store, which can be used to for storing user comments, threaded discussions, blog entries, and more. We will also cover our design approach for user profile management, which supports configurable profile attributes, role management, and pluggable authentication.

Transcript of Building Content Management Solutions with MongoDB

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 1

Social Content Management with MongoDB

By Sandra O’Keeffe

Architect, Rivet Logic

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 2

Problem Definition

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 3

Solution Requirements Solution Requirements

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 4

General Solution for UGC

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 5

Multi-tenant

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 6

Scalable

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 7

Secure UGC Repository

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 8

Loosely Coupled Integration

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 9

Solution Requirements

•  General Solution for UGC

•  Multi-tenant

•  Scalable

•  Secure UGC repository

•  Lightweight Integration

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 10

Crafter Social & Crafter Profile

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 11

Crafter Profile

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 12

Crafter Social

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 13

Use Cases

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 14

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 15

Blog

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 16

Product

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 17

Architecture Overview

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 18

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 19

Social Integration

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 20

Profile Integration

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 21

Out-of-the-box Applications

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 22

Why MongoDB?

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 23

Document-Oriented Storage

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 24

Reads & Writes

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 25

Replication

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 26

Auto-sharding

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 27

GridFS

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 28

Map/Reduce

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 29

Why MongoDB?

o  Document-oriented storage o  Full Index Support o  Rich queries & fast in-place updates o  Replication & high availability o  Auto-sharding o  GridFS o  Map/Reduce

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 30

System Design System Design

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 31

Database Design

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 32

Spring Data

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 33

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 34

Multi-Tenancy

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 35

Security - Authentication

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 36

Spring Security Provider

http://wiki.rivetlogic.com/display/Crafter/Spring+Security+Filter+Configuration

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 37

Security - Authorization

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 38

Social Permissioning

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 39

Spring REST Applications

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 40

jQuery Client

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 41

Scalability

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 42

Example - Simple Blog Demo

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 43

Blog Listing

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 44

Blog Details

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 45

Threaded Comments

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 46

Profile Administration

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 47

Profile Creation

ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 48

Q&A

wiki.rivetlogic.com/display/Crafter/Crafter+Social

rivetlogic.com

blogs.rivetlogic.com

facebook.com/rivetlogic

youtube.com/rivetlogic

twitter.com/rivetlogic

crafterrivet.org