CAF provides a DataSource for each application service operation that is marked as BI Extractor. Each time an extract request is initiated from BI this method is called with the corresponding parameters and the returned result is returned to BI. The signature of this operation always returns a collection of a particular CAF structure and the BI DataSource provided by CAF represents this structure. For most structure attributes there is a field in the DataSource. Attributes of the following types are not part of the DataSource:
· BASE64BINARY
· HEXBINARY
· String attributes with length greater than 255
· Complex attributes and attributes with cardinality > 1
For attributes of type DATETIME, CAF defines three fields in the DataSource:
· DATE
· TIME
· BIGINT (containing the time in milliseconds)
We want to extract in BI only those teachers who do not have subjects assigned to them. For this purpose we create an application service TeacherService. We add to this service BI extractor operation, called extractTeachersWithoutSubjects, which returns a collection of a structure Teacher with the following attributes:
Name |
Type |
key |
caf.core.services.Id |
name |
caf.core.primitive.STRING |
age |
caf.core.primitive.INT |
The DataSource that CAF would provide for this BI extractor method would contain the following characteristics: (assume that CAF_BI_DATASOURCE_NAME_PREFIX = E41)
DataSource name: E41extractTeachersWithoutSubje
Name |
SQL Type |
KEY |
VARCHAR |
NAME |
VARCHAR |
AGE |
INTEGER |