Querying CORBA or EJB Data Sources Using InetSoft's Business Intelligence Software

Creating a CORBA query is very similar to creating XML queries. Since the output of a CORBA request is mapped to a tree, exactly the same as with an XML request, defining a CORBA query is almost identical to the process for XML queries. The only difference is that each CORBA query has an additional request parameter specification (for overriding the parameter specifications in the data source).

EJB queries are very similar to CORBA queries, but the request parameters are converted to Java objects for EJB invocation. The output values of an EJB home finder method are then converted to a data tree using similar technology. Once the data tree is created from the Java objects, the same tree path selection and table mapping can be applied to the result.

Since EJB queries are very similar to CORBA queries, the following example will explain how to create a query in either of the two data sources.
Read how InetSoft saves money and resources with deployment flexibility.

Simple CORBA Query

First, create a simple CORBA query using the ‘getAllAccounts’ request. The request does not expect any parameters.

  1. Select the ‘Bank’ data source.
  2. Select the ‘New Query’ button to create a new query.
  3. Enter the query name, “All accounts”, in the query dialog. Click ‘OK’.
  4. Select ‘getAllAccounts’ in the request combo box, and add it.
  5. Click ‘Next>>’, then select ‘Add All’, and click ‘Finish’.
  6. Select ‘_Return_’ on the output tree.
  7. Click on ‘Select Record’ to select the selection tree path.
  8. Select ‘Map to Table’ to map the sub-tree to a table.
  9. Select the columns to be included in the table.
The procedure for creating this CORBA query is exactly the same as for an XML query. For details on sub-tree selection and table construction, please refer to the Querying XML or Web Service Data Source section.

Data Source Parameters

When a CORBA object is developed, it is best to anticipate the parameters that will be used to retrieve information from the server. Although it is very easy to perform filtering in the query engine by post-processing, it is more efficient to implement the common filtering in the CORBA server itself. Most CORBA requests require some parameters in the invocation. For simple parameters, the easiest way to pass in the actual values is to define a variable for each parameter node.

The variables become part of the query variables. Users can use the standard variable entry screen to enter the variable values, or define the variable to get its value from a sub-query. In the example CORBA data source, we defined a variable, ‘ssn’, to serve as the parameter for the ‘getAccounts’ request. It should contain a social security number. The request searches for accounts owned by customers matching the social security number, and returns a list of accounts.
Read why choosing InetSoft's cloud-flexible BI provides advantages over other BI options.