|Getting Groovy in an SOA|
Six months ago, I've started researching a fairly new programming language called Groovy together with a couple of my classmates. Our task was to investigate Groovy, Grails, and their position in a SOA environment (Remember I wrote a review about the SOA Symposium?).
Looking back at the research, I must say I really love Groovy. It's an agile dynamic language for the Java Platform with loads of cool stuff. I'm planning on making some Groovy/Grails tutorials, just to show others how strong this programming language is.
More information about the paper:
Simply download and read the document if you're into SOA, Groovy and/or Grails (or want to learn it), a Java Programmer and want to learn something else, or another programmer that wants to learn another (fun and very cool!) programming language!
I want to thank Bart van Zeeland, Youssef Elmessaoudi, Gaya Kessler and Jaap Mengers for being my colleagues during this research. I'd also like to thank Rody Middelkoop and Sander Leer for lecturing us.
This paper is aimed at answering the following question:
'What are the characteristics of Groovy (and Grails) and what impact do they have for an implementation in an SOA within enterprise applications?'
Groovy is a dynamic language and utilizes the Java Virtual Machine. Its dynamic nature lies in the ability to alter its classes at runtime, thus allowing for constant change. Due to its foundation in Java, it can cooperate with and enrich the existing Java libraries. One of the more important features that Groovy provides, is the Meta-Object Protocol, which allows Groovy to perform its dynamic capabilities. In essence, each object has an accompanying Meta-Object which contains all properties in the form of a Map, thus allowing it to scale at runtime as needed.
When using Groovy for constructing webservices, some additional modules can be used. When using SOAP as the desired transport mechanism, the GroovyWS-module provides functionality that abstracts all of the low level transport operations through a simple interface. However, it is still in development and support is therefore minimal.Furthermore, only a very small part of the WS-Security stack is implemented which minimizes the developers choice for securing the webservices.
For RESTful webservices, Groovy's webframework Grails can be used. It has full support for all of the HTTP-request methods and provides url mapping. For exposing the SOA to its target audience, the Grails framework offers a quick start for developing a web interface that can interact with the SOA. Scaffolding allows Grails to generate both controllers and views based on the domain classes in the model, enabling rapid development. By default, all domain classes are persisted to a datastore through Grails Object Relational Mapping.
We believe that Groovy is mature enough to be used in a production environment, however Groovy's modules do not provide all needed functionality for SOA development, and therefor Java frameworks are still required.
Table of contents
Feel free to give some feedback about this document and good luck with your first steps to Groovy and Grails.
Tags: groovy grails soa research study paper school
Interested in this topic? You might enjoy another article I've written called
|< Prev||Next >|
|Or try the sitemap|