Working with Connector Listeners
Most of the modern SaaS providers provide streaming APIs, which send data to clients using push technologies like Comet, HTTP streaming, and so on. Prior to the CloudStreams version 10.3 release, CloudStreams supported connectivity with streaming API providers as a native configuration, that is, details for user created streaming subscriptions were persisted within the WmCloudStreams package. From the CloudStreams v10.3 release, streaming API access is available as a connector capability and you can integrate with a streaming API using a CloudStreams connector.
CloudStreams connectors now support connectivity with streaming APIs and processing of streaming API events in addition to supporting connectivity and execution of SOAP and REST APIs. So in addition to connecting to SOAP and REST APIs, you can now use CloudStreams connections for connecting to streaming APIs. You can create a CloudStreams connector listener, select a subscription channel from a list of available channels for an endpoint, and configure the action(s) to be applied on the incoming events. Additionally, you can configure transport or communication related parameters for a CloudStreams connector listener as well as enable and disable a CloudStreams connector listener. A CloudStreams listener receives the streaming API events and processes the received events.
You create connector listeners using the Software AG Designer. Before you create a connector listener, ensure that the CloudStreams connector associated with your cloud application provider is installed. Also ensure that a cloud connection pool is created for that connector.
To create and configure a connector listener
1. Install the CloudStreams provider package that has streaming API capability.
2. Go to the connection configuration page in Integration Server Administrator and create a connection for the connector. You can also use an existing connection for the selected provider and connector. The streaming functionality will leverage the existing authentication, timeouts (Connection TimeOut and Socket Read Timeout), truststore (Trust store Alias), keystore (Keystore Alias), host name verification (Hostname verifier), and proxy (Proxy Server Alias) configurations from the referenced CloudStreams connection.
3. Enable the connection in Integration Server Administrator.
4. Go to the Service Development perspective in Software AG Designer and create a connector listener.
5. In the Service Development perspective, on the Listener page for the newly created connector listener, configure the subscription request, that is, select a Subscription from the list of available subscription channels.
6. Configure the required headers and parameters to complete the subscription request configuration. For example, for the Value field in the Parameters page, you can add the push topic name created as a parameter. You can also select a different connection pool for the subscription request or choose a different document to represent the subscribed event.
7. Configure the processing of the subscribed events by adding an Action to be applied on the incoming events. You can log or invoke a service based on your configurations.
8. To manage the connector listener, go to Integration Server Administrator and in the Listeners page for the connector, click Configure.
9. Edit the listener communication or transport specific parameters for accessing the streaming API.
10. For the selected connector listeners, you can configure error recovery and callback information.
When a Streaming Provider triggers error events such as 403::Unkown Client or 401::Authentication invalid, the error handler service is invoked to identify if the error can be recovered. If the error is recoverable, then an appropriate action is taken to restore the listener to the function. The default callback service is currently configured to log the error and error recovery status. Thus, you can ensure that the listener is fault tolerant by enabling the error handler, and listener runtime errors are reported and appropriate action taken.
For more information on the listener error handler functionality, see the documentation specific to your CloudStreams provider, for example, webMethods CloudStreams Provider for Salesforce.com Installation and User's Guide.
11. Enable the listener in Integration Server Administrator.
Once the listener is enabled, connection with the streaming API is established, and incoming events will be processed whenever the streaming Provider triggers the events.
For more information about CloudStreams connector listeners, see the webMethods Service Development Help and the documentation specific to your CloudStreams provider, for example, the webMethods CloudStreams Provider for Salesforce.com Installation and User's Guide. For information on the deployable assets, see the webMethods Deployer User’s Guide.