Adobe LiveCycle Data Services ES, formerly called Flex Data Services (FDS), provides data services such as remoting, data push, publish and subscribe for Flex applications. With LCDS you can integrate flex with J2EE infrastructures and a previuos post on our blog shows an example: LiveCycle Data Services and Hibernate integration in Flex RIA applications.
There are a lot of open source projects around flex, flash and AMF, and, on java side, GraniteDS is one of the most promising.
It's developed under the LGPL and proposes itself as an alternative to Adobe® LiveCycle® (Flex™ 2) Data Services for J2EE application servers.
GDS is still in an early development phase, with a 0.3 version released on july 30, while, at the time of writing, the 0.4 one is in a release candidate state; despite this, it's rather stable and you can safely test it in non critical production environment as its home page suggests.
Here they are the features already implemented and the planned ones; this list is continuously updated
- Full AMF3 support. See GDS AMF3 documentation.
- EJB3 services with transparent externalization mechanism and lazy initialized ActionScript 3 beans (Entity Beans / Hibernate). See EJB3 Services and Externalizers and Lazy Initialization.
- EJB3 Entity Bean to ActionScript 3 classes code generator. See AS3 Generation.
- Spring services. See documentation on Spring Services.
- POJO services (remote calls to simple Java classes that expose public methods). See Pojo Services.
- (planned) Data push. A Comet
-like implementation with AMF3 data polling over HTTP (event/listener based architecture). - (planned) Entity repository: a client side entity repository that ensures uniqueness (only one instance of each entity is present in the flash VM), weakness (only currently bound objects are kept in memory), and that acts as a services frontend (all server calls/events are managed by this central component). This will be loosely inspired by Cairngorm
. - (planned) Seam integration: a reliable GDS/Seam
integration with full scopes (at least conversation) support. - (planned) A set of Flex components suitable for complex data structures.
A key feature, implemented in version 0.3, is the support for setCredentials, setRemoteCredentials and logout methods of RemoteObject, more information in the release notes: http://www.graniteds.org/confluence/display/DOC03/Documentation+-+0.3
They provides various demos which you can you use importing them as new eclipse projects:
- graniteds-ejb3-0.3.0.zip: a basic sample with Granite DS and EJB3 working together
- graniteds-spring-0.3.0.zip: a basic sample with Granite DS and Spring working together
- graniteds-pojo-0.3.0.zip: a basic sample with Pojo and Granite DS
Moreover a live demo that shows Granite DS in action is available.
If you are interested in testing your LCDS application with Granite Data Services you have to make some changes according to the good documentation ready to help you; however you should check if all the features you need are implemented.
Granite DS is a promising project and the development is going on quite fast, but it still misses some important functionalities like messaging services and data push (planned feature) so by now LCDS is a must in a stable production enviroment, but i can suggest to keep an eye on GDS for the future.
Comments (5)
veeerrry interesting!
Emanuele, I'd be very keen to see a head-to-head comparison with this, WebOrb and FDS.
just looking at features, not pricing or OSS.
Posted by barry.b | September 10, 2007 1:42 PM
Posted on September 10, 2007 13:42
nice to see this new OS project.
would love to see if someone also working on asp.net port of it :)
// chall3ng3r //
Posted by chall3ng3r | September 10, 2007 8:20 PM
Posted on September 10, 2007 20:20
Hi barry, I haven't much experience with WebORB but I'll check it
Posted by Emanuele Tatti | September 11, 2007 2:20 PM
Posted on September 11, 2007 14:20
Hello,
Granite Data Services 0.4.0 (final) is released.
Granite Data Services is a free, open source (LGPL'd), alternative to Adobe® Flex™ 2 Data Services for J2EE application servers with EJB3/Spring/Pojo services support.
Free download is available on Sourceforge: http://sourceforge.net/project/showfiles.php?group_id=183386.
This new 0.4.0 release (following a 0.4.0_RC1) is mainly a bugfix and compatibility release, with one new feature: a Jetty6+ based security service. While GDS is still in early development stage, you should be able to use the current 0.4 version in non-critical production environments..
Detailed release notes and documentation are available on http://www.graniteds.org.
Regards,
Franck Wolff.
Posted by Franck Wolff | September 17, 2007 5:53 PM
Posted on September 17, 2007 17:53
Hi,
I forgot to say thanks for this good buzz about GDS.
Regards,
Franck.
Posted by Franck Wolff | September 17, 2007 5:55 PM
Posted on September 17, 2007 17:55