Sculptor 1.5.0: Eclipse RCP Productivity

Tags:

Sculptor is an Open Source tool that applies the concepts from Domain-Driven Design and Domain Specific Languages. The main purpose is to improve productivity and quality when developing enterprise Java applications.

In the latest, version 1.5.0, Sculptor provides support for developing Eclipse RCP applications.

You express your design intent in a textual specification, from which Sculptor generates high quality Java code and configuration. Sculptor takes care of the technical details, the tedious repetitive work, and let you focus on delivering more business value – and have more fun.

The DSL and the code generation drives the development and is not a one time shot. It is an iterative process, which can be combined with Test Driven Development and evolutionary design.

A simple hello world example. The design is specified with the textual DSL:

Application Universe {
basePackage=org.helloworld

Module milkyway {
Entity Planet {
scaffold
String name key;
String message;
Integer diameter nullable;
Integer population nullable;
- Set<@Moon> moons opposite planet;
}
Entity Moon {
not aggregateRoot // belongs to Planet Aggregate
String name key;
Integer diameter nullable;
- @Planet planet opposite moons;
}
}
}

From above snippet Sculptor will generate a business tier implementation:

  • Domain objects, Repository, Service a la DDD
  • Spring for dependency injection, AOP, etc
  • Hibernate persistence

Sculptor will also generate a rich client with CRUD functionality:

  • MVC design
  • RCP, JFace, SWT
  • Spring for dependency injection, communication, etc


By default it is possible to run the client application without adding any hand written code. Rather soon you would like to change the default implementation and there are several mechanisms to do that:

  • Use the GUI DSL to customize the client
  • Add hand written code in separated classes
  • Adjust code generation tempates with AOP

 

You will find a lot more samples and explanations in the Sculptor wiki.

AttachmentSize
sculptor.gif4.29 KB
helloworld_client.png68.64 KB
0
Average: 4 (1 vote)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)