Metaform Systems announces general availability of Fabric3 1.4, the first runtime to achieve SCA Assembly compliance by passing the OASIS conformance test suite. In addition to being the first runtime compliant with SCA Assembly, Fabric3 1.4 includes a number of new features and enhancements. Fabric3 1.4 can be downloaded from http://www.fabric3.org/downloads.html
. For details of release features, see http://www.fabric3.org/releasefeatures.html
Congratulations Jim. I have a question on the license for Fabric3? I gather Fabric3 was a fork of Tuscany and used to be ASL. There was some proprietary license in the middle and now it is GPL V3. Is there any specific reason on why Fabric3 is not ASL, as compared to something like Tuscany?
Also how do you compare Fabric3 to Tuscany, in terms of adoption, features etc. Comparing the mailing list archives, Fabric3 pretty much looks like a one man show.
To answer your first question, Fabric3 is actually licensed under GPL + GNU Classpath Exception. This basically means end users that write applications to deploy on Fabric3 are free to license, distribute, or not distribute their applications as they see fit. However, software vendors that embed Fabric3 in their commercial products are obligated to make those products available under GPL+GNU Classpath or plain GPL. We chose this over the similar LGPL license as it is clearer on the question of linking. This license allows us to monetize our R&D investment in Fabric3 by requiring software vendors to obtain a commercial license. This is a fairly common open source model for companies to follow.
In terms of adoption, SCA is a new technology but we are seeing uptake. I suspect this will increase over the course of the year as SCA-based offerings come to market. SCA has been a fairly "quiet" technology the past several years, which is probably a good thing as it can mature and avoid being overhyped.
The types of projects Fabric3 has recently been used for are surprisingly diverse. For example, there have been large-scale end-user applications in the telco and financial services industry. We have also been working with several software vendors to use Fabric3 not only to add SCA features to their product set, but also as a platform that allows their products to be built as modular components which can be run in a variety of environments from traditional datacenters to virtualized environments.
I can't really speak for the features of other SCA runtimes. However, some of the advantages of Fabric3 are:
1. The Fabric3 extension model. Fabric3 is architected to be extended by users to add new capabilities based on their application requirements. Early on, we chose to use SCA as the extension model - users write SCA components that are assembled into the runtime to provide custom capabilities. In fact, Fabric3 itself is just a set of SCA components assembled together at bootstrap. This has proven to be a very effective and powerful model for runtime customization.
2. Enterprise class qualities of service such as out-of-the box management integration, clustering, advanced messaging, and transaction support. I would like to mention we rely on Atomikos for transaction support, which is a great product.
3. Out of the box .NET interoperability (WCF services) including support for secure transports, authentication and encryption.
4. Fabric3 is built from the ground up to operate in virtualized environments, including the ability to dynamically add SLAs, policies, re-wire services and provision extensions based on application requirements.
5. Fabric3 makes writing distributed application much easier. There is a lot less configuration and code required when writing applications for Fabric3.
Metaform Systems (Fabric3's sponsor) is currently in in stealth mode building out a product based on Fabric3. We plan to announce more in the coming months so please stay tuned.
Thanks for your interest.
We've been looking at SCA and Fabric3 in particular as part of a JBI+OSGi+SCA application environment. What's involved in running with Fuse4(ServiceMix4) and its OSGi (Felix?) on Tomcat, JBoss and other application servers? We'd like to run SCA components in the Fuse(ServiceMix) service engine as well as remotely.
We are currently working on enhancing our app server integration to take advantage of their native clustering capabilities. Some of this work has already been done for WebLogic and integration with JBoss wll be starting for the next release. I'm confident integration with ServiceMix is also something that could be done as F3 is designed to be embedded (as well as operate in standalone mode).
The key will be understanding the specifics of your use cases. Could you drop me a note at my gmail address (jim.marino) or on the Fabric3 user mailing list and we can discuss more specifics?