Remote Invocations and Archibus Workflow Rules

All business logic within Web Central executes as a workflow rule, regardless of whether called directly from within Web Central, called from a remote Web Service, or called via an http/https invocation.

This consistency is a tremendous advantage, since all of the tools, skills, and Web Central APIs that are available to you when you write a standard Web Central workflow rule are also available to you when you write a workflow rule that is to be invoked as a Web Service.

This structure also supports Web Services calls in the opposite direction.  You can make calls from within Web Central to remote systems; for instance, you can establish a standard user action on a Web Central form to call a workflow rule, which in turn calls an external Web Service as part of its processing.

Workflow Rule Execution Contexts

The essential difference between a standard Web Central workflow rule and one that is invoked remotely is how each type of workflow rule obtains its execution context.  This execution context supplies each workflow rule with security restrictions, database pooling connections, input and output parameters, and access to the Web Central API.

  • In a standard workflow rule, Web Central assembles the context information as part of the invocation of the rule, and when doing so Web Central respects the current user’s security permissions, account, and session.
  • In a workflow rule invoked by a remote invocation, you use the Web Services API illustrated in the examples below to create the context in which the Web Service workflow rule will run. When dispatched in this manner, the workflow rule runs in the System account, just as Web Central scheduled workflow rules do.

Apache Axis

Archibus ships with Apache Axis, an open-source service that allows you to make and receive Web Services calls via the W3C SOAP (simple object access protocol).  You can find out more about Axis at http://ws.apache.org/axis/ .  However, by changing the code according to the techniques shown in the examples, you can use the same techniques to integrate with your own Web Services framework.