Brazos: Building Better Experiences for IBM Automation

Post by
Scott Francis

Since IBM acquired Lombardi in 2009, BP3 has been striving to bring better experiences to IBM Automation customers. It's part of our extreme focus on your success - we look for ways to make sure our solutions get adopted and loved.

In 2012, in a major milestone for finding a faster way, we introduced Brazos UI to the world of IBM Automation - for the first time giving the IBM ecosystem a set of drag and drop UI tools for building browser-based user interfaces that could be both attractive and fully-featured on a phone, a tablet, or a desktop browser of any size, without any extra work. In fact, Brazos has been, by far, the fastest way to build a user interface for IBM Automation since then.

Across the next 8 years, we've improved Brazos with countless releases, releasing new point versions on a cadence that averages every 4 weeks. And across 8 years, we've maintained forward and backward compatibility whenever possible so that you can continue to benefit from investments you've made in Brazos UI from the beginning to the present day. No other user interface solution for IBM Automation has achieved that level of compatibility, ease-of-use, speed, and attractiveness out of the box. Imitators have come and gone (sometimes shipped around between 4 different companies), and Brazos has continued to excel.

This is a product and a release that we are proud to give to the IBM Automation community, and that as a client, you can be proud to use.

In the words of our engineering lead for Brazos: 

Guiding Principles

One of our guiding principles for Brazos UI development is to avoid introducing changes that will break customer's solutions. We work very hard to make the upgrade process as painless as possible. Both BP3 and our clients are better off when everyone is on, or can easily upgrade to, the latest release to fix problems and get the latest features. Several external factors including IBM's move to the Web Process Designer and security vulnerabilities in jQuery and Bootstrap forced us into breaking changes with this release, so we took the major release opportunity to also clean up some of our accumulated technical debt in Brazos UI.

Most Brazos UI customers will need to make some updates to their process applications to upgrade to Brazos UI 6.0; however, unlike IBM's major UI toolkit updates, you do not need to fully rewrite your coaches, and we are providing tooling with the release to help with the minor updates that are needed. As part of the 6.0 release we created the Brazos UI Upgrade Analyzer Tool that highlights and guides customers to the specific areas of their Process Applications that need updating. We've also documented the specific breaking changes in detail in the release notes, and we've written support articles that walk customers through the upgrade process. We recommend reviewing the release notes, evaluating your Process Applications using the Upgrade Analyzer Tool, and engaging with BP3 Support on any questions or concerns around the upgrade. Our support team is only an email away at support@bp-3.com.

Why Upgrade

While it’s usually a good idea to stay up to date with any software product, we do recognize that any updates to a process application are not trivial. However, we do recommend that you take the leap. The improvements we've made behind the scenes in Brazos UI development tooling and automated testing gives us high confidence in the quality of Brazos UI 6.0, even with the several major updates to underlying library dependencies and the associated Brazos UI code changes that were required.

It's worth noting that Brazos UI works as well in BAW 20.0.0.1 as it does with IBM BPM 8.6and we will continue supporting active versions of BAW/BPM as long as IBM makes that possible. We're proud of the fact that you have been able to upgrade coaches built with Brazos UI since the 2.0 release in October 2013.

Security

One of the biggest reasons to upgrade is to keep up with security vulnerabilities. As such, we always encourage customers to upgrade and 6.0 is no exception. In addition to library dependency upgrades, we also have addressed Cross Site Scripting (XSS) vulnerabilities.

Fully Embracing the WebProcess Designer

While Brazos UI has been compatible with theWebPD since its introduction, certain facets of heritage artifacts haveremained unavailable in the WebPD. With 6.0.0, all of the IBM-deprecatedServices and AJAX Services of the Brazos UI Toolkit and Examples app have beenconverted to Service Flows. Note too that the example services code blocks areno longer minified!

While practically speaking this is a minorchange, it unlocks the ability to fully view and edit toolkit and exampleservices through the Web Process Designer; you will no longer have to use theDesktop Designer to review default service signatures or to view sample AJAXservices. The visibility of Service Flows is unfortunately not backwardscompatible but at this point in the BAW lifecycle it's time to be using theWebPD full time.

As a side note, two Web Process Designerdefects we reported to IBM have been fixed in recent versions of BAW so it’salso worth keeping IBM BAW up to date as well!

Improving the Engineering Processes

The improvements we've made in Brazos UI development tooling and automated testing gives us high confidence in the quality of Brazos UI 6.0, even with the major changes in underlying libraries and the associated Brazos UI code changes that were required. Given the security vulnerabilities from underlying libraries that are present in Brazos UI 5.x we are encouraging all Brazos UI customers to upgrade to 6.0. We recommend reviewing the release notes, evaluating your Process Applications using the Upgrade Analyzer Tool, and engaging with BP3 Support on any questions or concerns around the upgrade.

Secondary to delivering improvements, like full support for the Web PD, and increased security to customers, the 6.0 release was also about steering the toolkit in a direction where it can be more easily maintained. Namely it should be using current or easily updatable libraries, up to date with regard to security issues, and just generally easier to work with. With that in mind, work on the 6.0 release also involved some rather large updates to supporting dev processes and code cleanup to give us a good foundation.

It's worth noting that Brazos UI works as well in BAW 20.0.0.1 as it does with IBM BPM 8.6 and we will continue supporting active versions of BAW/BPM as long as IBM makes that possible. We're proud of the fact that you have been able to upgrade coaches built with Brazos UI since the 2.0 release in October 2013.

Library Updates

Updates to Brazos UI third-party libraries is something we are always cautious about because of the high probability of breaking changes and regressions those changes can introduce. However, getting these up to date allows us to continue supporting Brazos UI (and keep it secure!). The release notes call out each library upgrade, but the one of most importance to process app evaluation is the update to jQuery from 2.2.4 to3.4.1.

This is a jump that might have no impact on your process applications or could require a lot of small updates as the major version jump has several deprecated and removed methods. These issues have all been addressed in the Brazos UI toolkit itself, but if you are utilizing the bundled jQuery 2.2.4 library for custom code then you might run into issues. We have provided documentation and an example application to help you mitigate and resolve these types of problems, but ultimately some code changes may be required.

Customer Upgrade Help

The removal of controls, certain unused managed assets, and configuration options combined with the various library upgrades and CSS changes will likely require some level of project code changes when upgrading to version 6.0 of the toolkit. With that in mind, we want to help make the process as smooth as possible for our consultants and customers. To that end, we have information and resources available to help you and our customers with the transition, please just reach out to BP3 so that we can be of assistance, and consult the documentation below.

Documentation

Beyond the release notes we also have the following articles available on our Help Center that run through the various upgrade procedures of note:

Examples and Analysis Tool

As might be obvious from the documentation above, we have a couple of more interactive components available.

The jQuery example application's main purpose is to illustrate errors that might be encountered and show how they could be resolved. There is also a coach view in the example that loads jQuery Migrate as part of illustrating that tool. While we're not specifically promoting it, the widget could potentially be used by our consultants and craftier clients to assist with the upgrade process.

The reporter tool is an extension of the TWX-lib project (which the TWX-tool is based on). The goal of this tool is to generate a list of items that require attention when upgrading a Process Application to version 6.0+ of the toolkit (either specific changes or just checking that things are ok). Since there are a number of changes that need to be reviewed, we wanted to help out our customers as much as possible. While the report generated about the use of deprecated controls could also be found using the WebPD (and indeed, tracking down references to deprecated controls using the WebPD compliments the report nicely), the other reports generated include information that is not available directly from the Designer and would be difficult to track down manually. For example, having a custom coach view with a particular name used as column in a Table configured to export data could experience changes in behavior in 6.0. Instead of having to manually look for all those conditions the Upgrade Analysis Tool can report any instances like this that need to be reviewed. By generating a list of items that should be fixed and checked, we hope to make the upgrade process as smooth as possible.

Support

As always, if you get stuck, please reach out to our support team. Anything that can't be directly addressed can be elevated to the dev team. We want to help you be able to upgrade!



More From Blog

You Might Also Like

Driven Day 5: The Final Day of Automation Goodness: Enterprise UX and Design
Read More
Driven Day 4: Application Modernization
Read More
Driven Day 3: Process Automation Day
Read More
We Work With Companies Just Like Yours
Are You Ready?

Let’s Work Together

BP3 gets you there fast. Contact us today to see how we can bring more focus, foresight, and follow-up to your projects.