Home

News: Java / Flex Excellent RIA Technologies Combination

  1. We all know how great integration there is between Java/Flex technologies. Lately, there are a lot of Flex applications around, but most of then are low-usage application, or complement applications, or some kind of interactive multimedia application related to a web page, or task-specific small applications like product configurators, or real estate locators, etc. Even when Flex technology has great potential, it's rare to see robust applications that require heavy usage, with lots of users, tables and data. A year and a half ago, we started the development of an ERP application called KINETIK-ERP over Java/Flex architecture, and so far, this architectural combination has been a complete success, on the technical, functional and usability side. Both technologies have integrated almost naturally. When we began the application, we reviewed several client technologies, like OpenLaszlo, Flex and Swing. After depth reviews and analysis about each technology, we dropped OpenLaszlo and Swing, by several reasons. At that time OpenLaszlo was some kind immature, and Swing in a very personal opinion, its a great framework, very flexible, but also lacks of lots of useful features out of the box, and its level of abstraction is very good but sometimes also can become a problem. Right now, our application has more than 16000 java lines of code, and more than 5000 flex lines of code. The application has a Java server implemented in Spring/Hibernate/Acegi/JasperReports/Graniteds technologies. And the client side is implemented in Flex/Cairngorm/Modules technologies. During this process, we are continually learning new things, and we also have had to sort out some integration problems between both technologies that right now are not completely satisfied out-of-the-box, but in general I can say that we have had a very positive experience. Some of the integration problems we´ve faced are:
    • Web Session expiration, integration and handling.
    • Communication optimizations between platforms.
    • Reports integration.
    • Dinamics Reports.
    In summary, based on our experience, we recommend both technologies together. Here is a link to our application so you can see our work. KINETIK-ERP

    Threaded Messages (39)

  2. I am looking at using Flex for a project. One thing i noticed is that it doesn't have the concept panels, etc. So if you want your form to show different views, you have to do it via a state (i forget the exact term). Granted, I have not finished the flex book but I was wondering how you dealt with that in a complex application. Seems pretty cumbersome.
  3. Hi Mark, Flex do have the concept of panel, and the concept of state too. Maybe you mean a stack(ViewStack), which also is available at flex. Right now, we use a combination of all of those components, and whenever is needed, the interface could be assembled in as3 instead of mxml. Here is a link where you could find an overview of several flex components. Flex Component Explorer
  4. Nice post Kibsaim !!! Are these adobe components open sourced ?
  5. Franck, I´m glad to hear your comment, we are using almost the same processes you use, we also use acceleo to generate some codes, but we also generate the whole cairngorm structure, in fact we have tweak cairngorm pretty much, so we are based on our classes, that are based on cairngorm base classes. Mittal, those components are part of Flex SDK, so they are from Adobe, but as you know, Flex SDK is open source. If you want to check components from third-party, you should check FlexBox.
  6. I do agree Flex can be very good choice as UI technology for internal/intranet app's where we have control on what env's is used by business user - But what about public sites - is Flex a good candidate for such audience - where we don't have control on OS/Browser etc - what do you guys think ? Thanks Mittal
  7. I do agree Flex can be very good choice as UI technology for internal/intranet app's where we have control on what env's is used by business user - But what about public sites - is Flex a good candidate for such audience - where we don't have control on OS/Browser etc - what do you guys think ?

    Thanks
    Mittal
    Do you think HTML/Javascript is good for such an audience?
  8. well, my question is more in terms of using Flex for public sites - as adobe claims 94% of world computers have Flash Player Thanks Mittal
  9. well, my question is more in terms of using Flex for public sites - as adobe claims 94% of world computers have Flash Player

    Thanks
    Mittal
    Here' the link http://www.adobe.com/products/player_census/flashplayer/version_penetration.html Thanks Mittal
  10. well, my question is more in terms of using Flex for public sites - as adobe claims 94% of world computers have Flash Player

    Thanks
    Mittal
    Even if not, installing is easy and most people in the "public" have admin rights. To me this is more of an issue if you are targeting organizations who control the desktop.
  11. well, my question is more in terms of using Flex for public sites - as adobe claims 94% of world computers have Flash Player

    Thanks
    Mittal
    Even if not, installing is easy and most people in the "public" have admin rights. To me this is more of an issue if you are targeting organizations who control the desktop.
    No, target audience would be users who control their own desktop. However I am not sure how much one would be comfortable downloading Flash Player to view application. However it seems Flash is becoming ubiquitous - just wanted to know if others feel the same. Thanks Mittal
  12. well, my question is more in terms of using Flex for public sites - as adobe claims 94% of world computers have Flash Player

    Thanks
    Mittal
    Even if not, installing is easy and most people in the "public" have admin rights. To me this is more of an issue if you are targeting organizations who control the desktop.


    No, target audience would be users who control their own desktop. However I am not sure how much one would be comfortable downloading Flash Player to view application. However it seems Flash is becoming ubiquitous - just wanted to know if others feel the same.

    Thanks
    Mittal
    I feel that most people will install Flash, Java or whatever if they can get what they/want need. People will install a virus just because some email said "Click here to view pix of [insert celeb]". My wife wanted to view TV shows online. Believe me, she got Real Player installed so she could watch them.
  13. Firefox[ Go to top ]

    Hi Mark,

    Flex do have the concept of panel, and the concept of state too. Maybe you mean a stack(ViewStack), which also is available at flex.

    Right now, we use a combination of all of those components, and whenever is needed, the interface could be assembled in as3 instead of mxml.

    Here is a link where you could find an overview of several flex components.
    Flex Component Explorer
    This doesnt seem to work in firefox 3.0 with flash plugin v8 r24... I just dont get it. Yes html is nowhere as good as providing UI compared to desktop style apps. So if you cant live with the limitations of html, then for goodness sake dont use it. Build a desktop app. But why try to shoehorn a desktop app into a html browser? If your application can run entirely independent of the websites content, then run it as a desktop app. If it can't, then use a technology that allows the web content to integrate to it. Currently, is there any technology that can integrate well with html/javascript other than html/javascript? Can flex or any RIA tech share data/events/state with html/javascript components and vice versa seamlessly without all sorts of hacks? If it can't then you're using the wrong solution for the problem. If you don't have this problem, then why bother fitting it into a web browser? Btw, does flex provide something like jnlp where you can launch standalone desktop apps from a browser? Note: I'm a total newbie to flex.
  14. Re: Firefox[ Go to top ]

    Hi Steven, Flex2 and Flex3 require Flash 9.X to run. There is, lets say an alternative at flex to JNLP called Adobe AIR. Its a standalone runtime to run flex applications, and also Ajax applications. Cheers.
  15. Hi, I personaly share your opinion. I'm currently working on my 3rd Flex/Java project, using Spring/Hibernate/JasperReports/Graniteds on the Java side, and Cairngorm for the client side. GraniteDS is very similar to Flex DataService Express, which I experienced on previous projects. I had a look at BlazeDS, which is very promising (french speaking people can have a look at my tutorial on integrating Flex / BlazeDS and Spring here) By itself, Flex is a very productive and easy to learn technology, specially for OO developers. We increase productivity by using code generators. We developped a custom Java/Flex code generator based on Acceleo and TopCASED UML Editor. Client side, it generates BusinessDelegates and ValueObjects with correct aliases for use with RemoteObject. Server side, it generates corresponding ValueObjects, Java interface and Skeleton. Moreover, we integrated Cairngen ant-tasks to create skeletons of Event/Command chains. Problems we encoutered : - Accessibility : some Flex components are not very well supported by screen readers like Jaws. - Benchmarking : It's hard to find a load stressing tool supporting AMF3 binary protocol. WebLOAD en NeoLOAD seem to be capable, but they have a price... Writing a JMeter plugin is an option I'm evaluating.
  16. We developped a custom Java/Flex code generator...
    This is one of the [few?] things that bothers me. It would be really nice if i could code once, in Java, and be able to easily use my java objects/APIs/business logic in Flex. I see those generating Java and Flex use UML, but for me, UML is best done on napkins.
  17. yes[ Go to top ]

    http://www.travestia.com turkısh transseksuelism web site
  18. Even though I loved components available in Flex, I found two major issue using it: 1. Application takes lot of time to load in browser even on 100Mbs connections. 2. How search engine going to find contents written in flex applications?
  19. For #1, Cross site, Flex framework caching debuted in the latest major update to the Flash player (late last year.) For #2 read: http://www.adobe.com/devnet/flashplayer/articles/swf_searchability.html
  20. A simple wish list from a RIA running in a browser is: 1. Quick response time even for first time access and subsequent access. 2. HTML standards support but Flex type components to make good UI and ajax support. 3. Choice to run business logic in server or client browser. Unfortunately even in 2008, we don't have these basic things from java camp. There are mix and match, but I didn't came across a single winner or I mixed something?
  21. The load time is more than acceptable. It will always be slower than loading a simple HTML page due to its size. I always try to minimize the use of Html. Why would I need to use HTML if I can do everything in Flex? Why do we need Ajax here for Flex? Ajax is used to make up for the shortcomings of traditional html-based applications. Flex is asynchronous in nature. Of course you can choose to run your businnes logic on the server side or the client side. In the last Flex app I coded, all critical business logic is on the server side and not so critical logic resides on the client side so that the client can share some of the work load. If I can choose, I 'd pick Flex over HTML(JSP/ASP/PHP) anyday. Coding FLex is like Coding Swing which is much easier and more intuitive than messing with HTML/Javascript/AJAX. Just my 2 cents
  22. Flex is better anytime compare to JSP or PHP[ Go to top ]

    yeah very true. In fact after working on GWT and now Flex I am not going to touch JSP/PHP or Ajax for that matter (not crapy JavaScript framework as well). I think you can do most of the web sites and desktop apps in Flex and AIR (like it a lot) where GUI is so good even without touching CSS. You have to make sure load time don't go up otherwise you are good to go...
  23. We are using Wicket and Flex together in our site. Wicket for our main chunk and Flex for some of the fancy features (typically for admins) like drag and drop. Both work fine for us. I haven't done much more than reading through the flex code we have, but tbh, after all the hype people have been given it, I was slightly disappointed with the programming model. Things like ViewStack, where you work with indexes rather than object references just don't strike me as particularly elegant. But maybe I'm just not familiar enough with Flex. The guy who does the most flex coding in our team says that Flex is his friend now, so at least someone is happy :-) The great things about Flex are that it just works every time (unlike say applets or Ajax), that it is very well documented, and that there is very good IDE support available. My 2c
  24. Flex/FlashPlayer *still* does not support HTML rendering of all elements (e.g. TABLE). Not sure what you mean by "standards compliant" here. Java support for HTML is coming soon by way of the JWebPane component. Other than that, you can do async in Java (e.g. XmlHttpRequest in swingx-ws). Plus if you are using the latest Java 6 update 10 build, it is as fast as Flex, as long as you take care of basics (such as Pack200 compressing your JAR files). Business logic in client-side Java - why not?
  25. Things like ViewStack, where you work with indexes rather than object references ...
    You can of course use viewstack1.selectedChild = ... instead of viewstack1.selectedIndex = ...
    The great things about Flex are that it just works every time (unlike say applets or Ajax), that it is very well documented, and that there is very good IDE support available.
    And next great things: * Whole client-server solution for Java EE * Data Binding * Layouts * Tables * Visual effects and skinning * working with XML
  26. You can of course use viewstack1.selectedChild = ... instead of viewstack1.selectedIndex =
    Ouch, no idea how I missed that :-) Thanks for pointing that out.
  27. Speaking from the experience gained in a project with about 250000 lines of GWT code in 186 GWT modules, I can only ask why would a Java-based project choose Flex, given that GWT can do nearly everything it does, and do it well. Not to mention that GWT is entirelly standards based, does not require a browser plugin, 100% OSS, from Google, with a rich user/developer community, ... So, what are the advantages of Flex over GWT? (I am sure there are some, but is it really worth it for us Java developers?)
  28. Speaking from the experience gained in a project with about 250000 lines of GWT code in 186 GWT modules, I can only ask why would a Java-based project choose Flex, given that GWT can do nearly everything it does, and do it well.

    Not to mention that GWT is entirelly standards based, does not require a browser plugin, 100% OSS, from Google, with a rich user/developer community, ...

    So, what are the advantages of Flex over GWT? (I am sure there are some, but is it really worth it for us Java developers?)
    I have not used GWT - But from what I can tell, it makes making cooling acting and looking applications very easy. Speaking purely from the "advantages" perspective.
  29. GWT lacks a decent selecton of widgets[ Go to top ]

    Well, GWTs widgets are thin on the ground and fairly dull to say the least. This is the main problem I see with GWT, very limited availablility of decent widgets (at least with a usable opensource license). Maybe they will come in time, - but it seems to be taking an awful long time.
  30. Well, GWTs widgets are thin on the ground and fairly dull to say the least. This is the main problem I see with GWT, very limited availablility of decent widgets (at least with a usable opensource license). Maybe they will come in time, - but it seems to be taking an awful long time.
    Oops. By "it" I meant Flex, not GWT. What you say confirms my thoughts about GWT.
  31. Well, GWTs widgets are thin on the ground and fairly dull to say the least. This is the main problem I see with GWT, very limited availablility of decent widgets (at least with a usable opensource license). Maybe they will come in time, - but it seems to be taking an awful long time.
    Oops. By "it" I meant Flex, not GWT. What you say confirms my thoughts about GWT.
    From my (limited) research, this seems to be the real differentiator. I hope a richer set of components is in the works. From what I remember, the best GWT widget libraries that I've seen are both GPL (due to its use of ext-js).
  32. Yes, I think GWT's strategy of only working on the "core framework" and letting the community provide the widgets is plain wrong!!! If they were to provide a decent library of widgets, similar to GWT-ext, but with a usable OS and free license, I think it would quickly become the de-facto "new" struts. In short, we'd all be using it. I think it would be very little skin off of google's billion dollar back to throw a few half decent developers at providing an interesting selection of widgets. I really question whether they truly take GWT and open source seriously beyond a PR exercise (just my opinion here). Hopefully they might prove me wrong some day.
  33. Yes, I think GWT's strategy of only working on the "core framework" and letting the community provide the widgets is plain wrong!!!
    If they were to provide a decent library of widgets, similar to GWT-ext, but with a usable OS and free license, I think it would quickly become the de-facto "new" struts. In short, we'd all be using it.

    I think it would be very little skin off of google's billion dollar back to throw a few half decent developers at providing an interesting selection of widgets. I really question whether they truly take GWT and open source seriously beyond a PR exercise (just my opinion here). Hopefully they might prove me wrong some day.
    To me, this is total BS. The current set of standard widgets in GWT is more than adequate for large real world business web applications. Maybe it is because our users actually want to get their work done, instead of being entertained by a fancy dancing GUI ;) But if someone want such a UI in GWT, it is certainly possible, as GWT-ext and Ext GWT have shown (I wouldn´t use that unless the users required though).
  34. A fancy and user friendly GUI is very important nowadays. That is why Windows dominates the desktop world.
  35. Re: GWT lacks a decent selecton of widgets[ Go to top ]

    A fancy and user friendly GUI is very important nowadays. That is why Windows dominates the desktop world.
    How did you get from fancy and user friendly to Windows? lol. Kidding aside, that isn't the reason they dominate.
  36. I beg to differ. A slick GUI is more and more of an expectation these days, rather than "a nice to have" or just candyfloss. Users have come to expect a slick GUI as an entitlement rather than just a gimmick. Yes, GWT has a reasonable selection of basic components, enough to "do the job" but not to shine. We now talk of "rich" clients and RIAs, not "adequate" clients. A huge section of the community would love to be able to provide rich clients without the pain. GWT-Ext is not an option for many, due to its questionable license (this has been discussed elsewhere numerous times).
  37. I'm currently using the same architecture as well, without Jasper Reports. We are undecided on what reporting solution to use with Flex. How was your experience with Jasper Reports? Can you provide any details on what's involved in integrating Flex with Jasper Repports?
  38. Hello William, Right now, we´re integrating JasperReports through the browser. We accessed the reports through lets say "links", and we send the parameters through get or post method. We´re also working on a better integration between Flex and Jasper, because the project Jasper4Flex don´t work at all. Also, we´re migrating our application to AIR, so in that case, we´re also thinking about downloading the report file, save it to the filesystem and open it with the appropiate program.
  39. 1) GWT has an anemic set of widgets compared to Flex (as several folks have already noted). GWT does not support animation and transition effects with its widgets as does Flex. GWT widgets do not really look and behave the same in all supported browsers. Flex widgets look and behave the same across browsers with much better fidelity. 2) We tried for days to get datagrids in GWT to be as rich as the out-of-the-box Flex datagrid (and Adobe keeps making their datagrid even richer in behaviour). Datagrids are must-haves for lots of apps, but particularly enterprise related. Flex saves a heck of a lot of time and delivers a result that is superior to what can be coded in GWT by any and every criteria. 3) Flex Charting - lots of apps need to do data visualization. Flex Charting is to die for. What does GWT have? Well, you could try to muck around with SVG - but that's not really a widely supported standard as Microsoft IE didn't adopt it. We did a prototype SVG charting package prior to switching the app to Flex Charting. The SVG stuff was just completely pathetic by comparison. And Flex Charts can do nice animation/transition effects - and support .css that is specific to charting attributes. Just can't say enough nice things about Flex Charting. Not much to say about GWT, though. 4) MXML/AS3 is a much better way to code the client GUI than using Java, as GWT chose to do. AS3 can be thought of as a simplified Java or C#. Has packages, classes, interfaces, and inheritance. By default it is statically typed at compile time. Yet it retains certain coolness from JavaScript - such as a closures feature (and the ability to drop down and do dynamic programming if/when necessary). Closures make event processing and asynchronous i/o a much superior programming experience relative to GWT's use of Java. 5) GWT offers the async RPC. Flex, however, offers async HTTPSerivce class, async remoting, async messaging, web services - and combined with BlazeDS - server-side push of messages via the Comet Pattern. Flex i/o is much more versatile. 6) Flex has automation classes, which when combined with a suitable GUI test tool, is possible to write scripts for regression testing the UI. Not sure GWT has much for this. We messed around with GWT, but the more experience we gained with Flex, it pretty soon dawned on us we should just ditch GWT and concentrate on a Flex/AIR approach.
  40. Flex/Java/Vignette sample[ Go to top ]

    Our company developed a number of commercial apps that use Flex/Java combo. Most of them are internal enterprise apps, so I can't demo them here, but here's a consumer site that we help Mercedes Benz USA to build: http://www.mbusa.com This one is Flex 3, Java, and Vignette server to feed the content. Regards, Yakov Fain