You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Protocol Fragments

When a source or target is specified for a file transfer operation a reference is made to a protocol fragment element. Protocol fragments are elements the Fragments branch in the XSD Schema and can be thought of as a series of predefined part configurations that can be called up as required for specific file transfer operations.

Protocol fragments are usually form the starting point when configuring a file transfer. Profiles, which reference protocol fragments, are specified after the protocol fragments have been defined.

Operationally, the starting point is a Profile, which then calls the protocol fragments.

XML Hierarchy

ProtocolFragments are children of the Fragments element and in turn can have any number of child elements. Example protocol fragment elements would be the FTPFragment and the SFTPFragment.

Protocol fragment elements have descendants that specify parameters such as the authentication method, the connection type and proxy.

The upper levels of the Fragments branch of the XML hierarchy are

  • Fragments
    • ProtocolFragments
      • FTPFragment
      • FTPFSRagment
      • etc.
    • AlternativeFragments (optional)
    • NotificationFragments (optional)

 

Protocol fragment elements are protocol-specific - that is, there is a ProtocolFragments element defined in the XSD schema for each file transfer protocol. This approach enables the properties of each protocol to be reflected in the schema and allows dependencies and incompatibilities to be defined. A trivial example here would be that a PassiveMode element can be specified for an FTPFragment but not for an SFTPFragment.

The next diagram shows the structure of an example protocol fragment element - the FTPFragment:

  • FTPFragment
    • BasicAuthentication
      • Account
      • Password (optional)
    • BasicConnection
      • Hostname
      • Port (optional)

Note that protocol fragments can be used for either a transfer source or target as required. This is described in more detail in the next section.

Calling Protocol Fragments

Any number of ProtocolFragments can be specified within a file transfer configuration and any number of fragments can be defined for a particular protocol. A particular fragment is referenced by a name attribute and this attribute is referenced by a corresponding fragment reference element in the configuration Profiles branch.

Operation-dependent source and target elements specify the ProtocolFragments element that is to be used. For example:

The XML hierarchy used to define the fragments required for a copy operation from a remote source to a target on the local file system is as follows:

  • Operation
    • Copy
      • CopySource
        • CopySourceFragmentRef
          • FTPFragmentRef (Has the ref Attribute which specifies the source ProtocolFragment)
        • SourceFileOptions
          • Selection
      • CopyTarget
        • CopyTargetFragmentRef
          • LocalTarget (A ProtocolFragment does not need to be defined here as the target is the local file system )
        • Directory

The use of protocol fragments is described in more detail in the Configuring Protocol Fragments article.

General Comments

The advantage of this approach - which may at first seen somewhat complex - is that fragments can flexibly reused within the otherwise strict XML hierarchy and that configurations can be validated against an XSD schema. Validation means that the possibility of configuration errors is greatly reduced.

A Fragment can be used as a source or as a target within the one Configuration.

Note:

  • AlternativeFragments elements are used to specify a number of fragments. These fragments will be applied in order, should, for example, a server not be available. For example, it is conceivable that in some situations a less secure protocol would be tried if the original (more secure) one is not available.
    AlternativeFragments are described in more detail here.

  • No labels