Dipforge Daemon Programming
Dipforge provides a back-end that manages the deployment and un-deployment of daemons. Daemons are Dipforge's back-end business objects and processes. Unlike a traditional application server, Dipforge does not implement EJB's but instead implements daemons.
Daemons are simple light weight containers that are defined by an interface and implemented as POJOs.
There are a number of advantage achieved by using daemons in this way:
- Unit testing can be performed outside of the container
- All daemons are bound to JNDI.
- The container boundary around a Daemon manages transactions and security.
- If a daemon needs to be accessed externally it need only implement Remote. This makes it accessible to any other system in the Dipforge environment.
- Daemons do not tie you to a particular persistence framework, that is left up to the actual implementation.
- Daemons can implement threads or thread pools. These threads are associated with a user and can interact with the container boundaries, meaning threads will not be able to roughly access resources.
- Daemons can implement factory patterns by either returning a simple POJO or a complex Remote object. If a remote object is returned it will be cached for a specified period of time before being flushed. This means implementing simple session patterns such as JMS can easily be achieved.
Note: Programming a daemon is normally not required with Dipforge as the Rapid Development Environment will take care of most development requirements.
Daemon Programming Documentation