The testing of software begins before it is run in a test environment. In addition to module testing in the development environment, we have good experience with tools for static code analysis as a way to increase software quality. Appropriate tools are available for different programming languages and applications, for instance for Java as an integration into the development environment.
There are two points which need to be taken into account when implementing integration solutions based on IBM Integration Bus: First, the ESQL code that contains mappings and integration logic. Second, the message flows that represent the work flow for processing messages. In both cases, it is desirable to check the existing implementation against best practice approaches even before the message flow is run in a test environment.
Best practices have been developed for the implementation of integration solutions using the IBM Integration Bus as part of several integration projects of EXXETA AG. The resulting rules have been used in the development of two sonar plugins: the sonar-esql-plugin and the sonar-msgflow-plugin. The sonar-esql-plugin examines ESQL code and detects typical errors in programming. The sonar-msgflow-plugin checks message flows for configuration of individual integration nodes and the interconnection between the nodes, and displays common sources of error.
A tool for static code analysis of ESQL source code from IBM Websphere Message Broker / IBM Integration Bus projects.
A tool for static code analysis of message flows / integration flows developed for the IBM Websphere Message Broker / IBM Integration Bus.
The existing implementation of both sonar plugins serves as a basis for static code analysis of message flows. In addition, EXXETA offers the following services to help integrate the tools into your development process and to meet the code analysis requirements of your company:
- Integration of plugins in your infrastructure
- Configuration in accordance with your project or company standards
- Further development based on your project requirements