Siebel Business Process Framework: Task UI Guide > Best Practices for Working with Tasks > Design Patterns for Task User Experience >
Business Component Method Invocation
The ad-hoc UI largely depends on the end user clicking a button or choosing a menu item to invoke a particular piece of business logic. This business logic typically is encapsulated in a business component method call, and not readily available as a Business Service method. The problem with this kind of user experience is that the end users need to know the following:
- That they are required to click a button
- Which behavior is caused by pressing the button
- The prescribed sequence in which buttons are pressed
Task UI allows you to avoid this complexity by:
- Presenting the end user with unambiguous choices
- Explaining which behavior different choices can cause
- Providing backward-navigation choices in case the end user makes a mistake in selection
- Enforcing a prescribed sequence when applying business logic
With Task UI, you can provide the end user with a selection of clear choices, one at a time. The end user makes a selection and presses the Next button on the task playbar applet, after which the task controller invokes appropriate business logic in the correct order as defined by the task flow. In case of an exception, an error dialog pops up; otherwise taskflow execution moves to the next view.
If one does not already exist, define an adapter Business Service based on the CSSBCAdapterSvc class, for which the value of the Business Component user property specifies the business component whose method(s) it is adapting. Define a method with the same name as the business component method you need to invoke from the task.
Now you can invoke this method as a Business Service step in your task flow following the view step in which clicking the Next button needs to trigger invocation of the business logic in the business component method.
NOTE: If you enable backward navigation to the selector view, and it presents an option that logically negates the business logic invoked behind the scenes, you might need to compensate for it if that option is selected.
A field activity task presents the end user an option to automatically generate an invoice, which in the ad-hoc UI is done by clicking on the AutoInvoice button in the Invoice applet. In the field activity task, this means calling an adapter business service method following the selector view. Presenting the AutoInvoice button in the Invoice applet is no longer needed.