FastConnect TIBCO Factory is a software factory, and not to be thought of as a framework, in that it gives tools to develop, build, package, deploy, manage and monitor TIBCO applications and environments but no implementation of functional or technical services.
FastConnect is plug-in based. The available plugins:
- BWMaven
- CodeReview
BWMaven:
BWMaven is a Maven plugin to enable Java-like life cycle in TIBCO BusinessWorks projects. It includes dependency management, EAR & Projlib compilation, advanced configuration management etc.
It is the process of making BW project into complete maven project. It can be simply done by adding a POM file to existing TIBCO BW project. Best practices are to have one root POM file and then using it for individual POM files to add common dependency like logging and error framework.
Once project is changed to maven project it can use TIBCOFactory plugin and below snippet can be used to create simple project
Sample POM file:
Create Project Command:
mvn archetype:generate -DarchetypeGroupId=fr.fastconnect.factory.tibco.bw.maven -DarchetypeArtifactId=archetype-bw-default-project
Open designer command:
mvn bw:launch-designer
CodeReview:
This plugin is to run automated code review for TIBCO Business Works project and generates reports based on rules defined. It has also provides feature of adding custom rules in code review architecture.
Sample Code Review File:
The above file will give score for each and every section so that developers can easily rectify them.
It implements following measurements and it also allows users to define custom rules:
General Configurations:
- Non-overridden default namespace.
- Namespace collision.
- Resources that has a hard coded configurations.
- Naming convention.
Maintainability
- Number of activities (complex processes).
- Process design width and height (complex processes).
- Complex input mappings.
- Starter processes that has output.
- Unlabeled transition.
- Uncommitted processes.
Efficiency
- JMS Selector can slow down EMS server throughput and increase CPU load
- Nested loops.
- JMS Synchronous activities are inefficient for scalability.
- Critical section on a Job Shared variable.
- Critical section on a single shared variable.
Portability
- Calling external commands.
- Using the Java Code activity.
Reliability
- Nested Transactions.
- Recursive calls.
- Using JDBC SQL direct.
- Using unknown JMS properties.
- No out transition.
- No otherwise transition.
Errors
- Invalid import.
- Mapping Error.
- Unknown resources.
BWMaven: https://github.com/fastconnect/tibco-bwmaven
FCCodeReview: https://github.com/fastconnect/tibco-codereview