Solutions' Methods on VersaCloud
Each solution contains a number of methods, defined by the solution developer and then called for execution using the set of APIs with names starting in 'Method…'. All solution defined methods share all attributes of our native cloud-based time-limited transaction manager's APIs: methods not only have associated method rights (as cited above), but are, for example, managed as time-limited transactions, charged to users, logged and subject to reentrancy restrictions.
In order to be able to call any method of a specific solution, the user has to be logged into the solution by a successful call to the 'SolutionLoginAllow' API (and logged off calling the corresponding 'SolutionLoginCommit' API). Most APIs that need to identify the user on our cloud-based time-limited transaction manager take an operation handle returned by a call to the 'UserLoginAllow' API. However, when calling a specific solution's method (by means of the transaction delimited by 'MethodInvokeAllow' and 'MethodInvokeCommit' APIs, which will be detailed later on), the required operation handle has to be obtained from a call to the 'SolutionLoginAllow' API.
Besides this special solution login requirement, any solution method shares all characteristics designed for the native APIs of our cloud-based time-limited transaction manager. Hence, a significant number of APIs of our transaction manager are aimed at handling solution methods. In first place, solution methods need to be registered with our cloud-based time-limited transaction manager using the 'MethodAddAllow' and 'MethodAddCommit' APIs. 'MethodAddAllow' takes, among its parameters, the master solution token of the solution the method will belong to and the new method's name. In order to check if a specific name has already been defined as a solution's method, the 'MethodValid' API must be called, providing the solution and method's candidate name as parameters.
Solution methods can have their usage limited in time, by means of calls to the 'MethodSinceSetAllow', 'MethodSinceSetCommit', 'MethodUntilSetAllow' and 'MethodUntilSetCommit' APIs. In order to query the actual initial and final timestamps in usage for a specific method, the 'MethodSinceGet' and 'MethodUntilGet' APIs are available.
Once a solution method is defined, it can be documented by providing a description (in various human languages) through calls to the 'MethodDocumentationSetAllow' and 'MethodDocumentationSetCommit' APIs. A method's documentation can be retrieved through calls to the 'MethodDocumentationGet' API.
Also, any solution method can be queried and modified in regards to its return type and recalling limitations by means of the 'MethodTypeGet', 'MethodTypeMinLenGet', 'MethodTypeMaxLenGet', 'MethodTypeSetAllow', 'MethodTypeSetCommit', 'MethodMinimumDelayGet', 'MethodMinimumDelaySetAllow', 'MethodMinimumDelaySetCommit', 'MethodMinimumDelayPerUserGet', 'MethodMinimumDelayPerUserSetAllow' and 'MethodMinimumDelayPerUserSetCommit' APIs.
US Patent Requested