lessons learned integrating cocoon, jackrabbit and solr

Post on 09-May-2015

5.220 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

My presentation held at ApacheCon Europe 2007 in Amsterdam about lessons learned building the Mindquarry Collaboration Server using Open Source components from Apache Cocoon, Apache Jackrabbit and Apache Lucene Solr.

TRANSCRIPT

Mindquarry

Lessons learned integrating Cocoon,

Jackrabbit & SolrLars Trieloff

1

Mindquarry

What we wanted to doBuilding a „teamwork hub“, where people and software meet

people & people: collaboration softwarepeople & software: usabilitysoftware & software: open architecture

One data tree, multiple representations, HTTP API

2

Mindquarry

How we did it3

Apache Cocoon

Apache Jackrabbit

Solr Servlet

Subversion Repository

File Sharing Cocoon Block

Wiki Cocoon Block

Tasks Cocoon Block

Teams Cocoon Block

Talk Cocoon Block

Subversion

Postgres Database

R

XPath QueryHandler

Xenodot Persistence-

Manager

mod_proxy

Lucene Index

mod_perl AuthHandler

mod_dav_svn

Feed ReaderWeb Browser Mindquarry Desktop Clientprocmail+Ruby

R

R

R

R

▲R

▲ R

R

R

Mindquarry

Apache JackrabbitTyped, Queryable, Versioned, High-Performance Node-StoreJCRSource with XML-to-JCR-mapping for CocoonXPath QueryHandler (Jaxen-based): full XPath 1.0Xenodot PersistenceManager: Postgres-based

from university research, still work in progress

4

Mindquarry

Apache CocoonXML-based web application frameworkaccept-header-based content selection

HTMLXHTML fragments (for AJAX)ATOM, OPML, JSONPDF, iCalendar

HTTP basic authenticationStreamGenerator and SourceWritingTransformer for „reverse pipelines“

5

Mindquarry

Solr & Servlet ServicesSolr: REST-based search serverDeployed with Cocoon Servlet Services

SolrServlet is a Servlet running in the Cocoon ServletAs all other Block Servlets are doing

Problem: dependency version conflicts, JSP

6

Mindquarry

Conclusion 7Powerful Environment for Rich Web ApplicationsExtending existing Frameworks adds even more powerGiving back additions keeps your code base cleanProjects are driven by the needs of their contributors

stabilityperformancetimeframes

Contributions yield Influence

top related