Paul King
co-author of "Groovy in Action"
Presentations
Groovy Power Features
Groovy is a dynamic language for the JVM; it’s like a super version of Java. For Java programmers, it offers a syntax that closely resembles (in some cases exactly resembles) Java, but offers many improvements that not only greatly simplify code but also provide an enriched environment with many productivity features. In many cases, such features are promised in Java versions 7 and later, but they are available today in Groovy.
Some of the power features of Groovy you’ll learn about are: • Leveraging Groovy’s features to write DSLs • Writing Web Service servers and clients in a few lines of code • Replacing Design Patterns with language features and/or libraries • Talking to the Polyglot world from Groovy: Scala, Clojure, Jython, JRuby, JavaScript and Jaskell • Harnessing constraint/logic and functional programming • Simple but powerful tests • Simplify how you write build tasks • Accessing Hibernate through GORM • Harnessing parallel processing • Leveraging Spring and OSGI
Dynamic Languages Practices
Developer practices for traditional and agile Java development are well understood and documented. But dynamic languages (Groovy, Ruby, and others) change the ground rules. Many of the common practices, refactoring techniques, and design patterns we have been taught either no longer apply or should be applied differently and some new techniques also come into play.
In this talk, we'll relearn practices needed for dynamic languages. Along the way we will look at typing, design patterns, refactoring, functional style, SOLID principles revisited and more.
Agile Tools - Taking Your Agile Practices To The Next Level
Tools and practices as subscribed by the XP methodology are reasonably well known and used by the majority of agile project teams. As agile teams become more mature, so does their thirst for tools to push them to the next level of productivity.
In this talk, we will walk through a number of project tools used by some teams we work with. In some cases, we will explain how we hacked tools that you may already be using to make them more efficient or useful. In other cases, we’ll describe new tools designed by teams we have been working with who are trying to move to the next level.
- Lightweight storycard tools - Hacking tools like Jira + GreenHopper and XPlanner
- Collaboration tools - getting the most from tools like Confluence and Sharepoint
- Continuous Integration tools - using Hudson for build and environment management, using Scoreboard for visual and audible monitoring
- Testing tools - using WebTest, Groovy and DSLs to take testing to the next level
- Development Environments - testing your development environment, keeping development environments consistent, scripting your machine builds
- Deployment tools - using tools such as Tableaux, testing your deployment scripts
- Development tools - hacking your IDE, plugins, visualising your version control system
- Monitoring tools - live dashboards for better understanding characteristics of your production systems in real time
- Tools backlash - examples where computerised tools failed us and we reverted to other means
XML and Web Services with Groovy
Groovy provides excellent facilities for parsing and creating XML. As well as providing syntactic sugar on top of traditional Java-based parsing approaches (e.g. SAX, DOM, StAX), it has its own XmlParser and XmlSlurper libraries which support XPath-like expressions at the object level (akin to LINQ in the .Net world). In addition, Groovy's markup builders provide an elegant and efficient way to create and modify XML. Groovy also has various options available for SOAP and RESTful web services. We'll examine the most popular of these.
We'll cover: * Reading, creating and updating XML using various approaches including the pros and cons of the various parsers and markup builders * dealing with XML namespaces and XPath * using other XML frameworks: XOM, Dom4j, JDom * integrating with XSLT, XQuery and validators * treating non-XML like XML * GroovySOAP, GroovyWS and Spring web services * JAXB, XmlBeans, CXF and Axis2 for SOAP web services * XML-RPC and RESTful options, RSS, ATOM * trade-offs using Apache Xerces or with native XML support on 1.4 through to 1.7 JVMs * Testing Web services with SoapUI * A quick look at Groovy integration in common XML/web-service tools * Groovy use in web service related products including ESBs and SOA frameworks
Books
by Dierk Koenig, Andrew Glover, Paul King, Guillaume Laforge, and Jon Skeet
-
Groovy, the brand-new language for the Java platform, brings to Java many of the features that have made Ruby popular. Groovy in Action is a comprehensive guide to Groovy programming, introducing Java developers to the new dynamic features that Groovy provides. To bring you Groovy in Action, Manning again went to the source by working with a team of expert authors including both members and the Manager of the Groovy Project team. The result is the true definitive guide to the new Groovy language.
Groovy in Action introduces Groovy by example, presenting lots of reusable code while explaining the underlying concepts. Java developers new to Groovy find a smooth transition into the dynamic programming world. Groovy experts gain a solid reference that challenges them to explore Groovy deeply and creatively.
Because Groovy is so new, most readers will be learning it from scratch. Groovy in Action quickly moves through the Groovy basics, including:
Simple and collective Groovy data types Working with Closures and Groovy Control Structures Dynamic Object Orientation, Groovy style Readers are presented with rich and detailed examples illustrating Groovy's enhancements to Java, including
How to Work with Builders and the GDK Database programming with Groovy Groovy in Action then demonstrates how to Integrate Groovy with XML, and provides,
Tips and Tricks Unit Testing and Build Support Groovy on Windows An additional bonus is a chapter dedicated to Grails, the Groovy Web Application Framework.
Early PDF chapters of Groovy in Action are available from the Manning Early Access Program (MEAP) at http://www.manning.com/koenig. As part of this program, readers can also discuss the early manuscript with the author and help shape the manuscript as it's being developed by joining the Author Forum.
-
Groovy, the brand-new language for the Java platform, brings to Java many of the features that have made Ruby popular. Groovy in Action is a comprehensive guide to Groovy programming, introducing Java developers to the new dynamic features that Groovy provides. To bring you Groovy in Action, Manning again went to the source by working with a team of expert authors including both members and the Manager of the Groovy Project team. The result is the true definitive guide to the new Groovy language.
Groovy in Action introduces Groovy by example, presenting lots of reusable code while explaining the underlying concepts. Java developers new to Groovy find a smooth transition into the dynamic programming world. Groovy experts gain a solid reference that challenges them to explore Groovy deeply and creatively.
Because Groovy is so new, most readers will be learning it from scratch. Groovy in Action quickly moves through the Groovy basics, including:
Simple and collective Groovy data types Working with Closures and Groovy Control Structures Dynamic Object Orientation, Groovy styleReaders are presented with rich and detailed examples illustrating Groovy's enhancements to Java, including
How to Work with Builders and the GDK Database programming with GroovyGroovy in Action then demonstrates how to Integrate Groovy with XML, and provides,
Tips and Tricks Unit Testing and Build Support Groovy on WindowsAn additional bonus is a chapter dedicated to Grails, the Groovy Web Application Framework.
Early PDF chapters of Groovy in Action are available from the Manning Early Access Program (MEAP) at http://www.manning.com/koenig. As part of this program, readers can also discuss the early manuscript with the author and help shape the manuscript as it's being developed by joining the Author Forum.



