Build File for Proxy Service Management

Use the command-line interface for proxy service managment to create and remove proxy applications. This section covers some of the commonly used targets to create and manage a proxy application. For more help on targets, use the command: <target name="help"></target>. The build file for proxy service management is located under <TIBCO-HOME>/pd/1.2/scripts/psm.

project Element

The project element declares the default build target for the build.xml file. taskdef and target are subelements of the project. The optional default attribute allows you to specify a default target. You can select any target from the build file to be the default target.

<project default="target">
  <taskdef ... />
  <target name="target" ... />
</project>

import Element

The import element identifies the task definition file, which defines the path to the libraries required by ActiveMatrix Policy Director Governance.

Set the file attribute to ${basic.cli.file} and ${gov.admin.cli.file} . For example:
<import file="${basic.cli.file}"/>
<import file="${gov.admin.cli.file}"/>

property Element

The property element identifies the properties definition file, which defines the path to the scripts required by ActiveMatrix Policy Director Governance. The following code snippet serves as an example:

<property file="${props.file}"/>
<property name="soap-http-resources-file" 
value="${pd.scripts.directory}/psm/http_resource_template_configs.xml"/> 
<property name="soap-jms-resources-file" 
value="${pd.scripts.directory}/psm/jms_resource_template_configs.xml"/> 
<property name="soap-http-data-file" 
value="${pd.scripts.directory}/psm/cli_data_http.xml"/> 
<property name="soap-http-data-file-properties"
 value="${pd.samples.directory}/proxyapp/soap-over-http/data.properties"/> 
<property name="soap-http-wsdl-file"
 value="${pd.samples.directory}/proxyapp/soap-over-http/wsdls/BooksService.wsdl"/> 
<property name="soap-jms-data-file"
 value="${pd.scripts.directory}/psm/cli_data_jms.xml"/>
<property name="soap-jms-data-file-properties"
 value="${pd.samples.directory}/proxyapp/soap-over-jms/data.properties"/>
<property name="soap-jms-wsdl-file"
 value="${pd.samples.directory}/proxyapp/soap-over-jms/wsdls/BooksService.wsdl"/>

target Element

The target element specifies the actions performed for an execution of the command line interface via the GovernanceAdminTask subelement. In a target you can provide a depends attribute containing a list of targets. Each target will be run in order until one fails or the list completes.

<target name="target">
  <AMXAdminTask ... />
</target>

create-samples Target

The sample proxy application uses one of the two communication modes: SOAP/HTTP or SOAP/JMS. The data file specified in the <antcall> parameter will change depending on the communcation mode.

<target name="create-samples" 
   description="Create sample proxy applications. 
   Two applications are created that will demonstrate SOAP/HTTP and SOAP/JMS usage. "> 
   <antcall target="create-sample-application"> 
      <param name="dataFile" value="${soap-http-data-file}"/> 
      <param name="dataFile.properties" value="${soap-http-data-file-properties}"/> 
      <param name="wsdlFile" value="${soap-http-wsdl-file}"/> 
   </antcall> 
   <antcall target="create-sample-application"> 
      <param name="dataFile" value="${soap-jms-data-file}"/> 
      <param name="dataFile.properties" value="${soap-jms-data-file-properties}"/> 
      <param name="wsdlFile" value="${soap-jms-wsdl-file}"/> 
   </antcall>
</target>

remove-samples Target

The remove-samples target is similar to the create-samples target.

<target name="remove-samples" 
  description="Remove sample proxy applications bundled with the product.
  All resources created for this sample application will also be removed. "> 
   <antcall target="remove-sample-application"> 
      <param name="dataFile" value="${soap-http-data-file}"/> 
      <param name="dataFile.properties" value="${soap-http-data-file-properties}"/> 
      <param name="wsdlFile" value="${soap-http-wsdl-file}"/>
   </antcall> 
   <antcall target="remove-sample-application"> 
      <param name="dataFile" value="${soap-jms-data-file}"/> 
      <param name="dataFile.properties" value="${soap-jms-data-file-properties}"/> 
      <param name="wsdlFile" value="${soap-jms-wsdl-file}"/> 
   </antcall> 
</target>

soap-jms Target

Use the soap-jms target to specify the WSDL and data files.

<target name="soap-jms"> 
  <property name="dataFile" value="${soap-jms-data-file}"/> 
  <property name="dataFile.properties" value="${soap-jms-data-file-properties}"/> 
  <property name="wsdlFile" value="${soap-jms-wsdl-file}"/>
</target>

soap-http Target

Use the soap-jms target to specify the WSDL and data files.

<target name="soap-http"> 
  <property name="dataFile" value="${soap-http-data-file}"/> 
  <property name="dataFile.properties" value="${soap-http-data-file-properties}"/> 
  <property name="wsdlFile" value="${soap-http-wsdl-file}"/>
</target>

registerService Target

The registerService target is used to register a WSDL with the proxy application.

<target name="registerService" 
   description="Register a WSDL with TIBCO ActiveMatrix Policy Director 
   Proxy Service Management application" 
   depends="-validate"> 
   <PDAdminTask failOnError="true" force="true" createIfNotExists="true" 
    merge="true" overwrite="true" 
    dataFile="${dataFile}" propsFile="${props.file}" remote="true" 
    objectSelector="WSDL" 
    action="register"/>
</target>

createProxyApplication Target

The createProxyApplication target is used to create a proxy application. The node and the resource instances specified in the data file must exist to ensure that the proxy application is created successfully.

<target name="createProxyApplication" 
   description="Create a proxy application with information provided in $${dataFile}.
   depends="-validate"> 
   <PDAdminTask failOnError="true" force="true" createIfNotExists="true" 
    merge="true" overwrite="true" 
    dataFile="${dataFile}" propsFile="${props.file}" remote="true" 
    objectSelector="ProxyApplication" 
    action="create"/>
</target>

getProxyApplication Target

The getProxyApplication target is used to fetch details of a proxy application.

<target name="getProxyApplication" 
  description="Retrieves proxy application details."
  depends="-validate"> 
  <PDAdminTask failOnError="true" force="true" createIfNotExists="true" 
   merge="true" overwrite="true" 
   dataFile="${dataFile}" propsFile="${props.file}" remote="true" 
   objectSelector="ProxyApplication" 
   action="get"/>
</target>

updateProxyApplication Target

The updateProxyApplication target is used to modify a proxy application.

<target name="updateProxyApplication" 
   description="Update a proxy application with information provided in $${dataFile}. 
   depends="-validate"> 
   <PDAdminTask failOnError="true" force="true" createIfNotExists="true" 
    merge="true" overwrite="true" 
    dataFile="${dataFile}" propsFile="${props.file}" remote="true" 
    objectSelector="ProxyApplication" 
    action="update"/> 
</target>

deleteProxyApplication Target

The deleteProxyApplication target is used to delete a proxy application. Before deleting, the application is stopped and undeployed. The resource templates/instances created for this application will not be removed.

<target name="deleteProxyApplication" 
   description="Deletes proxy application." depends="-validate">
   <PDAdminTask failOnError="true" force="true" createIfNotExists="true" 
    merge="true" overwrite="true" 
    dataFile="${dataFile}" propsFile="${props.file}" remote="true" 
    objectSelector="ProxyApplication" 
    action="delete"/> 
</target>

configure-ProxyNode Target

The following code snippet is an example on configuring a proxy node:

<target name="configure-ProxyNode">
   <ant dir="${TIBCO_HOME}/pd/1.2/scripts" 
     antfile="governance_pd_proxynode_build.xml"> 
       <property name="TIBCO_HOME" value="${TIBCO_HOME}"/> 
       <property name="pd.proxynode.config.CLI.data.file" 
        value="${psm.scripts.directory}/governance_pd_proxy_node_data.xml"/> 
       <property name="port.number.file" value="${port.number}"/> 
       <property name="node.name" value="${node.name}"/> 
       <property name="pd.proxymanagement.urlpattern" value="%Endpoint%proxy"/> 
       <property name="create.proxy.node" value="true"/> 
   </ant> 
</target>

remove.ProxyNode Target

The following code snippet is an example on removing a proxy node:

<target name="remove.proxynode"> 
   <ant dir="${TIBCO_HOME}/pd/1.2/scripts" target="remove.proxynode" 
     antfile="governance_pd_proxynode_build.xml"> 
       <property name="TIBCO_HOME" value="${TIBCO_HOME}"/> 
       <property name="pd.proxynode.config.CLI.data.file"
        value="${psm.scripts.directory}/governance_pd_proxy_node_data.xml"/> 
       <property name="port.number.file" value="${port.number}"/> 
       <property name="node.name" value="${node.name}"/> 
       <property name="create.proxy.node" value="true"/> 
   </ant> 
</target>