TIBReview is an automated tool for analyzing the quality of a TIBCO BusinessWorks 6 project. It provides:
So far the process and resource assets.
In terms of process quality check:
In terms of resource quality check, TIBReview is able to detect hardcoded values (HTTP Client maxTotalConnections, FTP Connection username, JDBC Connection dbURL hardcoded etc…).
In total, TIBReview provides about 50 automated checks for the first version (and we keep working on it to improve the quality coverage).
Yes you can and you should ;) Because each context is unique, it was important to have an extensible engine to be able to easily and quickly implement new quality rules. The rules logic is defined in the tibrules.xml file.
For a process, you can implement two types of rules: XPath or Java.
An XPath rule can be pretty straightforward to implement and most of TIBReview rules are based on this mechanism. At runtime, the XPath request will be analyzed to replace each %property% by the value defined in the configuration file (see hereunder for more details) and each xpathFunction by the value defined in the tibrules.xml. An xpathFunction is a simple way to keep readable your tibrules file without having to duplicate an XPath statement.
Yet, it is also possible for complex rules implementation to do it directly in Java (for example cycle analysis). You must create a new class in com.tibco.exchange.tibreview.processor.processrule.java extending the PRJava abstract class. For a concrete example, take a look at com.tibco.exchange.tibreview.processor.processrule.java.PRCycleCheck.
It is also possible to add complex conditions management and to use if / elseif / else statements. For example: "If this is a top process, I want to check this XPath rule but if this is a sub process, I want to check that Java rule".
For resources, you can easily extend the tibrules.xml by adding new resource type or new property. Each property will be then checked to make sure it has been managed using a property.
You can use the config.properties file:
The JAR syntax is the following:
$java -Dlog4j.configuration=file:"
For example:
$java -Dlog4j.configuration=file:"log4.properties" -jar tibreview-0.0.1.jar -r tibrules.xml -c config.properties -i project -s C:/tibco/workspace/myProject -o pmd -t C:/output
Using Maven, you just have to run a $mvn package. A fat JAR will be packaged in the /target folder.
It would be with pleasure :) Please feel free to contact me if you would like to work on the project or for any questions / remarks.