Creating Business Components

Business Components provide a mechanism to provide non-persistent business logic (as opposed to business entities that add to persistent objects). An example business component is as follows:


/**
 * Component used to query for {@link Person} instances based on various
 * predefined criteria.
 *
 * @BusinessComponent
 *   (customizationReplaceable = false)
 */
public class PersonFinders_Impl
    extends GenericBusinessComponent
    implements PersonFinders
    /**
     * @param   nameType  a name type
     * @return  count of names by name type
     *
     * @BusinessMethod (customizationCallable = true)
     */
    public int findCountByNameType(Lookup nameType) {
        Query query = createQuery
            ("FROM PersonName name where name.nameType = :type");
        query.bindLookup("type", nameType);

        return (int) query.listSize();
    }

To add a new component:

  • Create a new implementation class.
  • Specify appropriate annotations for a business component implementation class.
  • Code business methods.
  • Specify appropriate annotations for business methods.
  • Create a JUnit test.
  • Generate artifacts.
  • Run JUnit tests.
  • Deploy to runtime.
  • Test in runtime.