Groovy, the dynamically typed language based on Java, has been slowly gaining momentum over the last five years and is now becoming the playground of the Java community for new features. In fact, many java proponents are arguing to stop introducing new features in the core java language and introduce them through Groovy instead. This fits in well with the polyglot approach of using the best language for the available for each task. In the case of most enterprise client server applications core Java would provide the best performance for the base container and the plumbing needed to communicate with the OS and the network, whereas a dynamic language would be a better fit for the controller logic and the domain model logic. Functional languages would then fill the gaps in the next higher level and provide a language much more suited for declaratively specifying business logic than the current XML based rules engines.