Abstract

jSpirit will be a platform to develop efficiently enterprise class applications for SaaS with real Multi-tenant support and cloud deployement. jSpirit is an integration framework for multi-tenant applications with associated developpement tools.The platform tends to be an implementation of the Application layer of a cloud computing stack. The integration framework is clearly multi-tenancy and product line oriented.

Proposal

jSpirit will provide technical foundation on which application developper will create enterprise software distributed as services. jSpirit vill implement global and out-of-box architecture supporting multi-tenancy. As multi-tenancy, we mean architecture that share the same application for multiple client, with support of specifics (by tenant) comportements. The technical foundation will include an integration framework designed for simplify and abstract technical complexity of J2EE for the final developper, a set of tools to industrialize production of applications, a complete (and in the future customizable) applications stack, and a set of methods and recommandation to develop efficiently.

You will need jSpirit if :

Background

jSpirit was initialy developped for a french company who wants to create a multi-tenant SaaS ERP for trading in the agribusiness world. The application is now finnished and this company opens the codes of the foundation of this project. At this time, there is no foundation framework whose provide multi-tenancy support so it was a need to develop something like jSpirit. The experience of developping such application point there is a need to have tools and method to do this.

Rationale

We think there is a strong need of architecture and simplicity in the java world. The multi-tenancy problems are difficult to resolve and the needs of such application will grow in the future. jSpirit will implements out-of-box architecure, a seamless programming model and technical module to simplify developpement. jSpirit goals is to become a concentrate of experience of open-source and advanced J2EE developpers to provide a platform for efficiently develop application in the SaaS and Multi-tenant world.

I add here more explanation about SaaS : We think SaaS is a software distribution business model for sofware editor. So, don't be surprised to not find specifics functionality for SaaS programming. We think we need some caracteristics to achieve SaaS application, these functionnality are at least :

We will build jSpirit to achieve this caracteristics in an open-source environement for several reasons:

Initial Goals

First goal is to develop users and developer community around the project to ensure quality and usability of the platform. Our open-source experience is not high so we think it's important to relies on a community to make the project live. Second goal is to document the project to be more usable as is. Third goal is to enlarge functionnality and make the project more coherent with apache ecosystem.

Current Status

Code Base

All the code base is here : Sourceforge. The current code base implements all functionnalities below.

Architecture

Integration Layer

Business Layer

Client Layer

Scheduling

Security

i18n

Data Import/Export

Web Services

Search

JCR

Mail

Reporting

Tools

Planned Functionnality

Meritocracy

We think meritocacy is the best method to conduct project. It give involvement to procude quality products. The responsability of individuals in project should grow proportionnaly to their implication. So their responsabilty must represent their involvement and the quality of the work produced. In other words, we think we can improve a project quality with motivated persons who wants contribute to set the future path of the project. We think developping open-source software is an adventure and we need adventurer !!

Community

As said above, building community is the first initial goal for the project. The actual community is actually composed of two developpers and a software company in France who uses jSpirit as a foundation for his product. We will encourage suggestions, contributions, and other feedback because we think we need stay near the users and developper community to satisfy their attents. That's why we need a free license. We wants promote exchange betweens persons to improve the ideas and the quality of the software.

Core Developers

There is two developpers at the moment : Grégoire Rolland, J2EE Architect from 7 years, founder of the jSPirit project. Franck Hervy, Java developper from 8 years, contributor. We are conviced by the need of participate to free sofware, but our experience is minimal (but we want learn !)

Alignment

We think apache foundation is a good match for jSpirit. jSpirit is targeted tu use Tomcat and Geronimo in the future. jSpirit uses already a lot of Apache projects and we think we need collaboration with this project to produce the best platform we can. This project are ActiveMQ, Abdera, CXF, Velocity, Maven, Commons, Geronimo, JackRabbit, Lucene, FOP, ...And there are other project we will need to work with (Cassandra, OpenEJB, OpenJPA). We think there could be good interaction between projects and jSpirit could fit in the ecosystem.

Known Risks

Orphaned products

There is a risk the product became orphaned due to the small numbers of commiters, that's why wee need to build a community. Grégoire Rolland wants to build his carrer aroud this project and Frank Hervy is very interrested. The company wich already use jSpirit could diminish the risk of orphaned product.

Inexperience with Open Source

The initial committers have low experience with open source projects. All have been involved with source code that has been released under an open source license, but there is no experience developing code with an open source development process. But we are very motivated to execute our developpement under the meritocraty rules. As said above we are really open to this new experience, that's why we propose this project for incubation.

Homogenous Developers

All developpers works in different company, we are in France, sure, the geographical region is limited. But we already have join proposition from other countries. We think this project could interrest a large panel of developper and we want encourage this.

Reliance on Salaried Developers

Franck Hervy is vonluteer for developping jSpirit. Grégoire Rolland is currently unemployed but want to make is business around this project and support this in a long term. The project will continue without salaried developper.

Relationships with Other Apache Products

Reltionship with other Apache Products exists today as dependent library as said above, and we want encourage these and work together to improve the quality of each. Dependencies include ActiveMQ, Abdera, CXF, Velocity, Maven, Commons, Geronimo, JackRabbit, Lucene, FOP. We want develop the relationships with Cassandra, OpenEJB, OpenJPA and Geronimo, to build a high quality platform for developping enterprises applications. We are also very interested by the Cloud intiative of the Apache Labs.

A Excessive Fascination with the Apache Brand

We hope the Apache Brand will attract users and contributors around this project. We know ASF since 10 years and we are used products daily. We think the products are all quality and open-source respective. We recognize the effort of the ASF in the open-source ecosystem and we want to add our sweat to this effort. However we can continue this adventure alone but this will be harder and less motivating than belong to a large and recognized community.

Documentation

There is not much documentation now (it's the second initial goals), but you can found some materials here :

Initial Source

jSpirit is in developpement since September 2008 by Grégoire Rolland. The developpement started in a french company (Husson Ingenierie, Périgueux, http://husson-info.fr/) when the developpers needs a platform for building multi-tenant application. The source was liberated in Arpil 2010.

External Dependencies

The dependencies all have Apache compatible licenses. These include LGPL, BSD, CDDL, CPL, MPL and MIT licensed dependencies.

Cryptography

jSpirit could depend now or in the future from cryptographic code.

Required Resources

Mailing lists

Subversion Directory

Issue Tracking

JIRA jSpirit (JSPIRIT)

Initial Committers

Interrested developpers

Here a list of the interrested developper :

Sponsors

Champion

We are actually looking for a Champion.

Nominated Mentors

We also need Mentors.

Sponsoring Entity

We gracefully ask the Incubator to be our sponsor.