Placed in: Home arrow Useful arrow Tips arrow Getting Groovy in an SOA viagra australia
viagra online
viagra sale
cialis online
cialis australia
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.

Getting Groovy and Grails in an SOA

More information about the paper:

  • Written in English (By dutch students, so please forgive any spelling mistakes).
  • A total of 74 pages
  • Explains many aspects of Groovy, you could use the first couple of chapters as a cheat cheet for Groovy.
  • Pretty nice styled and easy to read

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!

Getting Groovy in an SOA

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.

You can also read more research papers from fellow classmates about Spring & OSGi and Webservice Transactions (Dutch).

Summary

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

  1. Introduction
    1. Objective
    2. Research Questions
  2. Groovy
    1. What are the characteristics of Groovy?
      1. Dynamic Language
      2. Groovy Development Kit
      3. Imports
      4. Semicolons
      5. Data type declaration
      6. Groovy String
      7. Embedded quotes
      8. Heredocs
      9. Collections
      10. Declaring Classes
      11. Return statements
      12. Checking NULL value
      13. Boolean
      14. Operator overloading
      15. Parentheses
      16. Closures and blocks
      17. Loops
      18. Exception handling
      19. Interfaces
      20. Annotations
      21. Testing
      22. Working with databases
    2. Meta Object Protocol
      1. Interceptable
      2. Categories
      3. Expando
  3. Webservices in Groovy
    1. Creating, manipulating, validating and parsing XML
    2. SOAP-based webservices
      1. GroovySOAP
      2. GroovyWS
    3. RESTful webservices
    4. Securing webservices
  4. Grails
    1. Scaffolding
      1. What is Scaffolding?
      2. Scaffolding in Grails
    2. GORM
      1. Using GORM with legacy database schemas
    3. REST in Grails
      1. How to create a REST environment in Grials
      2. Getting it to work
  5. Conclusion
    1. GDK
    2. Groovy in a SOA
    3. Grails
  6. Recommendations
  7. Bibliography
  8. Glossary
  9. Appendices
    1. Contacts Schema
    2. Address Controller
    3. RESTful Webpage

Screenshots

Headings

Images

Code

Download

Getting Groovy in an SOA

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

Did you like this article? Subscribe to my feed or email to keep updated on new articles.

Spread the word and submit to:
Digg!Reddit!Del.icio.us!Facebook!StumbleUpon!
 
< Prev   Next >
Subscribe

Subscribe to Marcofolio