Jump to content

BPM Integration & Automation


Gerry

Recommended Posts

I thought I would post a quick preview of an upcoming feature of our business process tool.  We are expanding its capability to include a new "Web Call" node.  This new node will enable you to make calls to other systems or cloud services applications via restful API's which significantly expands your options for automation of business processes that need to interact with other systems. 

webcall.png

My goal as the architect for our platform technology has always been to keep the BPM 100% code free so that process managers do not have to have a programming background in order to make effective use of our BPM, but thats always a play-off, and this is one example where the absence of code limits absolute flexibility because there are so many different shapes and sizes of API's out there, code is the only "glue" that will give you ultimate flexibility. To solve that problem we are also developing an "API bridge" service that can contain and run glue code required while still keeping the BPM clean and code free for simpler day to day use.  

Once this feature is rolled out (expected to be in the next 2-3 weeks max) we will be exploring options for achieving the same for on-premise IT infrastructure and operations type orchestration and automation which I hope to be announcing in the coming weeks. 

This initial implementation is only the first step on our journey for much greater expansion of our BPM integration capability broadening our scope of IT Service Management into IT Operations Management for which there has been a significant demand for. 

Gerry

  • Like 7
Link to comment
Share on other sites

  • Gerry pinned this topic

@Lyonel

Lol you are welcome, glad to oblige :) I would really love to hear about the kinds of integrations you would like to make using this functionality if you care to share?

No the URL can be any HTTP or HTTPS GET or POST request.  You should keep in mind that it will be our servers making the actual web call so whatever URL you use has to be reachable on the public Internet.  

With regards to using HTTPS, while we will not enforce HTTPS we would of course strongly recommend that you do use it because of the traffic being transmitted over public networks

Gerry
 

Link to comment
Share on other sites

Hi,

I'm not very technical when it comes to API's and Webhooks (though I understand what they are)... i'm sure I can ask someone in my department but just wondering if anyone can provide examples of what sort of things could be done with this new feature?

Sorry for my ignorance!

Thanks,

Samuel

Link to comment
Share on other sites

@samwoo

To give you one of our examples we are looking to use this for is to automate Software Patch deployment. Our aim is for our external customers to raise a Service Request via the Customer Portal requesting  specific patch. The BPM for this service would then make an Web call to our file distribution server which would then send a secure download link to the customer via email for them to download the patch. This way we have a record of which customers have downloaded patches and the process is automated fully from beginning to end.

Cheers

Martyn

Link to comment
Share on other sites

@samwoo

As a general rule, if you want to make use of API's or integrate two or more systems you need some basic programming skills - this is why I am not totally comfortable with adding this to the BPM because it turns the BPM into a programming environment - which is bad for both the BPM and the people (like yourself who do not have programming skills) because it starts to turn the BPM into a programming environment. This is where a lot of vendors get it wrong, its a mistake we also made with Supportworks so I am not too keen on re-creating those past problems.  However, in the absence of anything else this is a good interim feature to support those that have the technical/development skills to make use of it.  Once introduced we will always support it, but only as an *advanced* feature. This advanced feature will ultimately be superseded with something better.  

High on our agenda is integration and we are working on a number of things to make it possible for people without programming experience to achieve a high degree of integration and automation orchestration within your IT department which can be driven from the BPM - so watch this space in the coming months.

Gerry 

Link to comment
Share on other sites

@Gerry

At the moment I am still trying to find one that fits all my needs, we currently use MailExpress from Globalscape for manual user initiated file transport, but this does not have an API to achieve what I need it to do, so looking at their other products as well as the other suppliers. It appear that my my requirements (never :rolleyes:) are somewhat unique!

Cheers

Martyn

Link to comment
Share on other sites

Just a quick update on this.  We are adding this node but in the design phase we are running into problems with how to deal with input and results to/from WebCalls and the only way to make this flexible enough is to provide some form of basic coding interface to glue stuff together.  This is not ideal, i do not want to morph the BPM into any kind of programming environment so although I will continue to progress this and add it as an experimental feature, I would not recommend it for production use. I need to find a better way of adding this capability without the need for customers having to code in the BPM. This will almost certainly mean some form of integration bridge to host the "glue" code and present the BPM with something that is usable by non-techs.  

As an interim we can use the webcall node but as I say without us providing a way for you to write glue code its use will be very limited I think.

Anyway, please watch this space, integration approaches are high on our agenda at the moment and I have no doubt that whatever solution(s) we do come up with should be pretty awesome. 

Gerry

  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...

All,

Further update, this new feature has been implemented and is now working.  As I mentioned above my biggest concern with this is how one maps input and output data to web calls, really the only flexible way to do that is with code and we specifically do not want our customers to have to "code" inside the BPM, because not only does that make it more complicated for less technical people but it makes it more difficult for us to guarantee customisations will keep on working.  We are rolling this out as an experimental feature in order to solicit feedback and suggestions so keep in mind this behaviour may change or might even be replaced with something more rounded in the future.  Here is the latest screenshot

bpm_webcall.png

This will be available in the next platform build 2693 (or higher) which will be some time before the end of next week.  If you want to use it you will need to enable the experimental flag in the advanced settings, just search for "WebCall" and you should find it. 

Gerry

  • Like 4
Link to comment
Share on other sites

  • 3 months later...

HI Carl,

We have disabled the feature at the moment, its been superseded with something all together better which I am going to be announcing very soon.   The problem with the web call is dealing with the complexity of "gluing" the inputs and outputs together.  When we designed the BPM I laid down and absolute mandate that outside of simple browsable (point and clickable) "expressions" there will be NO programming skills required to use the BPM. Now while the WebCall concept is a real game changer for automation its also entirely impractical because the only possible way of getting the flexibility is to use some sort of glue code to pass params into the web call, there are options like URL encoded, form encoded, URL params, headers and so on.  Now we could almost deal with this using expressions although it would be messy it could be made to work, but the bigger, MUCH BIGGER problem is how to handle return values and map that back into something useful that the BPM can use for onward processing - this is where it basically gets impossible, the only way we could make this work would be to expose some form of scripting programming in the BPM so despite some early experiments our conclusion its just not really workable. 

The WebCall may still get put into production but with very limited capability, but right now, after experimenting and playing with it, the good and very competent folks here at Hornbill did not think we would be doing our customers any favours by releasing this. 

We have an infinitely better solution which we are working on right now, in fact its almost finished and I will be covering it in great detail at our next Hornbill INSIGHT event which is in June 28th.  So watch this space, we have goodness coming very soon. 

Gerry


 

  • Like 1
Link to comment
Share on other sites

  • 1 year later...

@Joanne

Yes, we are looking at a number of options in this area. As above, we have disabled this capability because the BPM is designed to be used by non-technical/business people, and its to technically complicated to deal with web calls, specifically in relation to input/output parameter mapping. This is why we created the iBridge, but that's generally better for cloud-based integrations, although in some circumstances it can be used to integrate this behind-the-firewall deployed tools and systems.

What is your deployment tool? is that cloud on on-premise based?  What are you trying to achieve?

Thanks,

Gerry

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...