AngularJS and IBM BPM — The ACV2 Story
Apex has been using Apex Coach Views (ACV) to bring enhanced features into IBM BPM since 2012 and our ACV2 product since 2014. I decided to sit down with the product’s chief developer, Kyle Hoskins, to look back at the history of the product and to talk about how it is being used now that it has matured as well as our roadmap for future development.
Can you talk a bit about the history of ACV2 and what led to Apex moving to incorporating AngularJS into our coach-view toolkit strategy?
Sure. Apex Process Consultants was the first business partner — or anyone that worked with IBM BPM — to launch a coach-view toolkit. We launched ACV1 (Apex Coach Views) just as the original coach-view framework was being announced and we made the decision to base that on the Dojo JavaScript framework that came out of the box standard with IBM BPM at the time. So we created a very powerful coach-view framework using Dojo but we found a few limitations — that the Dojo framework wasn’t great for Mobile, it wasn’t entirely responsive. That’s why we made the decision to make a new coach-view toolkit, ACV2, from scratch built using the latest and greatest technologies. We took our experiences from creating the original ACV1, plus feedback from customers on any struggles they’d had or product suggestions, and put all that into the new ACV2 product. So we combined IBM BPM with AngularJS and Bootstrap CSS to answer all these customer needs and make a product that was even better than our first version.
What does ACV2 offer that the out-of-the-box coach views didn’t provide?
So ACV2 offers a better responsive experience as well as better performance all around. It allows users to extend easily using AngularJS to get more interactive pages using DOM and HTML experience on a page. The ACV2 page components have many features and a consistent configuration approach. Our mobile-first approach during development means that IBM BPM user pages developed with ACV2 are taking advantage of responsive design with Bootstrap CSS and are going to look good on tablets, phones or traditional laptop or desktop screen. When some of our customer’s workflow takes BPM tasks out to a factory floor or to workers using tablets or phones, the developers don’t have to spend so much time worrying about whether their pages are going to look okay on the devices used in different departments. ACV2 makes using AngularJS with BPM an intuitive experience and the BPM developers don’t have to learn AngularJS to take advantage of its features.
What were some of the challenges of bringing AngularJS into the IBM BPM ecosystem?
Bringing AngularJS into the mix doesn’t free you up from having the Dojo JavaScript framework. The OOTB tools still load Dojo. Since we were adding AngularJS and building on top of that, some of the challenge was how to get the performance improvements of AngularJS while still having that underlying Dojo code in place. With regards to data handling and the creation of the coach views, you’re still building on top rather than replacing the other framework.
What kind of improvements came with ACV2?
With AngularJS everything is updated as you type and the screen is being updated so you get a more active display and user experience. We combine that with the Bootstrap CSS which gives a better responsive page layout for devices — it was the fastest growing CSS framework at the time we wrote ACV2. We wanted to move away from the Dojo framework and move towards AngularJS since it was more popular and very powerful. (read more)
What’s the future of ACV2? Is it still relevant with the new BPM 8.6 Spark UI tools now being included OOTB?
Good Question. It depends. The Spark UI toolkit has a lot of good features and is JavaScript framework agnostic. But if you’re running an AngularJS shop or want those performance improvements, ACV2 is still a great product. It still provides a lot of speed and configurability in your BPM designs. We created nearly 100 coach-views for ACV2, some simple and some very complex. We worked hard to maintain a common layout for the configuration and usage, and they’re all built to gain the performance advantages of AngularJS and the consistency of look, feel and responsiveness that Bootstrap CSS provides. So the new OOTB coach views are significantly better than the ones that came with BPM older than 8.6, but ACV2 still provides a great way to empower your BPM designs — especially if you’re not up to the latest version of BPM. (try ACV2)
What are you working on now? Anything you can talk about?
We’re developing a new tool for low-code rapid development of applications that can stand alone or be plugged into a BPM environment. We’re calling it Apex Designer and we’re already using it with a few clients but we’ll be able to talk about that more in the very near future.