JeeWiz Architect's Guide
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:
The method and field concepts in the BOM 'override' the same concepts from the OM, adding getters/setters and constraints.
- 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 '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.
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