• Home
  • Events
  • About
  • Our "RIA Design Patterns" Talk at JAX 07

    April 30th, 2007

    JAX 2007 was my first Java conference ever. The event was a great delight:

    • It was incredibly well organized with tons of interesting news and insights regarding Java & companions.
    • You could see and get in touch with most famous people from the Java and OO community (including Erich Gamma) …
    • Being (or becoming a speaker) is a great plus: I enjoyed the fun of giving a talk and discussing with other developers.

    My colleague Bruno Schäffer and I presented our latest insights on design challenges when building RIA applications end to end. We believe that building a RIA applications imposes new problems on developers when compared to traditional Web apps.

    E.g. to deal with the complexity of your GUI code, you should best apply the presentation model pattern. If you do that for all GUI elements you end up with a separate software layer shielding your business layer from the actual code that uses a GUI API (such as Swing). Another thing to think of is the number and the granularity of services that you need. For a RIA app, you typically need a larger number of rather specialized services than for a traditional Web application. E.g. think of a “search-as-you-type” feature: To realize it, you need a service returning the first n DB entries matching your current input text. So RIA is not only about the front end – it may well require a (re)design of deeper system layers including the database.

    Please find the set of slides of our talk in the PDF file here:
    RIA Design Patterns Talk at JAX 07
    Or view it online at SlideShare:

    Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • email
    • Print
    • Twitter
    • LinkedIn
    • XING
    • Facebook
    • Google Bookmarks

    Getting Rich with Groovy

    April 30th, 2007

    World leading software companies are betting on the combination of Rich Internet Applications (RIA) for enhanced user interface capabilities and new dynamic languages that keep their products flexible and adaptable.

    Navis LLC delivers mission-critical supply chain execution solutions ranging from marine terminal control software to in-yard management. Navis has based its new SPARCS N4 product line on Canoo’s UltraLightClient (ULC), a 100% pure Java solution for Rich Internet Applications. With this pure Java technology in place, Navis can leverage the power of the Java platform while using Groovy, the new dynamic language for Java, where additional flexibility is needed.

    When creating multi-client container terminal software you not only have to care for rock-solid solutions in Java but you better also prepare for the numerous requirements that differ from client to client. One solution would be to maintain slightly different versions of your product for each client but this quickly leads to a maintenance nightmare. Instead, you include scripting capabilities into your product such that the client himself or the technical on-site consultant can apply the required adaption. Since any adaption has to express logic like special routing rules for containers, a simple configuration file is not enough. You need a smart configuration, which is a typical usage pattern for Groovy.

    Groovy makes an ideal companion to all Java-based RIA solutions as it integrates seamlessly with Java while providing higher flexibility and expressiveness where needed.

    Take for example the Grails project, which uses Groovy to achieve a developer experience comparable to the Ruby on Rails approach but runs as a 100% standard Java Enterprise application building on Spring, Hibernate, SiteMesh, and Quartz. Grails developers use Groovy code to include AJAX frameworks like Prototype or Dojo for user interface enrichment.

    Not only is that Groovy code concise and expressive, it also hides the implementation details of the AJAX framework in use. Even if you change the AJAX framework in the middle of your project, your Groovy application code stays the same!

    RIA and Groovy are both likely to be found in technology-leading, demanding, agile contexts where highest requirements for user interaction design have to be met. Where developers have to respond quickly to early user feedback the need elaborate means to enhance not only information presentation but also workflow and data selection. While the RIA technology helps with presentation enhancement, Groovy can keep workflows, business rules, and domain models easy to modify on the fly. This is where Groovy shines with supporting domain specific languages (DSLs), libraries like GroovyRules (JSR-94 compliant rule engine), and integration via reloadable Spring beans.

    The RIA and Groovy couple is already there and humming. However, much more is to be expected for the future. Pure Java RIA solutions like Canoo’s UltraLightClient make perfect candidates for even closer integration. First prototypes show very promising results when integrating ULC in Grails or using Groovy’s builder support to specify ULC interfaces.

    Combining RIA with Groovy makes perfect sense and the ULC and Groovy pair is the one-two punch for web development.

    keep groovin’
    Dierk König

    Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • email
    • Print
    • Twitter
    • LinkedIn
    • XING
    • Facebook
    • Google Bookmarks

    Review of JAX 07

    April 27th, 2007

    We’re back from JAX 07. I’d like to share some excerpts of Dierk Koenig’s report, who received the JAX Innovation Award on behalf of the Groovy team, with you. Here’s what he had to say:

    JAX has grown again and with 1’900 attendees it is certainly one of the biggest Java events in the German-speaking region. The general organization is above average with some room for improvement when it comes to accommodation and lodging. Attendees are very interested, knowledgeable, and open for discussion. The session topics are a bit high-level rather than down to the technical details. Talks like “Mixing Ajax, Swing, and Flash” by Sibylle Peter and Matthias Huber were a refreshing exception.

    I arrived Monday afternoon and after a joint effort to prepare the Canoo booth and checking in at the hotel, the speaker & VIP reception was held at the Kurhaus in Wiesbaden, right below the Casino. This was an interesting mixture of overdressed Casino guests and casual programming geeks in the lobby!

    I learned that Tammo Freese and Johannes Link used Groovy in the testing workshop that day. Both suggested to run a joint full-day Groovy workshop at the W-JAX this year.

    I also talked to Emmanuel Bernard (RedHat) who currently works on Groovy support for Seam that he is going to release soon.

    On Tuesday, Daniel Pfeifer and Bruno Schaeffer delivered their talk on RIA Patterns and Sibylle and Matthias talked on mixing Ajax, Swing, & Flash. Both talks were very well received. Well done, everybody!

    At the evening ballroom session, I hosted the Groovy/Grails table with too many beers and more loud talking than was good for my voice. On Wednesday morning, I noticed that Gina was already sold out at the Addison-Wesley booth after only one day of expo. 🙂

    I started with my general Groovy talk in a room with about 120 seats when it became so overcrowded that the session was moved over to the big plenum stage. It must have been 250 people or so. A fun experience. Later I connected with Sven Haiges and we recorded another three editions of the Groovy tutorial series for his podcast. My voice almost broke while recording.

    Before the evening keynote, the JAX innovation award ceremony took place where I had the honor to receive the first prize on behalf of the Groovy team. Note that this prize not only awards EUR 10’000 to the winner but also strives to select the most innovative, creative, and influential European project or product of the last year.

    In the late evening BoF sessions, Daniel joined Sven and Peter Rossbach to discuss the state of AJAX, while I was concerned with the future of programming languages. I was very surprised to see about 100 attendees at that BoF when the warm evening was actually calling for a beer garden.

    Thursday started with checking out from the hotel and a much too short breakfast. I headed for the WebTest talk with Marc Guillemot. We held it in the 300 seats room, which was pretty much filled. It was much fun talking about our day-to-day occupation. The audience was very responsive and had good questions in the Q&A part and personal ones after the talk.

    I attended the Grails talk by Sven Haiges, which was great as always. As the first session of the afternoon, I talked about “Usage Patterns for Scripting Languages on the JVM” in the 200 seats room, which was stuffed to capacity. It was fun recognizing the faces that seem to show up in all of my talks. I also managed to add a couple of cross-references to ULC. Lots of people approached me after the presentation. Sebastian Meyen invited my to the JAX-TV where we ran a 20-minute interview on various topics around Groovy. Of course, I wore my Canoo polo shirt.

    We’re back on the road next Saturday to go to San Francisco. Come and see us at JavaOne from May 8 to May 11. We’re at booth #715.

    Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • email
    • Print
    • Twitter
    • LinkedIn
    • XING
    • Facebook
    • Google Bookmarks

    Mixing Ajax Swing and Flash – Slides and Demos available

    April 25th, 2007

    Here the demo applications we mentioned during our talk at JAX07. Currently it only only works on Windows and needs at least Java 5:

    The slides (in German):

    The source code will follow soon.

    Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • email
    • Print
    • Twitter
    • LinkedIn
    • XING
    • Facebook
    • Google Bookmarks

    JAX 07 talk on Mixing RIA Technologies

    April 18th, 2007

    While developing rich internet applications most people restrict themselves to one technology based on their needs or skills. But what if your Swing application would need a bit of Flash (e.g. for video streaming) but you don’t want to develop your whole app in Flex? For whatever reasons. I.e. what you really want is a best-of-breed solution.

    In Mixing Ajax, Swing and Flash, Matthias Huber and I will talk about combining RIA technologies on the client side. We will show, that with some reasonable effort it is possible to use more than one technology. Using demo applications and example code, we focus on the technical aspect of integration. We hope that this presentation will give you an insight on the the various possibilities. And whether the gains on the user interface are worth the effort of using multiple technologies.

    After the talk we will publish some demo applications on this blog (in case you missed the talk).

    Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • email
    • Print
    • Twitter
    • LinkedIn
    • XING
    • Facebook
    • Google Bookmarks

    css.php