In this post, I will show you how to configure IBM Rational Insight to extract data from IBM Rational DOORS using the RIF integration method. In this scenario, I am using Rational Insight v220.127.116.11 & Rational DOORS v18.104.22.168. This is based on documentation I created on September 9th, 2011 and it is still valid as of this post. However, if you are using Rational DOORs v9.5.1 or higher, you should leverage the more optimal REST interface integration provided by the IBM Rational DOORS team here.
The way to achieve this integration is to point Insight to a DOORS RIF file (which is exported from DOORS) that contains the necessary data to be reported on. Before I begin, let’s review some key things to keep in mind to communicate to your DOORS Developer whom will be defining the content of the DOORS RIF file for you to point to from Insight.
- Ensure that all of the necessary fields that you are looking to capture in Insight are available in the DOORS view in the RIF file.
- Only String and Integer field types of DOORS are consumable in the RIF format. If you’ve got some fields stored in a Text type field, for example, that you require, then you must create another new field of type String and write a DXL script to populate that “Text” field’s data in the new field. It will then be consumable in the RIF format.
Now, let’s start with the integration..
Configuring the XDC file – There are two different methods when pointing to a RIF file
Method 1 – Pointing to a static RIF file
1) Let’s say that the DOORS developer has created and exported a RIF file and placed it on your C drive (Windows OS) of your Insight developer machine. In this scenario, here is how you would configure the XML Data Configuration tool (XDC) to point to this RIF file, called myRIF3.xml.
2) Launch the XDC tool and open the doors.xdc configuration file (by default, located here: (Insight_install_directory)\etl\configs\Configurations)
3) Traverse through the Resources directory until you reach the Resource Group level. Double-click on the DOORS resource group and ensure the URL Type is set to RIF, the URL is pointing to the correct directory of the RIF file on your local machine (in this case, the C drive), and Authentication type is set to None. (Note: You can optionally test the connection at this point by click on Test Connection but this does not mean that you are successfully integrated with the RIF file just yet).
4) Next, double-click on the Resource named doors and ensure that the relative path references the name of the RIF file
5) Now, you must verify that you can review the contents of that RIF file from Insight. Double-click on one of the Data Mapping Tables, let’s select Header. Then click on the Columns tab at the bottom left of the workspace window
6) Now click on the Modify link to view the XML schema of the RIF file against your data mapping table
7) If you have completed all of the previous steps successfully, then you should now see the XML schema of the RIF file under the section labeled XML Schema. If that section comes up blank, then there is either an issue with the source RIF file or you may have missed one step above.
Method 2 – Pointing to the RIF Exporter Service
The other method that could be used to extract data from DOORS into Insight would be to point to the RIF Exporter Service. The RIF Exporter Service is an IBM Services asset that automates the generation of RIF files. For more information, contact your local sales representative.
Assuming you have the RIF Exporter Service deployed, here is how you would configure Insight to leverage it.
1) Launch the XDC tool and doors.xdc file (as shown in the steps above). Traverse through the Resources directory until you reach the Resource Group level. Double-click on the DOORS resource group and ensure the URL Type is set to RIF.
The URL must be pointing to the RIF file located at DOORS RIF Exporter service. Sample syntax is: http:/DoorsServices/DOORS/InsightP?rifdef=. Here is my example: http://localhost:9080/DoorsServices/DOORS/InsightP?rifdef=myRif3
The Authentication type should be set to Basic and you must enter credentials that have access to the source DOORs deployment. You may now click on Test Connection to verify that you can communicate with that file.
2) Next, click on the Resource doors and verify that the Relative path box is empty. You have already specified the file name at the Resource Group level, which is used as part of the URL for validation.
3) Now, double-click on the Data Mapping Table named SpecObject (which provides the basic data around DOORS objects.
4) Click on the Modify link at the top right of the workspace
5) If you now can view the XML schema on the left without any error messages then everything that is being mapped in your Relational table columns does exist in the RIF file. You can move on to Step 2.
6) However, if you receive an error message like this, and see fields highlighted in red, then this means that there is something that exists in your mappings in Insight that does not exist in the RIF file. You will need to verify the contents of what is available in the RIF file with your DOORS administrator.
7) In this example, you will modify the XDC mappings to capture only the fields that they would like to extract from DOORS. If they go back to the Data Mapping Table view (in Columns tab), select the columns that you do not currently want to capture, and click on the Unload link at the top right.
The view will now look like this:
8) Click the Save button. Also, make sure to save any other windows you have open in the XDC tool if applicable.
Configuring the Extract Transform Load Process
1) Launch IBM Cognos Data Manager and open your current ETL catalog.
2) Navigate to the Operational Data Store (ODS) section, and expand the DOORs folder. These are the out of the box DOORS fact builds that ship with Insight.
3) In this example, you need to configure the DOORS object, so click on the DOORS_Stg fact build and then double-click on the DataSource1 node in the workspace on the right.
4) Click on the Query tab
5) Here you find the DOORS Data Mapping Tables (as defined in the XDC tool) on the left hand side, and on the right, you see the out of the box SQL Query for the SpecObject table.
You need to modify the SQL Query so that it matches what data is currently available from DOORS, based on your previous mappings.
6) The simplest way to do this is to right-click on the SpecObject node and select Add Table select statement.
This will automatically remove the existing SQL Query and replace it with a SQL Query that will extract everything in your current SpecObject mapping table. It should look like this.
7) You should validate the data here, so click on the green triangle button to return all rows. This will query the DOORS RIF file and return the data queried. You should review these results to ensure this is what you are expecting.
8) Now, click on the Result Columns tab, and then click on the Refresh button on the bottom left to refresh the result columns that you now will return. Then click on Ok.
9) At this point, you would continue to configure the ETL just as you would for any other data source (business as usual). You will need to repeat the above steps for each Data Mapping table or entity that you would like to extract into Insight.
This blog post demonstrated how to configure Rational Insight to extract data from Rational DOORS. First, I showed how you integrated Insight with the DOORS RIF file and verified that it could see the source data. Second, I modified the XDC file and exposed the DOORS data that we were interested in extracting into Insight. Finally, I configured the Data Manager ETL fact to realize the source data via the SQL Query window.