For those of you willing to consider embracing Flex as an enterprise-ready rich-client technology, but who would be reticent about embracing a technology if they had to throw away their best-practice J2EE development, then I'd like to draw your attention to some open-source projects that recently emerged from
iteration::two.
First of all, we recently open-sourced "Cairngorm", an RIA Microarchitecture that is based on the Core J2EE Patterns that we have found relevant to the delivery of Enterprise RIA. Cairngorm is an object-oriented ActionScript 2.0 implementation of a number of collaborating patterns, such as Front Controller, Service Locator, Command Pattern, Business Delegate, Value Object, View Helper, etc. This allows for best-practice development of client-side business logic and workflow, that would previously have lived in the application server. You can find more details currently at:
http://www.richinternetapps.com/archives/000094.html
Additionally, for those of you that have a discipline of unit-testing or test-driven development in your J2EE tier, who might have understandable reticence to moving business logic over the wire onto the client, we have recently released the FlexUnit unit-testing framework for Flex applications - this allows you to unit-test any client-side classes, using an identical workflow to JUnit. Again, more details can be found here:
http://www.richinternetapps.com/archives/000091.htmlA great deal of myths abound, regarding the speed, performance, accessibility, etc, etc, of rich-client interfaces delivered into the "Flash Virtual Machine" in the browser. For those with preconceptions about what delivering an RIA with Flex actually means, I'd suggest spending a little time seeing what Flex *actually* delivers, and how it enables the J2EE developer to offer it, before denigrating it.
There is a serious enterprise development community, who have cared about best-practice J2EE development, and now infuse that practice in a forward-looking manner, to this emerging if not emerged discipline of RIA development.