• Home
  • About
  • Sample Apps
  • Videos
  • Dierk’s Groovy Usage Patterns showcased

    June 25th, 2009

    ‘Groovy Usage Patterns by Dierk König’ is currently being showcased on the ‘Technology’ page on SlideShare. Enjoy!


    Jazoon ‘09: Patterns in dynamic languages

    June 23rd, 2009

    Speaker: Neil Ford, Thought Works

    Warning: This entry assumes knowledge of GOF patterns…

    Observation on the GOF (Design Patterns) legacy: Many of the patterns were really good at getting over C++ nightmares.

    Boy does the blogger agree with the following statement: UML is too technical for non-techies; not technical enough for techies.

    Iterator: Super-easy in Groovy using closures; requires a non-trivial interplay of interfaces and classes using the traditional GOF pattern. Lesson: What’s commonly needed will eventually be subsumed by language features.

    Command pattern: Modern languages implement this using closures. Java, for example, again requires a command interface, command implementations etc. Structure (e.g. adding undo/redo) can be easily added on an as needed basis.

    Strategy pattern: Using code blocks in Groovy instead of adding extra classes, as one would in Java.
    (Must see article: Execute in the Kingdom of Nouns from Steve Yegge)

    Template Method pattern: Traditionally declared using abstract methods in classes. In Groovy we can use variables that hold onto code blocks, thus eliminating the need for the abstract methods. Use Groovy’s null dereference operator to avoid null pointer exceptions when the code blocks are null.

    Interpreter pattern: Originally designed to overcome deficiency in language being used by creating a new language on top of the current language. Alternative: Groovy permits us to easily create new DSL using the “expando property” feature. Ford notes the fact that a new form of pattern is arising: Patterns of DSLs (Ford notes that Martin Fowler is going to release a book on this very subject in the coming months.) Ford notes that internal DSL’s amount to embedding an interpreter.

    Decorator pattern: Groovy’s invokeMethod feature can be used to achieve what requires Aspects in Java. Inline decoration is also possible. Ford goes on to explain a few other interesting aspects of Decorator… but I can’t keep up ‘cos I’m not familiar enough with Ruby!

    Adapter pattern: In Java we need to wrap existing entities to achieve interface compatibility. Ford shows a really interesting Ruby-based approach which involves dynamically changing the interfacing of an object at runtime. Notes that this can only be done with interpreted languages and that similar things can be achieved using AST transformations in Groovy. However, the latter is more difficult than in Ruby because of it’s nature as a truly interpreted language.

    Null object pattern: In Groovy null dereference operator can be used to handle the null object situation frequently. In Ruby this doesn’t work because even null (nil in Ruby) is also an object.

    Aridifier pattern: Avoid repetition. Ruby example shows how test methods can be created on the fly to reduce code footprint significantly.

    Ford’s Summary: Traditional DPs use a lot of structure to solve problems. Dynamic languages permit far more elegant solutions.

    I’m reminded of statements made long ago (in an online article, I recall) by OO grand master Bertrand Meyer to the effect that:Patterns? All well and good but there are no replacement for language features and reusable libraries.

    Ford’s presentation was absolutely first class in terms of both content and delivery.


    Interview with Canoo Fellow Dierk König

    June 4th, 2009

     

    Scott Davis interviewed Dierk König, Canoo Fellow and Grails/Groovy-Evangelist for Thirsty Head at blip.tv. In the interview, Dierk gives an inside-view about new Grails improvements, about his JavaOne talk, JavaFX and the impact of Canoo Webtest. Enjoy this interesting chat about “beauty and code”!

     

     


    PillarOne: Open-Source Framework for Risk Management Uses UltraLightClient and Grails

    April 3rd, 2009

    BrusselsOver the last two days I attended the PillarOne Conference in Brussels. (PillarOne Conference? Never heard before? That’s probably because this is the first time this conference has taken place.)

    The main focus of the conference was not about Web applications or Rich Internet Applications; it was about risk management in the financial sector and how open-source software can assist in averting financial collapse of the kind we’re currently facing.

    Over one year ago Munich Re (one of the world’s largest re-insurers) initiated the development of an open-source business application suite entitled PillarOne. PillarOne seeks to address every aspect of reserving and risk analyses of insurance companies. Open-source has particular relevance to this business: Identifying and simulating risk cries out for openness and for a strong community that actively validates the applied models and methods. There is absolutely no doubt that conducting Risk Management behind closed doors and concealing models behind inappropriate tools like Excel has contributed to the current financial crisis.

    Intuitive Collaboration\'s Markus Stricker points the direction of future risk management tools.
    Intuitive Collaboration’s Markus Stricker points out the direction of future risk management tools

    Risk management tools like this also have special requirements which are perfectly met by Rich Internet Application technology like UltraLightClient. Firstly, the complex models and simulations need highly interactive and responsive user interfaces designed for power users. Secondly, truly capable risk management tools must be enterprise solutions with all features these solutions normally have (central database, logging, historization, multi-user synchronization etc.). On the other hand, risk managers are used to having their tools on their laptops being fully functional even if they are off-line. Intuitive Collaboration – the company behind PillarOne – has chosen Grails and UltraLightClient because they meet both these requirements. UltraLightClient is a web-based user interface technology that in conjunction with Grails enables the cost-effective implementation of web applications with the most sophisticated user interfaces that are vital for handling the complex domain of risk management and simulation. Moreover, an application can be deployed as on an enterprise server or as standalone tool on a risk-manager’s laptop without changing a single line of code in the application.

    SAP Demo
    Canoo’s Dierk König and SAP’s Christos Lemonidis demonstrating the SAP integration of ULC and Grails based PillaOne

    That PillarOne is a milestone for risk management tools is underlined by the fact that SAP has chosen this platform to offer Solvency II compliant risk management to its insurance customers. Just in time for the conference, the UltraLightClient-based PillarOne was successfully integrated into SAP and shown at the conference as an online demo to a captivated audience.

    The conference was attended by a large number of risk managers and regulators, one of whom (a speaker) was bold and self-effacing enough to describe the current crisis as “collective failure of a whole profession”. Whatever the full spectrum of reasons behind this collective failure is, the potential of an open-source tool such as PillarOne is to provide the system with a degree of transparency and robustness that would have been unthinkable a few years ago. This has got to be a good thing for all citizens, not just risk managers!


    Canoo @ WJAX/SOACon 2008

    November 17th, 2008

    This is just a quick note about the WJAX Java developer conference that take place last week in Munich.

    The conference program was quite balanced and beside the main stream topics about SOA (ServiceOrientedArchitektur – represented by the SOACon conference), Spring, Application Security and OSGi there was a huge number of different topics, which were addressed by several talks.

    Most interesting from my point of view were following sessions:

    • Keynote from Jonas Jacobi: Re-architecting the Web with HTML 5 Communication.
    • Talk from Karsten Lentzsch: Efficient design of swing UI’s.
    • Talk from Angelika Langer: Java programming in the age of multicore.
    • Talk from Dierk Koenig: RESTful JEE with Grails.


    Canoo was exhibiting on a booth, which gave the great opportunity to present and talk about our products UltraLightClient (ULC), the just released language application for the IPhone (using canoo.net), our demo for the new JavaFX platform and fancy UltraLightClient / Swing rich client applications. In addition Canoo members used the presence to keep in touch with existing costumers, contact new ones or presented the company to potential new staff members.

    Canoo Online Quiz

    All the visitors on the booth and all other interested software developers had and still have the possibility to join an online quiz. Its possible to win an iPod touch or one of ten ‘Groovy in Action’ books. The quiz can be found at www.canoo.com/quiz and will end at the 30.11.2008.

    Dierk König, Canoo fellow and author of the ‘Groovy in Action’ book, was holding a groovy workshop and was giving a talk about RESTful JEE with Grails.


    Grails Sample Application: ria-map.net

    June 18th, 2008

    Canoo has released a new sample application at ria-map.net. The application shows typical Web 2.0 interface elements such as tagging or Flickr-like editing fields.

    Canoo riamap entry screen

    I asked the developer, Jonas Zuberbühler, the following questions on the new Canoo sample application.

    SW> What is riamap?

    riamap is a Web 2.0 community site that maps the world of Rich Internet Applications. Unlike mere information aggregators on the topic, it builds on user contributions to assemble not only a list of current RIA technologies, but also how they relate to each other.

    Users can explore what technologies are available, what they have in common, how they differentiate, what competitors they have and how they complement each other. These relations make up a graph that any user can extend by adding new connections or voting how strong any such connection based on his or her own judgment.

    SW> What technologies did you use to build it?

    We used Grails for the web application framework and Groovy as it is the perfect partner for implementing server-side logic.
    In addition, we used Prototype, Scriptaculous and LivePipe to integrate AJAX features and to improve the user interface.

    SW> Why did you select Grails? Why not adapt an existing PHP- or Java-based content management system?

    Canoo has a strong footing in Java and Grails is the perfect choice for developing Web 2.0 applications on the Java platform. We can build on our solid understanding of this ecosystem and use all the existing tools for development, deployment and operations. On top of this, Grails provides us with the concise, expressive and interactive development style that modern applications require.

    Further screenshots:

    riamap screen 2

    riamap screen 1

    To get a login for riamap, sign up here to join riamap. Try out the various Web 2.0 interface features. If you feel like adding information on a RIA technology, enter the details here or edit an existing entry.


    Canoo session at JavaOne 2008

    April 22nd, 2008

    While Dierk König is speaking at this week’s JAX in Wiesbaden, Germany, I’m sending out an info pointing to his next session in San Francisco.

    JavaOne 2008

    Dierk König and Mike Mannion are presenting a session at JavaOne 2008 on:

    Going Mobile with JavaFX™ Script Technology, Groovy, and Google Android



    Add this session to your schedule! And stop by at the Canoo booth at booth number 429.


    Podcast: Frank Westphal interviews Dierk König

    February 16th, 2008

    Groovy and Grails at Frankwestphal.de

    Listen to the podcast on Groovy and Grails (in German).


    Dierk König on Groovy

    February 2nd, 2008

    Kirk Pepperdine interviews Canoo’s Dierk König.


    Speaking about RIA, Groovy, Grails and WebTest

    January 28th, 2008

    I just updated the Canoo events page and would like to point you to the impressive schedule of events:

    Canoo’s CEO, Hans-Dirk Walter is presenting a one-day course on Rich Internet Applications at the ETH in Zurich, in cooperation with Prof. Dr. Donald Kossmann and Prof. Dr. Gustavo Alonso this Friday.

    Dierk König will be speaking in Denmark, the USA, Switzerland, Sweden and Germany in the next couple of months on Groovy, Grails and WebTest topics.

    Bruno Schäffer is presenting at SD West 08 in Santa Clara, California on “Design Patterns for Rich Internet Applications”.

    And we will be exhibiting at this year’s JavaOne in San Francisco from May 6 to May 9.