Business objects, then, are a means to access corporate data.
This is
a first, but nonetheless important, step.
An immediate advantage, obviously, is that
business objects may be defined according to actual business
needs, instead of being dictated by (relational) technology.
More generally, business objects may be regarded as
abstractions underlying the definition of business processes.
In the following we will explore whether we can
generically define business processes and
whether there is a collection of abstractions
that we may denote as business objects.
The SanFrancisco framework
In the white paper accompanying the introduction of the SanFrancisco framework, we read that the project was started when several software vendors asked IBM to help in modernizing their application products. These vendors asked for help because there were several barriers that prevented them from modernizing their applications themselves. Barriers such as (1) the risk in moving to new technologies (such as client/server and the Web), (2) the need to retrain their development staff to effectively use an object-oriented approach, (3) the cost of change. As the white paper states, as software developers they needed some basic infrastructure, and most companies could not afford to develop this infrastructure themselves. The SanFrancisco framework provides such an infrastucture, and moreover, the white paper claims, an object-oriented infrastructure that provides a consistent application programming model, with many well-tested services and a collection of core business process components and common business objects.
To enhance this logic, that is to be able to execute more strict quality control, one may derive a new Receipt class from the old Receipt class and override the method by which to determine whether quality inspection is required, for example by including a check on the supplier, previous outcomes of quality control, or whether it concerns hazardous materials or high-value products.
As a remark, note that this approach assumes
that the business logic is to a large extent
hardwired in the (structure of the) classes of
the framework,
whereas a decoupling of the logic and the actual
processing might be preferable.
Discussion