Q&A – Red Hat’s Shane Bryzak talks about Apache DeltaSpike
Shane tells us more about the JBoss Seam, Apache MyFaces and CDISource teams joining forces, with aspirations of setting the standard for a set of CDI extensions
Can you briefly explain what DeltaSpike is and the objectives of the project in the long-term?
is a collaborative project by the greater community of Java EE
developers, to produce a set of useful, portable extensions for the
Java EE platform. These extensions, based on CDI (Contexts
and Dependency Injection for Java) will increase developer
productivity by providing many of the common features that are
required by modern web and mobile applications. This will
allow the developer to concentrate more on solving the business
problems particular to the domain of their application, and less on
having to solve “boilerplate” problems common to most
Why did you decide to create this project?
For a long time we have wanted to do something more with the
Java EE community. We think that the set of technologies
included in the latest version of Java EE are pretty fantastic, and
would like to foster a more prolific Java EE ecosystem. We
found that many of our peers in the community are of the same mind
as us in this regard, so it made sense to join forces with them to
produce a plan for this collaborative project.
Can you explain where it fits in with other vendors’ server environments and containers?
A primary goal of the DeltaSpike project is portability. By bringing onboard the key people that work on these other server environments and implementations, we are going to be in a great position to ensure that DeltaSpike delivers on this goal.
Another ingredient for our success here will be the adoption of JBoss Arquillian as our integration testing platform. Arquillian enables us to easily test our code across multiple server implementations, and can be easily run as part of a continuous integration process. This means we find out sooner rather than later if there’s a problem with a particular container.
You speak about unifying the community in creating this project, by bringing on-board independent contributors outside of RedHat.
How did the collaboration between RedHat, Apache MyFaces and CDISource come about? Was there a willingness from all parties to get involved with DeltaSpike? How important was it to set up this link between other teams?
Many of us at Red Hat already had existing relationships with our peers from the Apache MyFaces and CDISource project teams, and a mutual respect for the work they do. When we approached them with the idea of working on a collaborative project the response was overwhelmingly positive, I guess because everyone saw the value in what was being proposed.
On the subject of the importance of having a link between the
teams – we really want to create a neutral project that is owned by
the Java EE community at large, and I don’t think a project can
achieve this goal if its direction is being dictated by a single
corporate entity. Apache’s model is very appealing in this
regard – each project is governed by a committee, and important
issues are voted on by its members.
The project is currently in the Apache Incubator. What are the next steps in moving forward?
I’m afraid I’m just a noobie when it comes to the Apache process, however I believe that what happens next is a vote on the DeltaSpike incubator proposal, due to happen early next week. We also have some time to revise and tweak the proposal if required.
I’d like to emphasize that this is an open project, and even though we mention three specific project teams by name, this is not an exclusive list. We have already had a number of community members express interest in contributing to DeltaSpike, and I would like to actively encourage anyone else that would like to be part of this exciting initiative to step forward.
DeltaSpike is an interesting name – where did it come from?
I need to point out that “DeltaSpike” is intended as just a provisional name currently. We actually had quite a few better suggestions while we were collaborating on the proposal, however they were encumbered by trademarks and we had to give the project some kind of name so we can move forward.
We would actually like suggestions from the community for a more suitable name, so if anyone has creative talent in the area of branding we’d love to hear from you.
It may be too early to speculate but when can we expect a first release?
I would love to be able to give at least a rough date for a first release, however I’m unfortunately not in a position to do so. I can say though, that once the project graduates from incubation status it will be be a top priority for us to get a release out. The first release will include a “common core” set of extensions, which will be quite limited in scope however we will conduct extensive testing on it across all Java EE containers to ensure that we have a solid foundation on which to build additional features.