Heritage Human Services vs. Client-Side Human Services

Follow

In IBM BPM v. 8.5.5 IBM introduced Client-Side Human Services (CSHS). The IBM Knowledge Center articles cover the basic feature comparison but guides the choice between CSHS and Heritage Human Services (HHS) towards using CSHS unless you have a reason not to. While it is generally a good idea to begin transitioning to the latest features, use of HHS may remain a valid choice for other reasons.

CSHS advantages

  • As their name implies CSHS run scripts (formerly Server Scripts) client side. This is a nice performance improvement when using boundary events.
  • Since scripts are run client side, browser console outputs can help with debugging during development.
  • CSHS give a more interactive preview in the coach designer.
  • For certain features like case management, you can only use CSHS.

HHS advantages

  • Being established and embedded in the desktop application, HHS are less prone to new bugs or browser quirks.
  • HHS allow nesting of other HHS while HHS may not be nested in CSHS.
  • HHS allow for easy copy and paste in the coach designer. This is less of a differentiator in the newer cumulative fix packs of v. 8.5.7 as copy-paste can be accomplished in the CSHS WebPD with nodes in diagrams and controls in coaches using keyboard-based shortcuts, e.g. control-c and control-v.

Other considerations

  • CSHS performance is tied to the client's web browser, so best performance for the end user may only be experienced newer browsers. However, IE9 is supported for HHS in 8.5.6 but IBM warns that IE10 and IE11 are noted to have possible layout or style issues when displaying HHS.
  • CSHS editing requires using the browser-based editor. While similar, there may be minor differences that might trip up designers when having to switch between editor types (such as lack of mouse-based copy and paste). Performance of the editor is also tied to the web browser.
  • It may not be an effective use of time to recreate existing HHS as CSHS which is why IBM generally advises the continued use of HHS for pre-8.0 designs. The ability to open and edit HHS in the Web Process Designer along with being able to copy HHS coach layouts into CSHS coaches in v. 8.5.7 CF 2017.03 lowers this barrier somewhat, but it is still necessary to recreate variables, convert copied HHS scripts to CSHS syntax, and rewire the diagram flow.
  • The v. 8.5.6 CSHSs don't have a supported coach validation framework. This has been addressed starting in v. 8.5.7 but there are differences in how this is implemented so be sure to review instructions for how to validate CSHS in the latest versions
  • The available error handling framework is different between HHS and CSHS (see links below).

Additional reading:

IBM:
Which artifacts should I use?
Difference between heritage human services and client-side human services
Handling errors in client-side human services
Re-creating heritage human services as client-side human services in the web Process Designer

BP3:
Error Handling Options for Client-Side Scripts in Client-Side Human Services

Have more questions? Submit a request

Comments

  • Avatar
    Anders Mikkelsen

    Maybe you can gain some performance with CSHS but the web designer does not feel mature enough to work with. Much more time consuming and the missing copy/paste is annoying. So I would stick to HHS a little longer.

  • Avatar
    Don Williams

    I've just completed a CSHS-intensive proof of concept for a customer on 8.5.7 and have updated feedback to share about working with CSHS:

    PROS:

    • Debugging coaches is much improved and actually works quite well - you can run the coach directly from the service and step through it. Note that you'll want to add "console.log()" statements throughout to verify and output data to the browser console. Defining variables when debugging can be a bit problematic, though. A few options are:

      1 ) Define on variable defaults (which I feel is a bad practice because you're bound to forget to clear these later).

      2) Mark the service as nested and build a test harness CSHS around it - this creates another asset just to test, though, which is a bit annoying.

      3) My favorite thus far, which is to just add a script block named "DEMO" or whatever to the beginning of the coach service which inits all variables as needed for testing. It can just be disconnected from flow when done testing.
    • CSHS now allows for nesting services, which is a huge addition for reusability. Note, however, that if you mark a CSHS as 'Nested', then it cannot be implemented at the BPD level (this is an either/or setting).
    • The new CSHS designer in 8.5.7 looks much better than it's predecessor, and while it seems to be "less buggy", I've still encountered lots of issues, see below.

    CONS:

    • As mentioned above, you still cannot copy/paste controls - that means not from one coach into another, or even within the same coach. Note that you CAN, however, copy assets from the Diagram view using Ctrl-C, Ctrl-P.
    • Properties tab will just not show up sometimes for some controls, requires restart of Web Designer.
    • Type changes to variable inputs/outputs often aren't picked up by services implementing that service, must restart Web Designer to resolve validation error.
    • ANY type throws validation error when attempting to map to a defined type (type mismatch error).
    • Sometimes the browser will stop responding when dragging controls out from palette - mouse pointer just gets stuck on green plus sign.
    • Can only open one service at a time - no ability to select several services and have them all open up at once. This doesn't mean you can only HAVE one service open, this is just referring to the act of opening a service.
    • Renaming is a bit clunky - can't do it when service is open. You have to do it from left-hand context menu.

    Another note is that while in the past I worked with a client where we decided against CSHS due to difficulty with exception handling, now that CSHS nesting is supported, a client-side equivalent to GEX could be built. It's not out there yet as far as I know, but this would be a really useful asset.

    Hope this helps someone, feel free to reach out to me directly if you have additional questions: dwilliams@bp-3.com

    Thanks -Don

    Edited by Don Williams
  • Avatar
    Tom Bushart

    Updated article to properly reference the added coach validation framework available for CSHS starting in v. 8.5.7.

  • Avatar
    Tom Bushart

    Updated article to reference availability of copy-paste in the WebP and CSHS error validation differences in v. 8.5.7. Also updated links section and pointed IBM links to 8.5.7 versions of their documentation.

  • Avatar
    Tom Bushart

    Updated article to reference improved HHS to CSHS conversion experience using the Web PD in v. 8.5.7 CF2017.03. Included link to IBM KB article on the same.

Powered by Zendesk