About JavATE ApplicATE

When you have an object model, it is time to build at least an application with it. ApplicATE helps you writing application services.

The idea on which ApplicATE is build is that most part of applications way of interacting is:

  1. you browse between a network of objects
  2. once you have reached the object you are interested in you send commands to it

So Applicate has two kinds of services:

  • Browsers
  • Commands

The most common way to browse objects is using a list. So ApplicATE has interfaces and implementations for browsers that maintains a list of objects and enables you to filter, sort and select them. These objects usually come from a repository defined in your object model. If you used the Dominate Repository interface you don't mind where your objects are persisted. They can be in a relational database, in a LDAP directory or a JCR content repository, you can browse them all in the same way.

Commands, instead, are objects that encapsulate the execution of an operation. If your application users (human or computers) have to execute an operation you can implement a command with an attribute for each parameter the operation needs. Then using the doCommand() method you can trigger the operation execution. Using commands you have a lot of advantages. For example you can create composite commands at runtime, transform a command in a transaction using a decorator or collect the list of the commands the user executed to implement an undo list.

Read the ApplicATE User Guide