Today, we are excited to announce the launch of the GraniteDS Enterprise Platform.
The Enterprise Platform of GraniteDS has been developed in response to the feedback we received in our many conversations with our users over the past weeks and months. Our team in Europe and the US conducted surveys, in depth interviews and spoke with as many GraniteDS users in person as possible. As a result, the release of the Enterprise Platform is the first step of many to come to make GraniteDS even more powerful and reliable for Flex / Java EE applications of any kind.
We are releasing the Enterprise Platform today as our recommended setup for projects using GraniteDS in production environments. The Enterprise Platform gives you:
With the Enterprise Platform you will also get early access to new features that we plan to release soon like RTMP, extended mobile platform support, or out of the box clustering and integration with monitoring tools. For bundles and prices, check out our pricing page.
As a result, the GraniteDS Enterprise Platform enables developers and companies to leverage the full feature range of the open-source version of GraniteDS, along with a broad range of pre-packed enterprise-level services and full support for applications in development and production. This unique combination of features and services enables companies to leverage the full power of GraniteDS also in mission-critical applications through a highly stable, reliable and scalable distribution package.
Let us know what you think about this new offering! Please share your thoughts and comments with us at any time in the comments or via our , or our website.
Review the pricing and choose your bundle here.
If you want to download and test a feature-reduced version of the Enterprise Platform (no clustering, no SSL, no technologies preview), check out the Community Platform that comes with pre-packaged real-time messaging native libraries (APR) and sample applications. Get it here.
GraniteDS 2.2.1 GA is a bug and security fixes release with one major new feature: Gravity is now natively supported with WebLogic 9.1+ servers.
The security fix relies on a new configuration option and prevents arbitrary Java class instantiations through malicious AMF3 requests. (more…)
The new GraniteDS Wizard Plugin is intended to facilitate the creation of new GraniteDS project under Eclipse.
In order to install and use it, you need at least an Eclipse 3.4+ bundle and, preferably, if you want to benefit from all of its features, the folowing plugins:
You will also need a JBoss 5.1 distribution, as the default template that comes the wizard targets this application server.
Once you have setup this environment, donwload the new GraniteDS Wizard plugin on Github and unzip it into your eclipse/plugins directory. Restart Eclipse and you should now be able to see a “GraniteDS�? section in the “New Project�? dialog when you select “File�? -> “New�? -> “Project…�? in your Eclipse menu:
Select “GraniteDS Projects�?, click on the “Next�? button and select the first available template in the next dialog:
Click again on the “Next�? button and you should now see a standard project creation dialog with a specific “Template variables�? section at the bottom:
Enter a project name, change the “JBoss installation directory�? to your JBoss installation directory, accept all other default options (or change them if you want) and click on “Finish�?.
You should now see a new Flex / JavaEE project, configured for both FlashBuilder and GraniteDS builder, and with a “.package�? file that automatically deploy the project in the choosen JBoss deployment directory.
Tip: unfortunatly, you should also have an error when the project is first build… This is FlashBuilder error (actually a known bug), complaining that it hasn’t been able to create the html templates. Just right click on the error and ask it to recreate the template files.
Project templates in this GraniteDS wizard tool are mostly made of Groovy scripts. Go to your “eclipse/plugin/org.granite.wizard_1.0.0.alpha1/resources�? directory. You should see two subdirectories, “libs�? and “templates�?.
The “libs�? directory contains GraniteDS libraries that are referenced by templates (see below).
The “templates�? directory contains actual templates. There is only one template at this time, in a directory called “jboss�?. If you open this directory, you will see two files and one directory:
As you may now understand, this GraniteDS Wizard is completely generic and could be used in order to make projects that have nothing to do with GraniteDS: it is simply a general mecanism for displaying and editing variables before copying template files and directories.
Some more informations before a future proper documentation:
Don’t forget this is an alpha work: we will i mprove this JBoss template and provide other ones for different environments.
is somewhere beyond the final frontier: to get to GraniteDS into their decision trees, you first have to go with Java, which doesn’t even seem to be the most recommended option according to these guys. Then, you’ll have to follow this frustrating path:
Complete messaging? No.
Complete data management? No
Complete code generation? No.
A psychiatrist? No. (if you happen to choose Yes here, you get LCDS
Scale beyond one server? Yes.
J2EE-centric? Yes.
Here you are: GraniteDS.
So, after refusing all the good things, you, as a GraniteDS user, avoid at least the cost of a therapy!
But the most funny thing is at the end of their post:
We respectfully request that the developers of the other integration servers mentioned herein join us (…)
You may guess that William and I are of course seriously studying this unexpected opportunity.
Starting with GraniteDS 2.2, three ActionScript3 new features are available:
The documentation for these three new features is available as a preview , and (the links will change to , and later, when the final version will be out).
Main New Features:
Granite Data Services 2.0.0 Release Candidate 1 has just been released and comes with four main new features:
Granite-config.xml Changes (MUST READ):
The granite-config.dtd has changed in order to make the config more readable: as a general rule, all configuration attributes use now a “dashed�? convention: “annotedwith�? is now spelled “annotated-with�?, “instanceof�? “instance-of�?, etc. There is also a new “gravity�? section whose meaning content is detailed in “Gravity Changes�? below.
The new DTD is online and will help you with a DTD aware XML editor.
Gravity Changes:
Gravity code was getting messy, with several duplicated source sections, and hard to maintain. With the addition of Servlet 3.0 and GAE support, things were going even more harder, so the code has been cleaned up and widely refactored. However, the new code has been fully tested and shouldn’t bring any problem.
A new feature in this rewriting is the use of a thread pool for publishing messages. Previously, a published message was delivered to subscribed channels in a synchronous way, using the publish request container thread (delivering means only duplicating the message for all channels subscribed to the message’s topic and adding each copy to each channel’s queue). This operation was potentially time consuming with a large number of channels connected to the same topic and could block the caller container thread for a significant amount of time. A thread pool is now used for that purpose in all servlet implementations (Tomcat, JBossWeb, Jetty and Servlet 3.0) except for GAE.
Instead of servlet parameters, Gravity configuration now goes in a dedicated section of granite-config.xml. Here is an example of all options with there default values:
factory=�?org.granite.gravity.DefaultGravityFactory�? channel-idle-timeout-millis=�?1800000″ long-polling-timeout-millis=�?20000″ reconnect-interval-millis=�?30000″ reconnect-max-attempts=�?60″> core-pool-size=�?5″ maximum-pool-size=�?20″ keep-alive-time-millis=�?10000″ queue-capacity=�?2147483647″ />
This section is purely optionnal and you may omit it if you accept default values. Full documentation will be provided later but here is some comments on the most important options:
You may also use the new Gravity MBean in order to change most of these options at runtime (see below).
Servlet v3 support is new in this RC1 and should be considered as beta software. The only up-to-date implementation of the new API at this time is in Glassfish v3 trunk and you may download it (Servlet 3.0 support has been tested with glassfish-v3-preview-b47-windows.exe and may or may not work with other builds).
Configuring the GDS chat sample for Glassfish v3 is a two steps process:
You should then be able to connect to http://localhost:8080/graniteds-chat/ and test the application.
Configuration MBeans:
This RC1 comes with two new MBeans for GDS runtime management:
To access these MBeans with JBoss, browse to http://localhost:8080/jmx-console and scroll to the “org.granite�? section.
For people wanting to use GDS & AIR, you’ll find a sample graniteds_seam_air.zip file (download graniteds_seam_air.zip).
Some tips:
That’s it. Franck.