Much of the core functionality of your application will be implemented in the business components. ADF offers a range of ways to add simple business logic without writing code, but most of what makes your application unique will be implemented in Java and/or Groovy.
Groovy is a scripting language that integrates with Java and is run in a Java Virtual Machine just like Java code. Groovy has a simpler syntax than Java, making it a good choice for code snippets used to define default values or programmatic validation, for example.
One of the hard things about writing enterprise Java applications ...