Taking inspiration from Torsten Curdt's "Don't reinvent the wheel" presentation at ApacheCon 2008, it will shown how Fluent interfaces allowed components evolve in Apache Commons and Apache Cocoon.
Small reusable components are the lifeblood in our daily work, they ease the software construction and allow us to avoid code redundancies. And they are best, when they are independend to other frameworks or products. Take the electronice components on circuit boards as an example.
But how pain-less is adopting libraries in projects? Are new APIs smart enough that developers can find very intuitive to read and write? And are they then still readable by business users?
A new Embedded Domain-Specific Language approach relatively recently emerged in the programming languages world. In the Apache-world people are taking advantage to refurbish old wheels and make them rounding like in their old glories!
In this talk we analyze EDSL on the example of Apache Cocoon 3 Pipeline API, the foundation of Apache Cocoon. Then we'll move on to Apache Commons and show example in Apache Commons Chain2, Digester3 and Proxy2 Proper components as well as the BeanUtils2, Graph and Meiyo experimental Sandboxes.