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.