Updated: September 30, 2008
So, it starts to get interesting here.
I’m noticing some of the sames and some of the stark differences between WebORB, the commercial yet free .NET Flash Remoting tool and FluorineFx, the open source alternative.
To summarise thus far:
- Have a Console feature which allows you to see all the classes you are exposing to the remoting client and invoke them.
- Work with VS2008 (I have only tested the .NET 2.0 framework) and Flex 3.
- Have a Windows Service feature that allow you to deploy it alongside your AIR application for better client-side functionality (though by nature that must limit them to Windows deployments, no?)
WebORB: (v3.5 for .NET)
- Is a free product, but commercially owned and closed source.
- The licensing allows the software to be used in every scenario except redistribution.
- Has a very comprehensive Console app that handles security on all namespace/class/method levels very nicely.
- Has very useful codegen tools within the Console to get you going – both for AS and C#/VB.NET.
- Has reasonable documentation to go along with it (it is still quite lacking in content and organisation)
- Has a database tool in the Console (WDML) that essentially takes your DB structure and creates a C# or VB.NET Solution interfacing to all tables/views/stored procs. Also creates AS classes to interface with this data.
- Exposes all of the DLL to the user. However, there is the option in .config file to turn on “closed” method which means you need to turn each service/method you want.
- Uses a yahoo mail group to communicate between the developers and the users. The support is helpful to a point… they don’t answer every single question on there, but do answer the crux of them generally.
FluorineFx: (v.220.127.116.11 for .NET)
- Has a Console app also, but with much less functionality than WebORB
- Has significant multi-framework (Cairngorm, PureMVC, etc) style actionscript codegen.
- Has documentation but is seriously lacking in examples. Not easy for new users to understand where to go once it’s working.
- Has a specific implementation of DataSets and DataTables that is not as intuitive as WebORB. A DataTable for example has the “serverInfo” property which when expanded reveals a cursor, the list of columns and the list of data.
- Has a nice project setup wizard in Visual Studio.
- Security support for services must all be done manually in the configuration files.
- Uses C# Attributes to expose classes as Services. (use [RemotingService(“Fluorine sample service”)] above the class definition.
- Uses a mailing list for communication, and generally everyone is very helpful.
- Can and will provide quick additions to the code and SVN releases of new versions based on requests/issues in the mailing list.
- It’s Open Source, so you can actually learn the ins and outs of AMF and remoting. And, if you’re not happy, get in there and modify the code.
I appreciate both products but feel there needs to be a serious overview of documentation, as I’ve read through both and still find myself not 100% sure about the whole system.
Personally, I think Adobe have something to answer for here. I know they are pushing Blaze and I understand that Java-based Blaze is cross-platform and complies to Adobe’s needs… But seriously, C# and Visual Studio are an amazing partnership in developing software, and I won’t give up developing server-side code in them until something as good as it comes out (fingers crossed that Mono keeps plugging away).
I would like to see Adobe step up into this market and help everyone out, because, let’s face it, Flex and AIR don’t meet their potential until they are hooked up into a server-side component.