Last modified on 11 July 2013, at 08:15

UBIK Enterprise Service

Revision as of 08:15, 11 July 2013 by JKN (Talk | contribs) (Concept)

The UBIK® EnterpriseService is a Windows service that is meant to automate UBIK® interface components or interface workflows.

Concept

The EnterpriseService typically runs on a server and watches an arbitrary amount of folders in the file system for changes, like new or modified files. Once such a change occurs, it parses the file and checks if its extension matches the signature of a UBIK® command file. If true, it will be processed.

Command file

A command file for the UBIK® EnterpriseService is a plain text file and has the extension .command. When the EnterpriseService starts processing such a file, it will be parsed as an XML document, every non-XML information in the file will be ignored. A sample command file for starting an interface component looks like this:

<InterfaceManager>
  <Commands>
    <Interface FullName="UBIK.TEST, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" File="F:\Test\UBIK.TEST.dll" Class="UBIK.TestInterface" Direction="E">
      <Parameter Key="Server" Value="AUGLNZ0SQL" />
      <Parameter Key="InitialCatalog" Value="UBIK.Sandbox.Dev.V2" />
      <Parameter Key="UserID" Value="sa" />
      <Parameter Key="Password" Value="secretpassword123" />
      <Parameter Key="RecordLifeTime" Value="-1" />
      <Parameter Key="MyIFNeedsThis" Value="TestValue" />
    </Interface>
  </Commands>
</InterfaceManager>

This command file would attempt to instantiate the class UBIK.TestInterface from the assembly F:\Test\UBIK.TEST.dll. If connection succeeds, it will then invoke the the methods of the export interface, because of the setting Direction="E".

A sample command file for starting a workflow looks slightly different:

<InterfaceManager>
  <Commands>
    <Workflow Name="WF_XML_TEST" UID="5fdccb8c-85db-4dfc-861a-57be38267bfb" Async="False">
      <Parameter Key="Server" Value="AUGLNZ0SQL" />
      <Parameter Key="InitialCatalog" Value="UBIK.Sandbox.Dev.V2" />
      <Parameter Key="UserID" Value="sa" />
      <Parameter Key="Password" Value="secretpassword123" />
      <Parameter Key="RecordLifeTime" Value="-1" />
      <Parameter Key="MyWorkflowNeedsThis" Value="TestValue" />
    </Workflow>
  </Commands>
</InterfaceManager>

This command file would attempt to load the workflow object with the Guid 5fdccb8c-85db-4dfc-861a-57be38267bfb and invoke it synchronously, because of the setting Async="False".

IC Hint square.pngSuch files can of course be created and edited manually, but they can be more comfortably created using the Interface Manager