Skip to end of metadata
Go to start of metadata

Composition on Grails

Project Description

The Composition on Grails project uses the Groovy scripting language and the Grails "Rails-like" web application framework, plus some SAP- specific extensions for Web Dynpro, Enterprise Web Services, and BAPIs, to allow quick and easy development of composite applications on SAP NetWeaver 7.1 CE.

We've made Composition on Grails available available as a download under an evaluation license. We'd like to hear from you. The project is still in an early stage so your feedback has the potential to be very influential. Bugs? Features missing? Something cool you did? Please let us know by adding a comment to this page or visit the Bugs & Feature requests page.

Guiding Principles

The guiding principles behind the Composition on Grails project are:

  • Less software
    Keep it short and simple. Minimizing the code for a composite application likewise minimizes the development and maintenance effort.
  • Convention over configuration
    Skip the XML files. Use naming conventions for automatic data binding. The framework knows how to do what you want most of the time. You only have to make changes if you want something that isn't predictable.
  • Reduce abstraction impedance
    By using scripting as a consistent programming model for the entire composite, you avoid overhead from transforming data and functions between different programming abstractions.


(red star) Now available
Web based Composition on Grails (CoGSole) . Please note Composition on Grails is available under test and evaluation terms only. It is not a supported SAP product.

(green star) Get the Code

We invite you to download the code and build an application or two. Let us know what you think.


  1. We'll be presenting some interesting new features at the TechEd Las Vegas SDN day - learn how to build an SAP application in 2 minutes or less!

  2. Thanks for a cool project. I really like the option of creating a WDP screen.

    I tried using grails 1.1.1 and i had two problems. 

    I had to uncomment     //promptForName() in CogGenerateAll.grovey

    The second problem was with saving data, where I got a

    java.lang.NoClassDefFoundError: org/hibernate/collection/PersistentSet

  3. The last version of grails this was tested with was 1.0.3 which can be downloaded from:

     The class org.hibernate.collection.PersistentSet  is in: