Exadel Flamingo - Flex with Seam and Spring


News: Exadel Flamingo - Flex with Seam and Spring

  1. From Max Katz, written by Igor Polevoy: The current state and direction of the software development seems to be going towards agile approaches. This is mostly a resulted mostly from resurgence of the Internet itself with novel applications supporting Web 2.0 principles. In order to provide a quick response to market demands, the agile development approach seems to be displacing others as being the most efficient and effective. While agile development is not technology specific, there are technologies which are more conducive to agile development than others. Quite a few technologies exist for rapid development of traditional applications, but nothing to aid creation of rich internet application. All that's fine, but now: Exadel has developed Flamingo, a comprehensive development and runtime framework for building Rich Internet Applications. From the start of the project, the bar was set high in order to not only develop a very efficient integration library to connect server side technologies such as JBoss Seam and Spring Framework to various rich client side technologies (Adobe Flex, Sun Microsystems JavaFX), but also provide additional convenient components and tools to give developers the power to do their job faster. Flamingo allows them to focus more on the business problem rather than on low level nitty-gritty details of project configuration. In short, Exadel Flamingo is:
    • An integration library which provides support for very efficient binary communication protocols (AMF and Hessian)
    • A set of client side components for various common tasks (validation, binding, bundling multiple calls into one call, etc.)
    • A set of development tool for putting together a Flamingo-based project
    What is a Flamingo project? In reality, any Java project for the web. It can take the form of an EAR or WAR file as deployment target. Flamingo projects are Maven-based, which allows anyone with Maven experience to feel right at home. Exadel Flamingo supports the following server side technologies: JBoss Seam, Spring Framework, JBoss Hibernate, and Adobe Flex and JavaFX, as well. Any combination can be present in the project. In fact, one of the Flamingo demos is a Hotel Booking application which was borrowed from the JBoss Seam project. This demo application originally has one user interface implementation, JSF, but Flamingo added two more ui implementations into the same application, Adobe Flex and JavaFX. The Flamingo team was careful to leave all server side code intact, which showcases that Flamingo can be adopted by an existing project if there is a necessity to add rich user experience. This was done with minimal effort. Flamingo has great support for rapid development cycle. This is afforded by some unique features Flamingo has to offer:
    • Ability to generate a fully working project
    • Ability to generate entities and screens
    • Seamless integration of server component on the client side
    • Dynamic persistent methods
    I hope I whetted your appetite enough to entice you to give Flamingo a spin. Please check it out here: http://exadel.com/web/portal/download/flamingo

    Threaded Messages (8)

  2. BlazeDS[ Go to top ]

    I have been looking at using a combination of Flex, BlazeDS, Spring and Seam for a RIA I maintain so this project naturally caught my eye. However, I'm curious how Flamingo fits into this picture. Does it replace the functionality of BlazeDS? Supplement it?
  3. Re: BlazeDS[ Go to top ]

    This really depends on needs of a particular project. While there is some feature overlap between all these projects, Flamingo provides some features not found in others, namely dynamic methods, Hibernate validation, project wizard creation, etc. Since you are maintaining existing project(s), you are probably less interested in project creation wizard, but if you need to add more functionality, validation, CallSet and dynamic methods could certainly shorten your development cycle (if your application is DB - driven) Although we (at Exadel) did not test this, I feel quite confident that you should be able to mix and match more than one of these technologies in the same project. I'm curious to learn more details about applications you maintain. good luck, Igor
  4. Re: BlazeDS[ Go to top ]

    The key feature I'm looking at in BlazeDS is its POJO remoting capability. It leverages their AMF protocol to allow RemoteObjects to call methods on arbitrary POJOs deployed in a Java web app. There's a good deal of plumbing involved in this although the end result is a very simple usage pattern. That said, I would actually be pretty surprised if Flamingo implemented this as well.
  5. Re: BlazeDS[ Go to top ]

    you might want to look at the binding feature tin Flamingo then
  6. Re: BlazeDS[ Go to top ]

    Actually Flamingo does this and much more. It allows to call server methods via AMF or Hessian protocols and also provides set of components to ease integration between client and server.
  7. Re: BlazeDS[ Go to top ]

    Interesting. Can you point me to a good set of introductory docs I can look at? I couldn't readily find them from browsing the site.
  8. Re: BlazeDS[ Go to top ]

    You can take a look at the developer guide: http://www.exadel.com/flamingo/docs/
  9. What is this urge to shove everything into a MVC2 architecture where the server drives the UI? You develop a good stack on JSF+Seam+Spring and now you try to fit everything into this. Please don't shove this nonsense onto the community. RIA provides a lot of leverage on the server, not the client. It makes a stateless architecture possible pushing the UI responsibility completely onto the client. This gives near linear scalability and with clustering taken care of on the client there is no SPOF on the server. Proof is in our product in production. Details are at http://sunilabinash.vox.com/library/post/is-flex-yet-another-mvc-framework.html