The Brazos Portal was designed to provide an efficient way to keep users up to date in regards to the tasks they have and a fast way for them to act on those tasks.
There are two main parts to the Brazos Portal, a J2EE Application and an AngularJS Client. The J2EE Application monitors IBM BPM, Activiti, and potentially other sources of tasks. It transforms the tasks into a standard format with common names for critical properties but allows for source specific additions. The Portal manages synchronization of data with the AngularJS Client by using Server Sent Events (SSE) and long polling (on IE since it doesn't support SSE) to push incremental updates.
The Brazos Portal also has the ability to aggregate the tasks from multiple task sources. This is frequently called federation. End users of the Portal need no knowledge of where the tasks originate. All of a user's tasks simply display in the Brazos Portal interface, and the Brazos Portal handles communication with the multiple servers on the backend.
An alternate Brazos Portal backend is available that uses a database trigger approach to update the Brazos Portal backend cache rather than periodic polling of the IBM BPM REST API. This allows for near real time propagation of task updates from the BPM server to the client.