Chapter 11. Implementing a Rules DSL

In this chapter, we will look at how we can use Groovy to build a DSL that is capable of implementing business rules for an application. The example we will use is a system for implementing rewards bonuses of various kinds as part of a promotions system for an online broadband media provider.

Our provider hosts a service that allows users to view videos and play games online. The provider needs to be able to deploy offers to his users rapidly and with the minimum amount of development time. We will come up with a Groovy-based DSL that expresses rewards in such a way that they can be rapidly developed and deployed in a language that can also be understood by business stakeholders.

This DSL relies on a new concept ...

Get Groovy for Domain-specific Languages - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.