Delivering modern UI for IBM BPM using the Coach Framework and other approaches
The IBM Coach Framework is a key element of the IBM Business Process Manager (BPM) platform. With the Coach Framework, process authors can create and maintain custom web-based user interfaces that are embedded in their business process solutions. This ability to create and maintain custom user interfaces is a key factor in the successful deployment of business process solutions. This book helps you fully benefit from the power of the Coach Framework. It also helps you to determine when other approaches and tools are applicable.
The term coach was introduced by Lombardi Software, which was acquired by IBM in 2010. The term was inspired by Vince Lombardi, considered by many one of the most successful football coaches of all time. Lombardi was known for his leadership skills, hence the screens generated by the product are called coaches. Coaches guide you through the steps required to perform your work.
History aside, coaches are a powerful element of IBM BPM solutions. With the release of IBM BPM version 8.0, coaches incorporate recent advances in browser-based user interfaces, and they are further improved in subsequent releases. This book focuses on the capabilities that the Coach Framework delivers with IBM BPM version 8.5.7. The content of this document is also pertinent to future versions of coaches.
This chapter includes the following sections:
1.1 User interactions with business processes
BPM solutions can improve your business operations by automating processes and providing increased visibility into and analysis of process performance. With BPM solutions in place, process execution becomes more predictable and performance improves as you incorporate BPM functionality into your process logic. IBM BPM has driven improved process efficiency in many organizations over a wide variety of industries.
In addition to getting the right tasks to the right people at the right time, efficient business operations require tasks that provide a state-of-the-art user experience that enables workers to complete their work efficiently. As process authors you want to rapidly develop compelling user experiences for business operations. The Coach Framework can help you do that.
Business users interact with business processes in various ways, but those interactions can be broadly categorized as follows:
Discovering what work must to be done
Performing work
Analyzing the work that has been done in the past
Reviewing and managing the work performed by a team
For example, as a business user, you learn about the work that must be performed in various ways. You can log on to a specific website to view your task list; you can use a mobile application to access your next scheduled task; or you can receive notifications via email or SMS. In all cases, it is important for you to quickly understand the nature of the task and its relative importance to the other tasks that you are responsible for performing.
You perform the work that you are required to do in a number of ways. In some cases, you perform the work outside of the BPM solution using existing systems. In that case, you inform IBM BPM once the work has been completed. In other cases, the interfaces used for performing the work are implemented as part of the BPM solution. In many solutions, both approaches must be combined. Regardless of the approach, you must clearly understand the details of the task to be performed and the wider business context of the task. You must be provided with user interfaces for supplying and modifying the information that the task gathers or manipulates. Custom user interfaces are typically necessary to provide you with optimal tools for performing your work.
You analyze your work in a number of ways and for a number of reasons. During the execution of a process, you need real-time feedback to help you guide subsequent execution of the process. Similarly, managers require visibility into their team’s work and tools to help them manage that work. Analysis also occurs after-the-fact to determine if the process logic is optimal for the business to run smoothly. In each of these cases, users need the system to present relevant information. In some cases, generic out-of-the-box user interfaces are sufficient. In other cases, custom user interfaces are necessary to provide users with the most relevant information for their specific needs.
IBM BPM includes IBM Process Portal, which can be used to perform many of these activities from your desktop computer or mobile device. It provides a standard set of capabilities that are applicable to all your processes. The Coach Framework is used to build the custom user interfaces for tasks, dashboards, and reports that are delivered by Process Portal and can be used to extend and customize Process Portal. The Coach Framework can also be used to create custom user interfaces that are delivered via alternative means such as email, corporate portals, mobile applications, or websites. It is also possible to develop custom user interfaces using alternative techniques and technologies.
1.2 Coaches: Custom user interfaces for business processes
Coaches are the screens (or forms) that process authors construct to provide the custom user interfaces required for their BPM solutions.
Custom user interfaces must present users with relevant information that helps them efficiently carry out tasks. Because every process is different and every activity is different, you have to optimize the user's experience. To do this you must build custom user interfaces that present and manipulate the most relevant information in the most effective manner.
This critical need for custom user interfaces for business processes is the driving factor in the development and evolution of the Coach Framework. The Coach Framework’s primary focus is to enable process authors to create and maintain custom user interfaces that improve users' interactions with their organization's business processes. This subsequently improves the performance of business operations.
Maintenance of custom user interfaces in a BPM solution is crucial because of the frequency of changes to the logic of an organization's business processes. As market conditions change, the logic of the business process has to adapt.
As the logic of a business process changes, the users' interactions with the business process must change. Your ability to adapt the user interfaces of a business process has to keep pace with changes to the process logic; otherwise, your organization's ability to respond quickly to change is diminished. Using the Coach Framework, your organization is agile and adapts quickly and seamlessly to business change.
Coaches make it much easier to adapt your user interfaces when your business process changes. User interfaces that are created with the Coach Framework are packaged along with the other artifacts that make up a process application. When a new version, known as a snapshot, of the process application is deployed, all of the coach-based user interfaces are also deployed. This ensures that users are always presented with screens that are in sync with the correct process logic.
Without coaches, the deployment of the user interfaces for a process is a separate step that must be performed when a new snapshot of the process is deployed. With coaches, the process screens always match the process logic.
1.3 Coach views: Custom user interface components
Coach views are the reusable user interface building blocks that process authors use to create their coaches.
To fully appreciate the benefits of coach views, you must understand the problems that they help solve. Before the introduction of the Coach Framework in BPM 8.0, coach views did not exist. Coach views were introduced to solve a variety of problems that customers encountered when using heritage coaches, the coaches used before IBM BPM version 8.0. These problems are described in 1.3.1, “Controls: Atomic coach views” through 1.3.3, “Dynamic coach view interaction” on page 5.
1.3.1 Controls: Atomic coach views
Coaches have always provided a facility for nontechnical process authors to rapidly construct form-based user interfaces by selecting controls such as input text, buttons, drop-down lists, check boxes, tables, and sections from a preconfigured palette. However, the functionality offered by heritage coaches was not sufficient. It restricted the author’s ability to go beyond what was offered out-of-the-box; it did not deliver the sophisticated user experience that was expected by the business as new user interface requirements and technologies emerged.
The Coach Framework was designed to enable the Coach Editor within the IBM Process Designer to be extended beyond the use of out-of-the-box controls, referred to as stock controls. As part of the Coach Framework, coach views allow process authors to create new controls and add them to the palette. In fact, the default stock controls provided with IBM BPM are now implemented as coach views themselves. This allows customers and business partners to develop toolkits that include sophisticated custom controls and leverage the latest user interface technologies to deliver a state-of-the-art user experience. Some recent examples of custom controls include maps, mobile specific controls, bar code readers, electronic signatures, and charting controls. This ability to create and distribute additional coach views dramatically increases the power of the Coach Framework.
The Coach Framework has retained the benefits that heritage coaches offered to nontechnical process authors; they can simply select the controls that are available on the palette to construct their coaches as they did before. The development of new controls using coach views requires a more technical skillset, such as the skillset of a web developer with proficiency in HTML, JavaScript, Ajax, and CSS.
Before the use of coach views, extending heritage coaches was possible to some extent using custom HTML. This, however, introduced complexity into the coaches that made it difficult for nontechnical authors to maintain them. Coach views provide a place to encapsulate the complexities that are necessary to extend controls without exposing the complexities to the coach author. Unlike custom HTML, coach views are designed to explicitly enable developers to integrate third-party user interface technologies of choice, such as AngularJS, JQuery, DOJO, and HTML5. Coach views enable this integration by providing appropriate APIs and event handlers within the Coach Framework.
Coach views provide the building blocks for visual controls and can also be used to control the layout and behavior of a coach. This is a significant enabler for IBM BPM to support responsive user interfaces for both desktop and mobile devices.
1.3.2 Reusable coach elements: Composite coach views
Another problem that process authors encountered with heritage coaches was the ability to reuse aspects of one Coach with other Coaches. Coach views solve this problem.
Coach views can be defined by combining other coach views in the same way as a process author constructs a coach, that is, using a drag-and-drop mechanism. The resulting composite coach views appear on the palette along side the atomic controls, so that they can be used on multiple coaches or nested in other coach views.
Composite coach views are often created when a number of coaches within a process include a common section of controls, for example, a header that contains overview information about a process or a business object like an address.
Composite coach views can be associated with the business objects that they are used to present and manipulate. When dragging business objects onto a coach, the appropriate coach views are selected and added to the coach automatically.
1.3.3 Dynamic coach view interaction
When a coach view is added to a coach, the author configures the coach view. The author does so by binding it to the business data that the component displays and to any configuration data that is necessary to control the appearance and behavior of the component at run time.
Most coach views respond when any of the data that they are bound to changes. This allows authors to create dynamic user interfaces by binding multiple coach views to the same data. When a user manipulates one coach view, all of the other coach views that are bound to the same data instantly react.
Coach views can also be bound to Ajax services that are invoked to retrieve information and update systems that are related to the business processes. This ability to bind to Ajax services allows authors to create highly dynamic UI components, such as select controls with fields that are updated dynamically while users are typing. This feature can be used also to create coach views that directly interact with services outside of BPM.
1.4 Human services
Human services are components that manage individual business-user interactions that might involve one or more coaches. Human services can be thought of as mini-applications that define the navigation between coaches and provide linkage to business logic and integrations to back-end systems.
Human services are either used to implement the user activities of a business process, or to implement dashboards that are invoked independently.
1.4.1 Task completion coaches
Task completion coaches provide the user interfaces that allow a business user to work on a specific activity of a business process. The lifespan of task completion coaches is tied to the lifespan of an activity in the process. The coach can only be opened while the activity is active.
When implementing a business process activity, a human service is initialized with data from the process when the process flow reaches the activity. This allows the coach authors to easily build user interfaces within the context of a specific activity of a business process.
1.4.2 Dashboards
Dashboards are user interfaces that are independent from the activities of a process and can be opened at any time. Dashboards can be used to extend Process Portal, they can be used to extend the BPM Admin Console, or they can be used outside of IBM BPM.
When extending Process Portal, Dashboards are available to specific teams so that the teams can access additional information that is applicable to completing their work. Dashboards can be used for many purposes, such as creating reports to monitor performance, managing workloads, or displaying business data related to a specific case or customer.
Similarly, Dashboards can be available to specific teams to access system-related information and perform custom administration activities within the BPM Admin Console.
Much of Process Portal is implemented using Dashboards, and many clients also use Dashboards to build their own custom portals.
1.4.3 Client-side human services
Human services were historically server-side components, where control was only passed to the web browser on reaching a coach within the human service flow. Server-side human services continue to be supported, but are now referred to as heritage human services.
Client-side human services were introduced in BPM 8.5.5. The entire CSHS is executed within the web browser, apart from server-side calls that are explicitly modelled within the Client-side human services. This reduces passing control back and forth between the server and the browser, which substantially improves the performance and user experience especially when accessed from a mobile device.
1.5 Using coaches outside IBM BPM
When you are logged on to Process Portal, the coaches that you work with are opened in the Process Portal browser window. However, coaches can also be available when you do not use Process Portal.
1.5.1 Launching coaches using a URL
Both task completion coaches and dashboards can be launched using a URL. This enables tasks to be launched outside of IBM BPM, for example, from an email, a custom web application, a portal, or a mobile application.
Every coach is embedded in a human service, and all human services can be launched using a URL. This makes it very easy to incorporate coaches into a wide variety of web-based interfaces. Links to launch coaches can be embedded on existing corporate web sites, or, when appropriately launched within iframes, on corporate web pages. You can discover human services that are exposed for this purpose via a BPM Representational State Transfer (REST) application programming interface (API).
1.5.2 Coaches within JSR 286 portlets
For companies that use IBM WebSphere Portal, the coach dashboards can be wrapped in JSR 286 portlets. This capability allows dashboards to be wired into WebSphere Portal composite applications in the same way as other custom Java portlets.
1.6 How coaches can benefit your organization
Now that you have a better understanding of what coaches are, you can better understand how coaches can benefit your organization.
1.6.1 Seamless integration of UIs and process logic
Coaches benefit your organization by seamlessly integrating the development and deployment of custom user interfaces with the development and deployment of associated process logic and necessary integrations that make up a complete business solution.
IBM BPM supports the use of external user interfaces for interaction with processes via representational state transfer (REST) APIs. However, when external user interfaces (UIs) are used instead of coaches, the process for developing, testing, and deploying the solutions is disconnected. Without coaches, explicit coordination and governance is required between the UI and process developers when packaging and deploying these components separately.
In most cases, the seamless integration of UIs with the process solution makes it easier for your company to implement a business process change that also requires a change to the process UIs.
1.6.2 Tailored UI components for your business
The ability for each business to create their own coach views enables organizations to create their own toolkits of UI components that are tailored for their specific needs.
Experienced developers can create rich user interfaces for key business data and package those UIs as building block components that can be used by less technical business programmers.
1.7 Conclusion
This chapter outlines how the IBM Coach Framework can be an extremely valuable resource for helping you to optimize your business operations and achieve process agility. The remainder of this book focuses on specific details and insight for how to best use the Coach Framework and other approaches to deliver BPM UIs within your own organization.
Chapter 2, “Creating user interfaces with coaches” on page 9 describes how to assemble your custom UIs from existing coach views and leverage new tools introduced in BPM 8.5.7. It describes how to build responsive user interfaces, how to style coaches using the new graphical theme editor, and how to design coaches using the new grid layout.
Chapter 3, “Building controls using coach views” on page 73 describes how to develop custom coach views. This chapter provides all of the details that are necessary for constructing new UI components when an existing component does not meet your needs.
Chapter 4, “SPARK UI Toolkit” on page 153 focuses on sharing real world lessons that have been learned by Salient Process, an IBM Business Partner which has extensive experience with developing custom coach views for their clients.
Chapter 5, “IBM Process Portal” on page 261 describes the standard features provided by the Process Portal; how to extend, configure, customize, and style Process Portal; the latest features including new saved searches, responsive UI and process federation, and how to build a custom Portal using the Salient Process Portal Builder toolkit.
Chapter 6, “Combining the Coach Framework with other approaches” on page 313 defines design patterns to expose coach-based human services over the Internet. It also describes how to integrate coaches into other solutions, integrate external UIs into your BPM solutions, and use Mobile First with IBM BPM to build hybrid mobile applications and provide an offline working capability.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.134.113.136