Centralizing Implementation Details
Client code can use the ApplicationModule, ViewObject, RowSet, and Row interfaces in the oracle.jbo package to work directly with any view object in the data model. However, just because you can programmatically manipulate view objects any way you want to in client code doesn’t mean that doing so is always a best practice.
If you need to write code that is related to setting up or manipulating the data model, it is recommended that you encapsulate such code inside methods of the application module. Whenever the programmatic code that manipulates view objects is a logical aspect of implementing your complete business service functionality, you should encapsulate the details by writing a method in your application module’s Java class. This includes, but is not limited to, code that:
Configures view object properties to query the correct data to display
Iterates over view object rows to return an aggregate calculation
Performs any kind of multistep procedural logic with one or more view objects