Dashboard > Appistry EAF v3.7 > Documentation > Application definition file
Log In   View a printable version of the current page.  
  Application definition file

An application definition file identifies the authorized user groups, task files, process flow definition files, and support files that comprise a fabric application. Fabric package uses this file to bundle all the application files into one package. Only one version of an application can exist on the fabric at a time.

The files are listed by category

  • group-access,
  • tasks,
  • process-flows, and
  • support-files.

Below is the basic syntax of an application definition file.

<?xml version='1'?>
<!DOCTYPE app SYSTEM 'FabricApp.dtd'>
<app name='name' version='version number'>
  <group-access>
    <group name='group name'/>
    <group name='group name'/>
    <group name='group name'/>
  </group-access>
  <tasks>
    <file name='file name'/>
    <file name='file name'/>
    <file name='file name'/>
  </tasks>
  <process-flows>
    <file name='file name'/>
    <file name='file name'/>
    <file name='file name'/>
  </process-flows>
  <support-files>
    <file name='file name'/>
    <file name='file name'/>
    <file name='file name'/>
  </support-files>
 </app>
App element The app element has two attributes: name and version. The name attribute specifies the name of the application and is case sensitive. The application name can consist of alphanumeric characters (upper or lower case), hyphens
, and underscores (_).

The version attribute indicates the application version. The fabric uses the version value to ensure the most current version of the fabric application is running. All version numbers are right justified and zero filled. When comparing version 1.2 with 1.19, the application fabric actually compares 1.02 with 1.19. Version 1.19 is considered newer than version 1.2. Also, when comparing version 1.0.0 with 1.0 and 1, 1.0.0 is considered newer than version 1.0 and 1.0 is considered newer than version 1.

Below is an example of an app element.
<app name='order_app' version='1.0'>
Group-access element The group-access element identifies the list of groups authorized to run the application. This element is optional, if you include group-access in the application definition file, it must follow the app element. The sub-element group name specifies the name of the group.

If the group-access element is not present, all users have authorization to run the application unless otherwise restricted by the process flows. Consult with your fabric administrator for group members and group names.

Below is an example of the group-access and group name elements.
<group-access>
  <group name='group name'/>
</group-access>
Tasks element The tasks element identifies the list of task definition files in the application. The sub-element file name specifies the name of the task definition file. The tasks element must follow the group-access element if the application definition file includes the group-access element. If the group-access element is not included, the tasks element must follow the app element.

Below is an example of the tasks and file name elements.
<tasks>
  <file name='tutorial_tasks.xml'/>
</tasks>
Process-flows element The process-flows element identifies the list of process flow definition files in the application. The sub-element file name specifies the name of a process flow definition file and must be identical to the process name. The process-flows element must follow the tasks element.
Below is an example of the process-flows and file name elements.
<process-flows>
  <file name='order_item.xml'/>
</process-flows>
Support-files element The support-files element identifies the list of third party files or other support files required by the application. The sub-element file name specifies the name of a support file. Any Java .jar files included in the sub-element file name are automatically added to the class path.

The support-files element is optional, if you include this element it must follow the process-flows element. Below is an example of the support-files and file name elements.
<support-files>
  <file name='file name'/>
</support-files>

Example application definition file

01. <?xml version='1.0'?>
02. <!DOCTYPE app SYSTEM 'FabricApp.dtd'>
03. <app name='hello_world_java_app' version='1.0'>
04.     <tasks>
05.         <file name="hello_world_task.xml" />
06.     </tasks>
07. 
08.     <process-flows>
09.         <file name="hello_world_flow.xml" />
10.     </process-flows>
11. </app>
12.