cancel
Showing results for 
Search instead for 
Did you mean: 

Expose Object as Web Service - Auto Initialisation on Session & License

VincentMa1
Level 2
Hi all,

First discussion post here, been a long time lurker.

Just a bit of context: I have an overall Blue Prism process split into 2 modular parts:
  1. First part to allow 3rd party Web Service consumer to make SOAP call to Runtime Resource to inject a queue item into a work queue
  2. Second part to then have the same runtime resource at a regular interval kick off "underlying work" of actually performing actions on screen

I've consulted the Web Services guide already and have ran many tests, but so I am trying to do the following, but having issues:
  • Runtime Resource initialised and is "Idle" with no active sessions
  • 3rd party consumer calls Exposed Object X as SOAP web service
    • Auto-Initialisation is used
    • Queue Item successfully added
    • Runtime Resource now has 1 active session, and stays active even though object action is complete
  • 3rd party consumer calls Attempt to call "Clean-Up" default action page within same Object X
  • A very barebone almost empty response is returned
  • Runtime Resource is still busy with 1 active session, and I am unable to execute Part 2 of my process

As far as I have understood (happy to be corrected), auto-initialisation allows me to stay at 1 license being consumed, and if any further calls while the first session is still running, the queued calls will still be processed accordingly and the session gets updated with incremental logging.

Documentation mentions that in manual initialisation mode we need to manually call "Clean-Up" to drive the session to be closed, and that if bpinstance value is set to auto-initialisation, no additional steps would need to be taken.

Wanted to hear if anyone has managed to utilise exposed Object WS to cause the runtime resource to free up the session (and hence the license) and also use in conjunction with the memory queuing capability of the Exposed Web Services.

Thanks in advance.

------------------------------
Vincent Ma
Senior Robotics Developer
Australia/Melbourne
------------------------------
1 BEST ANSWER

Best Answers

bruce.liu
Staff
Staff
Hi Vincent,

Please find a diagram below I created to illustrate the concept of different initialisation modes.

Use Auto-initialisation, you are able to call any action in any objects and each will be executed in a first-come-first-serve manner. You as the calling user do not need to handle any sessions associated with the call. Objects with any run-modes can be queued in the same session. This is usually the simplest for the caller to manage but depending on the request volume you may encounter delayed responses. 1 license is used for that runtime. This is the method most of the people would use.

Use Manual-initialisation, you must explicitly invoke Initialise and Clean-up actions methodologically. Calling an action from a new object cannot reside in existing sessions not associated with the same object. As you can see there is a lot of management you must do in coordinating those sessions in a runtime. People use Manual-initialisation if they want full controls over the session creation, and often that is only achievable through programming. Depending on the number of active sessions, multiple licenses may be required on the same runtime.

16054.png

Hope this helps.

Regards,


------------------------------
Bruce Liu
Senior Product Consultant, Professional Services
Blue Prism
Australia/Sydney
------------------------------

View answer in original post

1 REPLY 1

bruce.liu
Staff
Staff
Hi Vincent,

Please find a diagram below I created to illustrate the concept of different initialisation modes.

Use Auto-initialisation, you are able to call any action in any objects and each will be executed in a first-come-first-serve manner. You as the calling user do not need to handle any sessions associated with the call. Objects with any run-modes can be queued in the same session. This is usually the simplest for the caller to manage but depending on the request volume you may encounter delayed responses. 1 license is used for that runtime. This is the method most of the people would use.

Use Manual-initialisation, you must explicitly invoke Initialise and Clean-up actions methodologically. Calling an action from a new object cannot reside in existing sessions not associated with the same object. As you can see there is a lot of management you must do in coordinating those sessions in a runtime. People use Manual-initialisation if they want full controls over the session creation, and often that is only achievable through programming. Depending on the number of active sessions, multiple licenses may be required on the same runtime.

16054.png

Hope this helps.

Regards,


------------------------------
Bruce Liu
Senior Product Consultant, Professional Services
Blue Prism
Australia/Sydney
------------------------------