incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grégoire Rolland <grolland.jspi...@gmail.com>
Subject Re: [PROPOSAL] jSpirit Project
Date Mon, 19 Jul 2010 08:35:54 GMT
Hello,

I append the proposal with several answers about SaaS, Multi-tenancy, 
standards respect and what is really jSpirit.

Thanks to Otis for the feedback.

Don't hesitate to send questions, feedback and new ideas, we want to 
build this project with anyone is interested in the community.

Best Regards,

Grégoire


On 16/07/2010 16:57, Grégoire Rolland wrote:
> Hello,
>
> I'm here to propose a new project for the Apache incubator, related to 
> a previous post I write here.
>
> You can find the first draft of the proposal here [ 
> http://wiki.apache.org/incubator/JSpiritProposal ].
>
> We are looking for Champion, Mentors and interrested developpers. And 
> we gracefully ask to the Incubator for sponsoring this project.
>
> We were happy to receive your feedback about this proposal.
>
> Thanks for your support, we are happy to begin a new work with you !
>
> Best Regards,
>
> Here the text of the proposal :
>
> = Abstract =
> jSpirit will be a platform to develop efficiently enterprise class 
> applications for SaaS with real Multi-tenant support and cloud 
> deployement.
>
> = 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, I mean architecture that share the 
> same application for multiple client, with support of specifics 
> 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 applications stack, and a set 
> of methods and recommandation to develop efficiently.
>
> = 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 =
> I 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.
>
> = 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 : 
> [[http://sourceforge.net/projects/jspirit/|Sourceforge]].
> The current code base implements all functionnalities below.
>
> === Architecture ===
>  * Multi-tiered Architecture out-of-the-box : Implementation of 
> Integration Layer, Business Layer, Client Layer
>  * Java 5 annotation and auto-injection based lookup of services
>  * Classpath scanning for auto-discovering components
>  * Modular and plugable architecture : automatic activation of modules 
> in the classpath, ready for seamless integration
>  * Implementation of Long-Conversation pattern, with JTA 2PC support 
> (with Geronimo Transaction Manager), and implicit demarcation 
> (explicit demarcation is always possible)
>  * [in progress] AOP interceptor on top of each layer
>
> === Integration Layer ===
>  * Implementation of abstract integration services and abstract 
> persister based on JPA technology
>  * Maven plugins for code generation of integration layer from xml 
> description of component business model : generate persistent class, 
> access services, queries, constraints, JPA annotation,  lucene 
> indexation of business model
>  * bean validation integration
>  * Full Multi-tenancy integration on EntityManager and Caches
>  * Multi-tenant Postgresql support
>
> === Business Layer ===
>  * Implementation of abstract business services and infrastructure
>  * Annotation discovering and injection of dependents services
>  * Multi-tenant replacement of services at runtime
>  * Simple Asynchronous and distributed business services with Apache 
> ActiveMQ : this is annotation driven
>
> === Client Layer ===
>  * JSF 2.0 predefined integration
>  * Abstract Managed Bean for simple developpement of list and forms
>  * Integration of restful url for JSF 2
>  * Multi-tenant interceptor for determining tenant context based on 
> full qualified domain name
>
> === Scheduling ===
>  * Distributed and load adaptative voting peer-to-peer scheduler
>  * voting task execution with Condorcet Method
>
> === Security ===
>  * Simple security integration : form login, http basic security
>  * Multi-tenant support for authentications and authorizations
>  * peer-to-peer sessions id replications for support max session per 
> user in a cluster
>  * Regexp filters on urls
>  * JSF function and bean to manage security on pages
>
> === i18n ===
>  * Full i18n support
>  * Multi-tenacy i18n : overriding label per tenant
>  * JSF function for accessing labels and locale
>  * JSF bean for controlling user locale on web page
>
> === Data Import/Export ===
>  * XML data importer/exporter customizable by tenant with scripting 
> services
>  * ready for "open-SaaS" to guarantee application users data 
> integration and recuperation
>
> === Web Services ===
>  * Simple export of business services to Soap Web Services with Apache 
> CXF
>  * [in progress] REstfull web services with Apache Abdera integration 
> (and XStream)
>  * Atom 1.0 support with Apache Abdera (only GET method now)
>
> === Search ===
>  * Indexation of data model
>  * Simple Query interface for searching in the data model
>  * Multi-tenant support of the Lucene Indexes
>
> === JCR ===
>  * Multi-tenant integration of Apache JackRabbit : workspaces based
>  * Implementation of injectable service for JackRabbit access
>  * JTA transaction participation
>
> === Mail ===
>  * Injectable mail services out-of-box
>
> === Reporting ===
>  * Report module on top of the business layer
>  * based on Castor XML and Apache FOP
>  * Pluggable Reporting Provider architecture
>  * Multi-tenant report replacement at runtime
>
> === Tools ===
>  * Set of Maven archetype mapped on architecture to create one project 
> by layer
>
> === Planned Functionnality ===
>  * Maven Plugin for code generation supporting Apache Cassandra 
> without interface modification
>  * Create others multi-tenant interceptor based on other methods
>  * Support more algorithms for scheduling for the distributed scheduler
>  * Security : Services Access Authorization
>  * Eclipse plugins for MDA enablement, XML schema recognition, and more
>  * Integration of Business Rules Engine with multi-tenancy
>  * Integration of BPM/Workflow Engine with multi-tenancy
>  * Simple Cloud deployement
>
> == 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.
>
> == 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 material here (sorry it's in french) :
>  * 
> https://sourceforge.net/projects/jspirit/files/doc/saas_rmll.pdf/download
>  * 
> https://sourceforge.net/projects/jspirit/files/doc/jspirit_presentation.pdf/download

>
>
> = 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 ==
>  * jspirit-private (with moderated subscriptions)
>  * jspirit-dev
>  * jspirit-commits
>  * jspirit-user
>
> == Subversion Directory ==
>  * https://svn.apache.org/repos/asf/incubator/jspirit
>
> == Issue Tracking ==
> JIRA jSpirit (JSPIRIT)
>
> == Initial Committers ==
>  * Grégoire Rolland (grolland dot jspirit at gmail dot com)
>  * Franck Hervy (hervy dot franck at free dot fr)
>
> == 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.
>


-- 
Grégoire Rolland
Projet *jSpirit*
Tel : (+33) (0) 6 82 77 59 94
mailto:grolland.jspirit@gmail.com

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message