What is Groovy?
According to the official definition on the Groovy website:
According to me (Hyperion Jedi):
Groovy is simplified Java (A newer more improved Java if you like). Groovy took my favorite programming language and made it Groovy (now i feel like I’m in the 50s). The reality is Groovy is an advanced substitute for Java that aims to get you to your desired outcome faster and easier. My first love will always be Java, but Groovy promises to revolutionize the way we code by building on top / adding to an already great platform to achieve a ultimate end goal objective faster and easier. I have decided to treat Groovy as “Java Improved/Simplified” and welcomed it with open arms. Actually Groovy and Java are more alike then they are different. For example, Groovy runs on the Java Compiler, contains Java like syntax and both are object oriented programming languages. So what makes them different? Someone had a great idea to make the lives of programmers easier. What a great idea!!! Below are some simple examples of Groovy improvements:
- Simplified string manipulation
- Semicolon at each statement of code is optional
- More general purpose packages / classes imported as default
- Simplified Loop Definitions
- Methods / Classes are public by default
- Simplified Variables & Method Definition
- Simplified Method Calling
Why do we need Groovy for PBCS?
PBCS / EPM Cloud contains a REST API that allows direct integration with Environment through the API. The PBCS REST APIs are designed to allow remote administration tasks on the PBCS environment. Oracle has provided a utility call EPM Automate that enables execution of PBCS REST API calls directly using predefined functions. EPM Automate is great and enables service administrators the ability to remotely perform tasks within service instances, but it is fair to say that REST API is vast and EPM Automate is an awesome standard to interact with the PBCS through the REST API, but it also fair to say that you can want more capability / flexibility and at some stage will need to do more than just scratch the surface. This is where we want to integrate directly with the PBCS REST API and Groovy gives us this ability with advanced coding/programming capability to better meet more specific requirements. Below is a diagram illustrating the above in more detail.