It follows a component based development approach, promoting modularity by having formal units with well defined inputs and outputs (aka components).
The main features and concepts of the framework are:
- An application is expressed as a set of concrete individual building blocks (components)
- each component offers interfaces and has interface requirements (receptacles)
- the composition of components and their interconnections is specified in a configuration file
- the user can then instantiate a composition (called application description) and start interacting with the component composition
- the framework also supports the concepts of interceptors between components, callback interaction patterns between components and the ability to replace components at runtime.
The framework tries to have a simple useful API and development approach.
There is more documentation on the project web page.
I hope you find it useful. The ultimate benefit with such an approach is that a system has a clear and modular design
which facilitates its the development and maintenance. If you like the approach you are very welcome to extend the system.
Joined: Mar 24, 2013
its been a while since I had time to work a bit on my framework,
in the meanwhile I've fixed some small bugs and I have moved it to Github
I've tested it quite a lot and it is in a good shape.
The framework is essentially an advanced dependency injection core, going once step further in defining software components,
mapping a component to a Java class which explicitly provides and requires Interfaces and defining how an application is composed
from instances of these interconnected components. It is similar to Spring dependency injection in a way, but going one step further to define software components
a bit more formally.
I have put also a manual in github (which needs a bit of updating, but essentially contains all the core concepts) which
contains a lot of examples.
Any suggestions are welcome,
and also if you want to contribute you are very welcome!