Protocols
A protocol is a system of data exchange between FME Server and a client.
We know that FME sends and receives messages. Protocols are the method by which these messages are sent and received. Each Trigger and Action is defined using a particular communication protocol.
To trigger an incoming message by email – for example – you would create an Automation using an Email Trigger. To send a notification to a Java Message Service, you would create an Automation that contains a JMS message Action.
There are many different protocols available in FME Server; some of them are only for use as a Trigger, others are only available as Actions, and some of them can be used with both types.
This table lists the different Trigger and Action protocols and the following pages go into greater detail on some of the most commonly used types.
Protocol | Description | Trigger | Action |
---|---|---|---|
Amazon S3 | Monitoring activity in an AWS S3 bucket/Communication to Amazon’s Simple Storage Service | Y | Y |
Amazon SNS | Communication with Amazon’s Simple Notification Service | Y | Y |
Amazon SQS | Communication with Amazon’s Simple Queue Service | Y | Y |
Azure Event Grid | Communication with Microsoft Azure Events | Y | Y |
Directory Watch | Monitoring activity in a Directory | Y | |
Dropbox | Monitoring activity in a Dropbox folder/Communication of a notification (file) to the Dropbox web service | Y | Y |
Email (IMAP) | Receive email messages from an IMAP Server | Y | |
Email (SMTP) | FME Server itself receives email messages/Communication via an email server | Y | Y |
Filter | Test incoming messages for the presence of a specified string | Y | |
FME Server Topic | Receive/Send messages to a Topic to initiate workflow processes | Y | Y |
FME Workspace | Run an FME Desktop Workspace published to FME Server | Y | |
FME Dynamic Workspace | Run an FME Desktop Workspace published to FME Server, with the repository and workspace name coming from output keys in the Automation | Y | |
FTP | Monitor activity/upload a file to an FTP Site | Y | Y |
HTTP Request | Post HTTP requests to the specified URL | Y | |
JMS | Communication with a Java Message Service | Y | Y |
Log | Write Event/Automation details to a log | Y | |
Merge | Combine messages before proceeding downstream in an Automation | Y | |
SFTP | Communication with an SFTP site | Y | |
Schedule | Complete workflow tasks at specific times in the future | Y | |
System Events | Communication with FME Server systems | Y | |
UDP | Communication via a User Datagram Protocol port | Y | |
WebSocket | Communication via a WebSocket channel | Y | Y |
Webhook | Receive messages sent as HTTP Post requests from another application | Y |
Protocols are pre-defined components in the FME Server architecture and do not need to be defined in the web interface.
However, a number of fields are made available to configure when an Automation is created.
For example, here are the parameters for a Directory modified Trigger:
These parameters must be set when the Automation is created as they are needed in order for FME to be able to watch and receive notifications about this Directory. Without configuring these parameters the Automation will have no behave as anticipated when enabled.