TIBCO has recently released ActiveMatrix BusinessWorks(BW6) 6.6.0 and BusinessWorks Container Edition(BWCE) 2.5.0 which are really big updates to the Integration products from TIBCO. In this post I will call out some of the most exciting features for both these releases.
It’s a fairly long post of all the cool stuff that’s in the new releases so please read till the very end. Let’s start with the obvious –
Under the Hood – Performance Updates
Both releases now have improved startup time of containers and applications for multi module applications e.g. App Module + Shared Modules which is a very typical case. This has been on the wishlist of a lot of users. The product team has tweaked many things under the cover to make this happen.
The new versions also has done significant improvements to have faster XML processing. XML parsing and Rendering is much faster than earlier releases which will result in lowering response times for your applications. The new XML layer optimizations will also help in using optimum memory and CPU cycles.
A new feature of Memory Saving Mode has been added to address concerns around memory utilization for applications. This has both a design time and runtime changes. Using this mode activity outputs are garbage collected as soon as the engine determines that they are not used in down stream mappings. To use this feature efficiently, one must try to store only the output data they need in local process variables so that entire activity outputs are not required to be maintained. I will be writing a separate post for Memory Saving Mode. Meanwhile here’s the link to the documentation.
BW 6.6.0 also has improvements to application restart times. There has been a significant performance boost for restarting applications while the app node is running.
Unit Testing Updates
We are now bringing support for Mocking outbound activities to BW 6.6.0 for unit tests in addition to Assertions. Let’s say you don’t have access to a database / REST API which you use in your unit test, you can now mock the output in a file and not have to worry about the external dependency for running the test. This is available in BWCE as well.
Asserting activity outputs is now easier than ever. Instead of using the ‘Primitive’ mode to assert individual elements, the user can now assert over the entire output generated by activities. This makes it easier for users to create complex assertions.
A new version of the Maven Plugin has also been released on Github to be compatible with these releases.
User Experience, Studio and Migration
Large number of refactoring cases have now been addressed in both releases to make development snappy and improve the stability of the IDE. Studio also has made updates to support better collaborative development when using GIT as source control by automatically creating gitignore files and having better validation errors reported for collaborative development. More in the docs
The size of the EAR file can now be reduced significantly with an option to not include the Studio diagram information while generating the EAR file. This would also mean lesser database storage use by Administration component and improved startup time. Link to documentation
Studio also has introduced improvements to the Unused Resources Feature. The user can decide to exclude any unused resources while generating the EAR file. This will help in improving startup time as well as well as ensure that only what’s used is in memory.
Users can now also create a module property value by combining two module properties. E.g. a FilePathMP = FileLocationMP + FileNameMP. This is a very cool feature to derive module property values from other module properties.
Users can also now create Process Starters in Shared Modules. This will help customers migrating fr0m BW5 as well as allow users to implement newer patterns in BW.
There are a lot of other migration fixes in the product including:
- Soap Header migration
- Support for comments
- Choice element support for activity inline schema
- Any element support for root elements
- Multiple fixes for global variable and inline schema migration
- Improvements XPath function migration
WSDL namespaces across modules (e.g. includes / imports)are now supported for most cases as well!
Administration Improvements
Users can now decide to enable Open Tracing directly from Admin UI(both BW6 and BWCE). This is a much better experience than using properties and allows dynamic enabling of a very powerful feature.
Speaking of Open Tracing, a lot of small improvements have been done in Open Tracing to add new tags, trace structure for activity exceptions, process names for process starters.
From a Administration perspective the following enhancements are done in the product
- Suspend and Resume process instances from TEA
- Selective starting of process starters (choose which process starters to initialize when application starts)
- Download EAR files from TEA UI
- User information in Command History tab
- Under the hood improvements for Database optimizations
New Features
The interesting bit. These are not just improvements but net new features. The first one I would like to highlight is a BWCE only feature – Hot Update of Application Properties. If you are using a config management system and using module properties in your processes, you can now update the module properties without having to restart your containers. This works for new jobs that are created after module properties are updated. It’s currently supported for only processes. A good use case would be to adjust business logic e.g. discount rate dynamically. More in the documentation
The second important feature is Remote Debugging a BWCE Container. This allows you to use Business Studio to debug any BWCE container and see job data directly for jobs being executed and also set breakpoints. This is extremely cool since now you can easily connect to the container and peek inside to see what’s happening.
HTTP 2.0 support is now added for the HTTP Palette. We support a new Jetty Client library for HTTP 2.0. Similarly IPv6 is now officially supported for palettes and bindings which use the HTTP Connector Shared Resource.
Both products have updated their third party libraries to newest versions in order to be on the current versions and improved performance.
Just the beginning
This post just highlights some of the major features for BW6 and BWCE. I’ll be covering these features in depth in upcoming posts. I am excited to see what use cases our users can achieve with the new and more powerful BW6 and BWCE releases until then as our leaders say – Be Awesome!
Release Notes for BW6 : https://docs.tibco.com/pub/activematrix_businessworks/6.6.0/relnotes/GUID-10ED9A26-AED6-4A2D-B274-2E7A558DC98D.html
Release Notes for BWCE:
https://docs.tibco.com/pub/bwce/2.5.0/relnotes/GUID-11F05D17-90DE-478D-BE51-87927EAAF2DC.html
How to implement webhooks in BW6
These are really exciting new features and updateds for BW. I guess dev community is also expecting OAS 3.0 support from TIBCO for BW 6.