Foundation Component
This is generally considered the nervous system of a Dentaku application. It provides the container instantiation and event message dispatch conduits (provided by a web component or other fat client source for events) for an application.
Code in the framework is symbiotic with the output of Gentaku cartridges. Three primary types of code are generated for the Foundation at present:
- Event Objects - Events are "Plain Old JavaBeans" – POJOs – that are generated from the UML of your model. UML entity attributes are generated into POJO fields, and they subclass foundation event base classes that provide additional functionality as the foundation evolves.
- Werkflow-based Commands - Commands are the invokers of business logic for an application, and are paired to the Events, above. While Commands may be hand coded, the typical way to create a command is by modelling it in UML with a Sequence Diagram, then letting the Gentaku cartridge create the Command class. The runtime instantiation of the Command class is initialized with the Werkflow descriptor, allowing the Werkflow engine to orchestrate the activities that are to be executed as a result of Event submission.
- Werkflow Activities - Activities are the atomic units of work in a Werkflow process. They are transactional in nature, have a single interface that returns a success/failure indicator, and are expected to generate side effects in the persistent state of the application or federated systems.
Note that these generated classes are a part of the Model, not a part of the Foundation. The Model contains classes and code that are specific to your application, while the Foundation is generic to all applications that are built on the Dentaku framework.