For several years, we have worked on a sophisticated UML-based component tool called Evolve. It provides a powerful and practical alternative to dependency injection for creating systems.
It is now in public beta. Please try it out and let me know what you think. It currently supports Java.
You can download it at:
Screenshots can be found at:
The user manual for Evolve describes using it to create a GWT/Hibernate system.
The key features of Evolve are:
- It uses connectors and a full hierarchical component model. It is demonstrably more powerful than dependency injection.
- It works with standard JavaBeans. Create new beans, or import your existing libraries and wire them up to make new components.
- The architecture of the system is always visible via UML diagrams, which are kept completely synchronized with the code. No more hiding architectures inside UML or smattering them through the code as annotations.
- Built-in support for evolving components. Create many variants of the same system easily.
- An open-source runtime engine called Backbone
The evolution support also provides a practical and powerful alternative to aspects.
The component model at the heart of Evolve is based on 20+ years of research at Imperial College, London. The model was formally described in a recent PhD, and has the unique property that systems created using the approach are always extensible.
Remarkable claims indeed. Please try Evolve out and let us know what you think.