Introducing TIBreview: an Automated Quality Code Review Tool for TIBCO BusinessWorks 6

Teiva Harsanyi
2 min readSep 17, 2016

After having introduced reactiveWM, a framework for implementing reactive designs on webMethods, I would like this time introduce another development of mine based on TIBCO: TIBreview.

This project is an automated quality code review tool for TIBCO BusinessWorks 6 projects. In a nutshell TIBreview is based on an extensible and configurable engine for running automated rules in XPath or Java. At the end of an automated check, it can generate a report in a CSV or a PMD format (directly integrable in Jenkins or Sonar).

So far, TIBreview is capable to analyze two types of BusinessWorks assets: processes and resources. For the first release, about 50 automated rules have been implemented:

  • Checking forbidden activities: Checkpoint, Copy File etc…
  • Global TIBCO conventions: process description missing, default namespace used, process size, number of activities per process, missing Catch All activity etc…
  • Transitions: missing label on a conditioned transition, missing Empty activity after a transition parallelization, conditioned transitions without a no matching one
  • Critical sections: make sure a blocking activity is not called within a critical section scope
  • Process calls infinite cycles: for example Process A –> Process B –> Process A
  • Resources: hardcoded values
  • Etc…

Because each context is unique, it is also possible to quickly enable/disable rules and to easily implement new ones. So if you are interested to do it because you developed, for instance, your specific BusinessWorks framework, you should give it a try. TIBreview can be used during developments (manually triggered by a develop for example) or in the scope of a continuous integration process.

For more information, check out the Github page: https://github.com/teivah/TIBreview

Last but not least, if you are interested in working on the project, please let me know 😉

--

--

Teiva Harsanyi

Software Engineer @Google | 📖 100 Go Mistakes author | 改善