JeeWiz Home  
The Model-Driven System Builder

JeeWiz Architect's Guide
 
Contents
 


Chapter 14.  'Business Object' Reference

This model adds value to the Java meta-model to create 'business objects'.

The Business Object Model (BOM) addresses data-manipulation features such as:

  • getters and setters for fields to implement bean conventions, with readable/writeable data items. All fields (and attributes) defined on objects in a BOM will have getters/setters automatically created for them.

  • constraints, for specifying business limits without writing code. Most of the items you can specify in the BOM can have constraints, including fields, parameters, methods and the objects themselves.

  • value-added templates for defining the infrastructure code to be implemented on methods or business methods.

  • the split between the base and implementation classes. This split is implied by the need to have user-defined code surrounded by the features described above - getters/setters, constraints and value-added templates The base class is completely defined by JeeWiz; if either the templates or the specifications change, this class will be completely rewritten. The implementation class is created on the first build, with a do-nothing skeleton for each method that needs to be implemented.

  • the above features are implemented in the 'internal-class' - a class intended to provide internal impelementation features only.

    The Business Object Model also has the notion of exposing objects, methods and data automatically to a caller. You can do this in the BOM simply by creating business-objects, business-methods and attributes. These are the 'exposed' versions of jwclasses, methods and fields.

    You can have both business-methods and methods, or attributes and fields, on the same business object. The methods and fields should be used for internal implementation, the business-methods and attributes for exposing to callers. 'Exposing to callers' is done (automatically by JeeWiz) by creating an interface and implementing that interface on the base class. The attributes will be exposed by defining the appropriate getters and setters on the created interface.

  • the notions of
    • sessions (controller/manager objects)
    • entities (passive data storage)
    • persistent storage of entities
    • value objects (mapping entities into a serializable representation for transmission).

  • relationships between entities.
The method and field concepts in the BOM 'override' the same concepts from the OM, adding getters/setters and constraints.

The 'internal-class' is the basic class which has getters/setters, constraints, value-added templates and base/implementation classes. This extends the java:jwclass.

The 'business-object' extends the 'internal-class' by adding the facilities for exposing services to a caller.

If you want to add functionality (i.e. write value-added templates) on objects that is not tied to a particular deployment platform, this is the place to do it.


Model Information
NamebusinessObject
DescriptiveNameBusiness Object
Packageuk.co.nte.jw.components.businessObject

14.1  Application Object

14.2  Assembly Object

14.3  AssociationEnd Object

14.4  AtomicType Object

14.5  Attribute Object

14.6  AttributeCollection Object

14.7  BaseView Object

14.8  BaseViewEnd Object

14.9  BaseViewField Object

14.10  BaseViewRelation Object

14.11  Bean Object

14.12  BomCreator Object

14.13  BusinessMethod Object

14.14  BusinessObject Object

14.15  Constraint Object

14.16  DataView Object

14.17  DataViewEnd Object

14.18  DataViewField Object

14.19  DataViewRelation Object

14.20  DataViewToAttributeMapper Object

14.21  End Object

14.22  Entity Object

14.23  Field Object

14.24  Interface Object

14.25  InternalClass Object

14.26  JarBase Object

14.27  JavaBean Object

14.28  KeyMap Object

14.29  Method Object

14.30  Parameter Object

14.31  Property Object

14.32  Query Object

14.33  Relation Object

14.34  RoleGroup Object

14.35  ServerJar Object

14.36  ServiceTransferObject Object

14.37  Session Object

14.38  StoEnd Object

14.39  StoField Object

14.40  StoRelation Object