How to get BPM schema?

Hi ,

Due some company restriction we need to comunicate the BPM and BSM (9.26 both) through Access Gateway (middleware).

As far I know till now, this not a problem (correct me if I'm wrong). But of course , we need to implement the proper services to forward the informacion from BPM to BSM and viceversa. 

We think that if we can get the BPM schema and just include it in the middleware part , everything is solved. Therefore, I'd like to know if the proper schema with all the operation necessaries and all the info about BPM is the one we can get in localhost:2696/.../BPMApi.wsdl


Regards and thanks in advance

  • Hi Adr,

    in short: this cannot be done

    in long: you would need to mimic all the communication BPM does with BSM, and BSM does with BPM, I'm nore than confident that this cannot be done out of the box.

    You might wanna open a case with support so that R&D can have a look at it, but ...


  • Hi Siggi, 

    Please, could you expand your answer? I've opened a case, but unfortunately they are not helping me very much, because they think this is customization and not support..

    Don't you think if we have the schema with all the operation and so on , the comunication will be the same ? We only want  to cover:

    - Deploy a transaction

    - Send the results from the replay back to BSM

    - Register the BPM in the BSM.



  • Hi Adr,

    part of this could be done with the EUM API
    The EUM Administration Open API enables you to perform operations on EUM configuration without using the End User Management Administration user interface in Business Service Management. The API supports retrieving, updating and creating Business Process Monitor and Real User Monitor configurations. Supported entities include Business Application, Business Transaction Flow, Business Transaction and others.
    but for all other I don't see any way to do this without having someone from R&D sending you the code of the BPM/BSM interface, as we don't have an API (or alike) for that.
    Even if you manually collect the metric data collected by the scripts and "ship" them over the the BSM system, there wouldn't be any interface whihc would be able to process that data.

    And I have to agree with the people from support stating that this is customization.


  • Hi Siggi, 

    I can see "The API supports retrieving, updating and creating Business Process Monitor". I think this is covering the things I want to do, the three ones I listed previously, doesn't it? 

    If I'm not wrong, with this three option we cover the usual BPM behaviour. Correct me if I'm wrong.


  • Hi Adr,

    unfortunately not, as this is the
    "EUM Administration Open API" which enables you to perform operations on EUM configuration

    "The API supports retrieving, updating and creating Business Process Monitor"
    means that you can easily deal with the BSM EUM configuration.
    In <API>\jd\index-all.html shows all the methods available,
    you can find methods for
    creating entities, for example

    to retrieve entities and related settings, for example

    or to update them, for example

    BUT there is nothing in place which would allow you to retrieve measurements / metric data.

    However, the main point is that this API can be used to perform operations you usually would do via the BSM GUI. After the API calls BPM still needs to retrieve the information from BSM and apply the changes within BPM, so unfortunately this would be of no help for you.


  • Hi ,

    Thanks for your info. 

    And what about this API (localhost:2696/.../BPMApi.wsdl)  ? It seems contain many operation BPM do, if we implement a client based on this wsdl to handle the request from and to BPM , is it not going to work ?

    Dont you have any client that need to connect, for example,  the SaaS BSM with a secure location where the BPM is installed and need to go through some kind of validator  ? Maybe you can offer another workaround to do it.



  • Hi Adr,

    I didn't even think about this API, as it seems it was documented up to BPM 9.24, and then not anymore (at least I checked on BPM 9.26 IP1 and BPM 9.30).
    With BPM 9.24 the documentaion (<BPM>\ServletContainer\webapps\ROOT\help\BPMWeb\Content\API\overview.htm) shows
    Web Services API

    The BPM Web Services API enables you to run the following operations on your BPM machine:
    add - Adds a new instance on the BPM machine according to the passed parameters.
    setSpecificUser - Defines the user for running the BPM process.
    Note: The WSDL contains additional functions to those listed above, which are not supported in BPM version 9.23 or later.

    I just tested on BPM 9.30, and the URL still works localhost:2696/.../BPMApi.wsdl, so at least parts of still work,
    but after going over the list of operations I cannot find the stuff you would need, like retrieving metric data from BPM and alike,
    plus, only the listed subset would be supported.

    And I think that this API wouldn't resolve your issue:
    there is the EUM Admin API, which would allow you to perfom various EUM configuration tasks without the BSM GUI, but on the BSM side.
    And there is this BPM API, which allows some actions on the BPM side,
    but the main issue - data-wise, would remain:

    - BPM creates .sba files and sends byte array data to BSM.
    BPM is not sending any files in file stream. It always converts them to byte arrays before sending to BSM.

    - BPM will send *.json, *.metadata, *.endstatus as part of transaction samples data,
    *.html, jpeg, *.inf and etc will send as part of error data. But, all files will be converted into encrypted byte arrays before sending to BSM.

    - BPM will use only 80 port in case of HTTP communication. If the communication is on HTTPS protocol, then BPM will use 443 port.

    BSM <-> BPM communication is using SOAP web service,
    for example
    BSM sends request <http or https>://<bpm fqdn or ip>:<port>/jsp/agent/api/BPMApi.wsdl

    BPM uses
    to access WDE on GW server (to upload metric data and more)

    So will all API in place, the middleman would still be missing.

    Perhaps you can somehow fool BSM, setup all as usual, then regularly collect the data from the BPM system,
    copy it to BSM and then mimic the calls to
    but ...
    BTW, I found a case with R&D with this setup:
    customer will use a third party software (DataPower) which will be in the middle of the communication between BPM and BSM
    so he needs the full information about all files and connections that BPM uses/sends during its communication to BSM.

    The information from above (files, ports) was sufficient to implement this, so maybe it helps you as well?


  • Hi Siggi, 

    Thanks for your kind help as always, I'm very interested in the R&D case, is it possible to have a full description ? Or a reference ? Maybe we can send the reference to our HPE Manager and he can investigate.

    You say they implemented the solution with the info provided (files , port...), how it was implemented ? Could we have more details?

    Thanks again for your appreciate help

  • Hi Adr,

    your very issue has been discussed in an internal forum, with the additional information
    they will not allow port connectivity through the FW from the BPM back to the BSM. 
    Even port 443 HTTPS is being prevented. 
    They state the only method that would be allowed for BSM<->BPM connectivity would have to be via our SOA Access Gateway. 
    They have asked if the BPM instance can be configured to talk to the BSM via a WSDL on the gateway and it’s this that I don’t think is possible.

    One guy from R&D responded
    No, it is not possible.
    BPM <-> BSM communication is based HTTP/S communication. And it is not customizable.

    so I think there is not a lot what can be done.

    I checked the R&D case again, but there is not more information (useful for your case) it it, as in the end it's a different issue, as there the HTTP communication still could be used.

    I thought about some real creative ways to get this done, like setting up a BPM within the BSM network which mimics the real ones (same application / script setup, but not running the transactions), and then moving the metric data from the real BPMs to this one after updating all the data to make it like it comes from the "mimic" one, and then this mimic BPM feeds the data into BSM, but this would be an awful lot of work, and I cannot say for sure that this would work at all,
    not even thinking about the support impact.


  • Hi Siggi,

    Thanks for your help, we are giving up in this issue because we can't find a way to do it. 

    Thanks four your support