views:

327

answers:

3

Hi I am thinking of migrating a Java/Swing application to Flex3. The existing app architecture is as follows: Java/Swing client, JDO(Kodo) - Java Persistance engine, JMS - Messaging (for real time updates), EJBs - Business logic, Weblogic, UDB - Back-end database

I am looking to reuse a lot of the java server side functionality of the existing application (which includes EJB's and JDO and JMS).

The requirements of the Flex client includes - the ability to talk to the EJB's on the Java server and the ability to receive real-time updates via JMS.

I have read that Flex and Granite DS does a good job of Flex/Java/EJB integration. Is this the route I should take or does Flex/BlazeDS & remoting handle communcating to EJB's from a Flex client?

In terms of the JMS I am looking to replace this with BlazeDS messaging functionality. Can this be done? Not sure.

Any guidance on this would be great. Michael

A: 

I'd recommend Blaze DS and Spring "contract first" web services to act as interfaces. Leave EJBs as an implementation detail. Once you get the schemas for the web services right you decouple the Flex front end from the Spring back end.

duffymo
+1  A: 

Hi Carl,

BlazeDS is great, but it doesn't support real-time messaging. The messaging is based on HTTP and polling. If you need real-time, you need RTMP, which is a proprietary Adobe (real time messaging) protocol. That means you have to pay.

Not sure what Granite DS has to offer.

Bye the way, the Adobe messaging stuff works surprisingly well, but don't be tempted to use it in large quantities...

Regards,

-Maarten

Maarten Winkels
A: 

A little off topic , but ASWing (osflash.org) can be used to help you port the swing portion.

PiPeep