rails + jcr

22
JCR + Rails = ?

Upload: shen-liu

Post on 10-May-2015

2.153 views

Category:

Technology


5 download

DESCRIPTION

将Java Content Repository(JSR170、JSR283)的"内容"存储机制带到Rails的世界里,与一统天下的ActiveRecord相比,会给我们的模型层带来哪些有趣的特性?

TRANSCRIPT

Page 1: Rails + JCR

JCR + Rails = ?

Page 2: Rails + JCR

© ThoughtWorks 2008

Who Am I

WPC

ThoughtWorker

10 years of programming life: C++ -> Prolog -> more C++ -> java, C++ -> Java -> Ruby -> Ruby + JS -> Ruby, JS, java

Selenium

Mingle (http://www.thoughtworks-studios.com)

Page 3: Rails + JCR

What Is This Presentation About

Introduction Java Content Repository

A small framework help using it in JRuby Rails

What it is interesting about

Where to use it

© ThoughtWorks 2008

Page 4: Rails + JCR

© ThoughtWorks 2008

So, what the heck is Content Repository?

Page 5: Rails + JCR

© ThoughtWorks 2008

A content repository is a hierarchical content store with support for structured and unstructured content

Page 6: Rails + JCR

© ThoughtWorks 2008

From Rakesh Vidyadharan

Page 7: Rails + JCR

© ThoughtWorks 2008

a lot of interesting features include:

Full text searchVersioningTransactionsRepository level observationQuery LanguageSecurity controlImport/Export/Merge…

And more

Page 8: Rails + JCR

© ThoughtWorks 2008

Java Content Repository = JSR170 / JSR283

Open Source Implementation = Apache Jackrabbit

Page 9: Rails + JCR

© ThoughtWorks 2008

Using JRuby to Access the Repository

Page 10: Rails + JCR

© ThoughtWorks 2008

What it can bring to Rails?

Page 11: Rails + JCR

© ThoughtWorks 2008

Flexible Schema Free Record

Page 12: Rails + JCR

© ThoughtWorks 2008

Built-in full text search support (using Lucene)

Page 13: Rails + JCR

© ThoughtWorks 2008

And powerful versioning function

Page 14: Rails + JCR

© ThoughtWorks 2008

And robust hierarchy storage

Page 15: Rails + JCR

© ThoughtWorks 2008

Xpath or SQL as Query language

Page 16: Rails + JCR

© ThoughtWorks 2008

User defined Node Type

Page 17: Rails + JCR

© ThoughtWorks 2008

More

Concurrent EditingBuilt-in access controlRepository ObservationExport/Import as XML formatData store support

Page 18: Rails + JCR

© ThoughtWorks 2008

Concerns:

PerformanceScalabilityMaintainability…

Page 19: Rails + JCR

© ThoughtWorks 2008

Resources

JSR 170 & JSR 283

Jackrabbit

Modeling http://wiki.apache.org/jackrabbit/DavidsModel

Page 20: Rails + JCR

© ThoughtWorks 2008

Related code is pushed to

http://github.com/wpc/jcr-rails-demo

PS: Don’t use it in production

Page 21: Rails + JCR

© ThoughtWorks 2008

Hey, the spike is far not finished yet

Drop me a mail if you are interested in

[email protected] / [email protected]

Page 22: Rails + JCR

© ThoughtWorks 2008

Q & A