Clone this wiki locally
Welcome to the OpenRichServices wiki!
This is an implementation of the OpenRichServices Architecture Description Language (ADL) built as a Domain Specific Language (DSL) using Clojure.
It introduces the notion of RichService, which is a way to compose services while separating the core application concerns from infrastructure concerns.
Basic services are implemented as Clojure functions that transform messages.
Composite services are “rich” by offering the following:
- application services (basic or composite)
- infrastructure services (basic or composite)
- transforms, which influence/manipulate application with infrastructure services. A transform can specify pre- and post-bindings.
- schedule, which allows you to specify service execution on a schedule.
Furthermore, there is a deployment sublanguage, which allows you to launch deployment nodes (separate JVMs), and to deploy service instances on them.
src/examples folder has examples for using the language.