Writing Domain-Specific Languages with Groovy
43a03b51-3941-44ab-a763-8ccee89dffc5
|
Presentation |
Abstract
Domain-Specific Languages are an "architectural hot-spot", as coined
recently by InfoQ editors. With dynamic languages such as Groovy, it
is easy to create a mini-language modelling a particular business
domain. Thanks to these DSLs, developers and subject matter experts
will be able to share a common metaphor, to deliver, hand in hand, the
final application to the end users.
Outline
Groovy offers a great deal of flexibility in terms of concise and
expressive syntax, and through its dynamic nature. After an
introduction to the Groovy dynamic language, and to the concepts
of DSLs, their motivation, strenghts and weaknesses, Guillaume Laforge,
project lead of Groovy and spec lead of JSR-241 standardizing
the Groovy language, will guide you through the advanced Groovy
concepts that will help you create your own embedded DSL. He will show
you how to integrate them in your JEE application, and also explain
how to best design such business languages to ensure their adoption by
the end users, their quality, testability, andcapacity to evolve over
time to suit the needs of the day.
In the IT industry, understanding the domain within which customers
evolve is a key factor in the success of a project. From this domain
and its wealth of concepts, as software developers and architects, we
can derive a design that is aimed at solving problems encountered in
the day-to-day business. So far, we mostly solved these brainteasers
with computer science paradigms like Object-Oriented Programming,
n-tier architectures, or with tools such as rules engines to stay
close to the domain at hand.
In this session, our goal will be to investigate how the paradigm of
Domain-Specific Languages can be leveraged to help our teams build
solutions closer to our users' needs and requirements, and how it can
provide a viable, efficient and expressive alternative problem-solving
pattern. The technology of choice for enabling DSL solutions for your
projects will be Groovy, a dynamic language for the Java platform.
-
Guillaume LaforgeGuillaume Laforge is the Groovy Project Manager, and Spec Lead of JSR-241, the Java Specification Request standardizing the Groovy dynamic language in the Java Community Process.As Vice President Technology of G2One, the company dedicated to the development of Groovy and Grails, he provides professional services around those technologies (training, support, and consulting).Guillaume co-authored the Groovy in Action best-seller book for Manning, and reviewed and wrote forewords for most of the Groovy and Grails books on the market.You can meet him at conferences around the world where he evangelizes the Groovy dynamic language, and the agile Grails web framework.



Intermediate
Emerging Technologies