Domain Driven Design Framework for Java