BPM, Workflow, and Case

 View Only
  • 1.  Deployment of Case Management plugins failure with External Navigator during upgrade to BAW

    Posted Fri May 03, 2024 02:44 AM

    I'm upgrading a Case Manager implementation to a full BAW configuration and I'm getting multiple errors when deploying the internal case management plugins to an external navigator configuration.  I believe all of the upgrade documentation steps have been followed and checked repeatedly.  Any help or suggestions for investigation would be appreciated.

    Issues

    • External Navigator does not end up with the correct plugins loaded.
    • Plugins that are loaded have incorrect URL references in that they point to BAW rather than Navigator
    • Multiple CORs and CSP errors occur as plugins are unable to communicate as they're in the wrong place

    Questions

    • Has anyone experienced similar issues with configuring an external navigator with BAW and overcome them?
    • Are there any suggestions for what else to try (after checking what I've already tried below)?

    Analysis Undertaken

    I've gone through multiple iterations of the configuration XML files, changing and testing values.  The only case where things get deployed, is where the references for WebSphere are to the BAW instance, which is wrong for deploying plugins.  When values are changed to deploy to the Navigator instance, the tasks fail completely. As an example, ICMClient.jar seems to be generated with an embedded BAW url which should be a Navigator URL.  There doesn't appear to be anywhere in the XML to indicate navigator is external and debugging the task execution provides little help as the debug/trace is missing the information I need. 

    The terms used in the xml descriptions are generic in some places and in some very specific, with references indicating just WebSphere Application Server without defining which one. I've tried all options available.  In places where BAW is specifically mentioned I've tried BAW as expected and the other various options.  In the configuration, we have two profiles, three clusters, three nodes all with their own port addresses, cell names and server names.  The lack of clarity/specificity in the xml implies a bit of an educated guess when the expected value doesn't work.

    The various configmgr tasks do execute and objects are deployed, just not in a way that works at runtime.  For the ICMClient this is specifically weird as it's an OOTB component.  There shouldn't be any need to do anything for it work, other than provide the configuration options.  I find the hardcoded URLs embedded in the JAR peculiar.

    Configuration Background

    Existing Case Manager, FileNet and Navigator deployments have been upgraded to the latest versions including fix packs and hot fixes and are hosted on a discrete WebSphere instance on linux.  They worked fine before this issue appears, towards the end of the upgrade steps.  Workflow center, navigator and acce for example all loaded prior to the completion of the last configuration tasks.  Now navigator has issues, everything else still works.

    BAW has been installed in a separate WebSphere instance sharing file systems and security settings.  LDAP access, LTPA and SSL are working for Case Manager, FileNet, Navigator and BAW.  Certificates validate correctly.

    The setBPMExternalECM and setExternalNavigator commands and all the pre-requisites have been checked and executed (multiple times).

    The various configmgr_cl xml files have been generated, edited and executed multiple times and the outcome tested.  Systems have been restarted when needed.

    CORs configuration for Navigator and BAW have been completed.

     



    ------------------------------
    David Alfredson
    ------------------------------


  • 2.  RE: Deployment of Case Management plugins failure with External Navigator during upgrade to BAW

    Posted Fri May 03, 2024 06:48 AM

    Hi David,

    Are you talking about installing the ICM (v5.3.3.x) plugins back into your ICN instance, or the BAW plugins.

    Have just checked a couple of our builds and the BAW plugins get installed as WAS applications on the BAW server and the Navigator plugin config also points back to a Jar file on the BAW server (via a URI rather than a path).

    I can't say I've ever tried to see if the ICM and BAW Case Client plugins coexist happily in the same environment.

    On a related note we did find the on certain versions of BAW the Jar file we deployed as part of our custom widgets package was changed by the "Deploy custom widgets package" task (you could see the URL had been changed when inspecting the before and after Jars in JD-GUI). We fixed this by copying the original Jar file over the top of the amended one that had been deployed. Not sure if this will help you, but thought it worth mentioning.

    Good luck!

    Dave.



    ------------------------------
    Dave Ward
    ------------------------------



  • 3.  RE: Deployment of Case Management plugins failure with External Navigator during upgrade to BAW

    Posted Fri May 03, 2024 06:52 PM
    Edited by David Alfredson Fri May 03, 2024 06:54 PM

    Hi Dave,

    Thanks for replying.  This is a traditional 5.3.3 upgrade to BAW 23.0.2 with all the latest fix packs.

    A little more investigation this morning, with me deliberately trying to break the configuration and see what errors get logged.

    Specifically for the registercaseclient task, the code seems to be using the contentnavigator.xml to get the port to talk to navigator, which is correct.  It uses that port to retrieve and register the plugins.  Changing it to something else breaks that, and logs the bad value that I set, so I'm fairly confident that the value in the contentnavigator.xml is correct.

    The next part of the task generates a URL for the plugin that it then pokes into the ICMClient.jar file (don't know why) and generates the load reference for the plugin.  That part of the code is using the BAWProcessServerPort from the websphereapplicationserver.xml which is wrong.  It should be using the port from navigator.

    I think this is both a bug in the configmgr code, as well as a result of our configuration.  Perhaps everyone else has been lucky and their navigator and baw servers have been separated enough that they use different host names but the same ports. In this first case, it's all on one server, so the different components have the same host name and different ports.

    I'll follow with a PMR and hope that it can be fixed as I can't see any other way to get this to build otherwise.



    ------------------------------
    David Alfredson
    ------------------------------



  • 4.  RE: Deployment of Case Management plugins failure with External Navigator during upgrade to BAW

    Posted Tue May 07, 2024 10:46 AM

    Hi David,

     

    we nearly had the exact same problems during our Case Manager to BAW upgrade. A couple of PMRs later some of them are solved, some of the problems still occur until today...

     

    You mentioned a couple of CORs and CSP exceptions. We could solve all of them by setting up correct SSO between BAW instances and external CPE/ICN (for example we had a missing domain name in our WAS SSO configuration which caused one of the CORs exceptions).

     

    With the migration from Case Manager to BAW the case applications like CaseAPI move from the ICN node to the BAW server instance. Only the plugins do remain on the ICN side. Therefore it is necessary to adjust the path settings inside the plugins from relative paths to absolute paths. So it is absolutely correct, that the URL inside the ICMClient.jar (should) get updated.

     

    The setExternalNavigator command should take care of this action for ICMClient.jar, but unfortunately in our case nothing happended, we needed to manually adjust the URLs...which should definitively not be the usual case for official jars provided by IBM..

     

    Hope you can get this to run!

     

    Maik



    ------------------------------
    Maik Abbenhorn
    ------------------------------



  • 5.  RE: Deployment of Case Management plugins failure with External Navigator during upgrade to BAW

    Posted 2 days ago

    I've got an update and a question.

    The documentation and the comments in some of the configuration files should be a bit more explicit.  the websphereapplicationserver.xml is all about the BAW instance and nothing else.  In our case, as we'd installed the software on the same system in an additional WebSphere instance it was confusing that some of the values in the file explicitly state BAW (eg BAWProcessServerHost) but others don't (eg ApplicationServerHostName).  Everything in that file is just BAW regardless of the name or the description which is also not explicit.

    Onto the question ...

    This documentation https://www.ibm.com/docs/en/baw/24.x?topic=upgrading-using-external-content-navigator at paragraph 7 b i advises to change code references to make plugins work as the implementation has moved from the navigator side (where ICM had code) to the BAW side.

    The paragraph says ....

    Update the previous case resource path with the absolute path for the remote Case Client in the custom plug-in. JAR file. For example, use https://Workflow_hostName:CaseClient_portNumber/ICMClient/icm instead of /ICMClient/icm. Make this replacement in each place that refers to case resources.

    That seems to imply we have to embed the baw server and port number into the code. That's bizarre. How do we do this and make the code environment independent? I've never heard of embedding server addresses in code. Is there some parameter or variable that contains this that we can reference.

    Dave Ward's comments indicated that something did that in the deployment code, but that doesn't appear to be documented clearly.  Is there some specific pattern that must be followed to make this automatically done?  How can you embed server names in code that is deployed to multiple environments? Is there some variable that is set somewhere that has the value which we can simply retrieve? We have our own deployment scripts which are not using configmgr commands.  What modifications would need to be done in those if we must replicate some behaviour that is undefined?

    Any help is greatly appreciated.



    ------------------------------
    David Alfredson
    ------------------------------



  • 6.  RE: Deployment of Case Management plugins failure with External Navigator during upgrade to BAW

    IBM Champion
    Posted yesterday

    Hi David

    That's bizarre.

    We have also reported this at IBM... currently it requires environment-dependent plug-ins, which is not feasible for productive system. 
    We had to adapt the ICMClient manually. The documented command did not work for us - as @Maik Abbenhorn has already noted...

    Good to hear that you have BAW and external CPE running on one machine. We are also facing this scenario right now (CPE in WebSphere 9.0.5 and BAW in WebSphere 8.5.5). Maybe we need to get back to you on this…

    regards

     Christoph



    ------------------------------
    Christoph Sünderkamp
    ------------------------------