The Deployment Descriptor File

A deployment configuration can be defined in the deployment descriptor file, including deployment mode, synchronization mode, package name, domain name, named security, endpoint mapping information, and role mapping information.

You can deploy with this descriptor file using the option -dcf descriptorFile option. Most of the configuration can be specified in the deployment command. For endpoint mapping, map an existing endpoint for an entity or operation.

Schema

The schema for the descriptior file is:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:dd="http://www.sybase.com/sup/supadmin"
	xmlns:afx="http://www.sybase.com/sup/afx"
	targetNamespace="http://www.sybase.com/sup/supadmin"
	elementFormDefault="qualified" attributeFormDefault="unqualified">
	
	<xs:import namespace="http://www.sybase.com/sup/afx"   
              schemaLocation="afx.xsd"/>
	
	<xs:element name="deployment">
		<xs:complexType>
			<xs:sequence>				
				<xs:element ref="dd:deploy_mode" minOccurs="1"    
                                                       maxOccurs="1"/>
				<xs:element ref="dd:sync_mode" minOccurs="1" 
                                                       maxOccurs="1"/>
				<xs:element name="package_name" type="xs:string" 
                                                       minOccurs="1" maxOccurs="1"/>
				<xs:element name="domain_name" type="xs:string" 
                                                       minOccurs="1" maxOccurs="1"/>
				<xs:element name="named_security" type="xs:string" 
                                                       minOccurs="1" maxOccurs="1"/>
				<xs:element ref="dd:endpoint_mapping" minOccurs="0" 
                                                       maxOccurs="unbounded"/>
				<xs:element ref="dd:role_mapping" minOccurs="0" 
                                                       maxOccurs="unbounded"></xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	
	<xs:element name="deploy_mode" type="dd:deploy_mode_type"/>
	<xs:simpleType name="deploy_mode_type">
		<xs:restriction base="xs:string">
			<xs:enumeration value="REPLACE"/>
			<xs:enumeration value="UPDATE"/>
			<xs:enumeration value="VERIFY"/>
		</xs:restriction>		
	</xs:simpleType>
	
	<xs:element name="sync_mode" type="dd:sync_mode_type"/>
	<xs:simpleType name="sync_mode_type">
		<xs:restriction base="xs:string">
			<xs:enumeration value="REPLICATION"/>
			<xs:enumeration value="MESSAGE"/>
		</xs:restriction>		
	</xs:simpleType>
	
	<xs:element name="endpoint_mapping" type="dd:endpoint_mapping_type"/>
	<xs:complexType name="endpoint_mapping_type">
		<xs:choice>
			<xs:element ref="dd:entity"/>
			<xs:element ref="dd:operation"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- named security configuration need support -->
	<xs:element name="role_mapping" type="dd:role_mapping_type"/>
	<xs:complexType name="role_mapping_type">
		<xs:sequence>
			<xs:element name="physical_role" type="xs:string"  
                                      minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="logic_role" type="xs:string" 
                          use="required"></xs:attribute>
		<xs:attribute name="mapped_type" type="dd:mapped_type_type" 
                          use="required"></xs:attribute>
	            </xs:complexType>	
	
	<xs:element name="entity" type="dd:entity_type"/>
	<xs:complexType name="entity_type">
		<xs:sequence>
        	<xs:element name="ds_data" type="dd:ds_data_type"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
		<xs:attribute name="name" type="xs:string"/>
	</xs:complexType>

	<xs:element name="operation" type="dd:operation_type"/>
	<xs:complexType name="operation_type">
        <xs:sequence>
        	<xs:element name="ds_data" type="dd:ds_data_type"/>
        </xs:sequence>
        <xs:attribute name="entity_id" type="xs:string"/>
		<xs:attribute name="entity_name" type="xs:string"/>
		<xs:attribute name="name" type="xs:string"/>		
	</xs:complexType>
	
	<xs:complexType name="ds_data_type">
		<xs:sequence>
			<xs:element name="data_source_name" type="xs:string" />
			<xs:element name="data_source_type" 
                                      type="dd:data_source_type"/>
			<xs:choice minOccurs="0" maxOccurs="1">
				<xs:element ref="afx:connection-profile" minOccurs="1" 
                                                  maxOccurs="1"/>
				<xs:sequence minOccurs="1" maxOccurs="1">
					<!-- currently, 'connection_property' only available 
                                                              when 'data_source_type' is 'WSSOAP' -->
			    	<xs:element ref="dd:connection_property" minOccurs="1" 
                                                  maxOccurs="unbounded"/>
			    </xs:sequence>
		    </xs:choice>
		</xs:sequence>
	</xs:complexType>
	
	<xs:simpleType name="data_source_type">
		<xs:restriction base="xs:string">
			<xs:enumeration value="JDBC" />
			<xs:enumeration value="DOE" />
			<xs:enumeration value="JCA" />
			<xs:enumeration value="SAP" />
			<xs:enumeration value="WSSOAP" />
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="mapped_type_type">
		<xs:restriction base="xs:string">
			<xs:enumeration value="MAPPED" />
			<xs:enumeration value="NONE" />
			<xs:enumeration value="AUTO" />
		</xs:restriction>
	</xs:simpleType>
	
	<xs:element name="connection_property">
		<xs:complexType>
			<xs:attribute name="name" type="xs:string" 
                                      use="required"></xs:attribute>
			<xs:attribute name="value" type="xs:string" 
                                      use="required"></xs:attribute>
			<xs:attribute name="encrypted" type="xs:boolean" 
                                      use="optional"></xs:attribute>
		</xs:complexType>
	</xs:element>
	
</xs:schema>

Example

<sup:deployment xmlns:sup="http://www.sybase.com/sup/supadmin">
<sup:deploy_mode>UPDATE</sup:deploy_mode>
<sup:sync_mode>MESSAGE</sup:sync_mode>
<sup:package_name>test:1.0</sup:package_name>
<sup:domain_name>default</sup:domain_name>
<sup:named_security>admin</sup:named_security>
<!—This endpoint mapping set ws as the endpoint for entity ConversionRate-->
<sup:endpoint_mapping>
<sup:entity id="_uq_hYGAlEeCo7Mo8NbZ9vw" name="ConversionRate">
<sup:ds_data>
<sup:data_source_name>ws</sup:data_source_name>
<sup:data_source_type>WSSOAP</sup:data_source_type>
</sup:ds_data>
        </sup:entity>
</sup:endpoint_mapping>
<!—This endpoint mapping set sampledb as the endpoint for entity Customer-->
<sup:endpoint_mapping>
        <sup:entity id="_lLL_EGAlEeCo7Mo8NbZ9vw" name="Customer">
<sup:ds_data>
<sup:data_source_name>sampledb</sup:data_source_name>
<sup:data_source_type>JDBC</sup:data_source_type>
</sup:ds_data>
       </sup:entity>
</sup:endpoint_mapping>
<!—Following endpoint mapping set sampledb as the endpoint for the operations-->
<sup:endpoint_mapping>
         <sup:operation entity_id="_lLL_EGAlEeCo7Mo8NbZ9vw" entity_name="Customer" name="create">
             <sup:ds_data>
                  <sup:data_source_name>sampledb</sup:data_source_name>
                  <sup:data_source_type>JDBC</sup:data_source_type>
             </sup:ds_data>
         </sup:operation>
</sup:endpoint_mapping>
<sup:endpoint_mapping>
       <sup:operation entity_id="_lLL_EGAlEeCo7Mo8NbZ9vw" entity_name="Customer" name="update">
           <sup:ds_data>
                <sup:data_source_name>sampledb</sup:data_source_name>
                <sup:data_source_type>JDBC</sup:data_source_type>
           </sup:ds_data>
        </sup:operation>
</sup:endpoint_mapping>
<sup:endpoint_mapping>
      <sup:operation entity_id="_lLL_EGAlEeCo7Mo8NbZ9vw" entity_name="Customer" name="delete">
          <sup:ds_data>
                <sup:data_source_name>sampledb</sup:data_source_name>
               <sup:data_source_type>JDBC</sup:data_source_type>
          </sup:ds_data>
      </sup:operation>
</sup:endpoint_mapping>
<sup:role_mapping logic_role="Role3" mapped_type="MAPPED">
<sup:physical_role>SUP Administrator</sup:physical_role>
</sup:role_mapping>
<sup:role_mapping logic_role="Role1" mapped_type="NONE">
<sup:physical_role>None</sup:physical_role>
</sup:role_mapping>
</sup:deployment>