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

Parents
  • 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 ...

    Greetings
    Siggi

  • 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.

     

    Regards

  • 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.

    Greetings
    Siggi

Reply
  • 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.

    Greetings
    Siggi

Children
  • 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.

    Regards 

  • 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
      CreateBpmApplicationRequestBean

    to retrieve entities and related settings, for example
      getBpmApplications

    or to update them, for example
      updateBpmApplication

    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.

    Greetings
    Siggi

  • 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.

     

    Regards

  • 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
    GW/.../mod_mdrv_wrap.dll...
    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
    GW/.../mod_mdrv_wrap.dll...
    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?

    Greetings
    Siggi

  • 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.

    Greetings
    Siggi

  • 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

  • Hi Adr,

    thanks for your update and sorry to hear that you cannot get this implemented, but this was not unexpected, unfortunately.

    Greetings
    Siggi