Solace PubSub+ Messaging APIs

Solace provides enterprise messaging Application Programming Interfaces (APIs) that enable you to develop applications for use with Solace PubSub+. Each PubSub+ Messaging API includes sample applications, release notes and developer documentation.

These PubSub+ Messaging APIs are designed to be used as a base messaging layer that help various client applications to communicate over the Solace message bus.

The PubSub+ Messaging APIs are provided for the following languages. Each API below goes to a page that provides more information about the API that includes how to get started, reference guides, and release notes:

  • C API —This API is designed to provide high message throughput and low latency with the lowest CPU utilization possible.
  • C# / .NET API—This API is an object-oriented, managed wrapper for the C API.
  • Go API—This API enables cloud-based and enterprise-scale server-based applications to use Solace messaging.
  • iOS API—This API is an iOS native wrapper of the C API specifically designed for high message throughput and low latency. It is also fully integrated with iOS application lifecycle.
  • Java API — This API delivers high message-throughput utilizing modern Java features and programming models.
  • Java RTO API—This API is a low-latency Java Native Interface (JNI) wrapper for the C API.
  • JCSMP API— This API is a classic, object‑oriented Java API that delivers high message-throughput with low-latency.
  • JavaScript API—This API enables Web and mobile applications to Solace messaging.
  • Node.js API—This API enables server side Web-connected enterprise applications to use Solace messaging and take advantage of the event-based programming enabled by Node.js.
  • Python API—This API enables cloud-based and enterprise-scale server-based applications to use Solace messaging.

Feature Summary for the PubSub+ Messaging APIs

Different Solace messaging API supports common features essential for messaging. The APIs evolve to meet use cases required for client applications and therefore, there are slight differences for feature support.

The PubSub+ Messaging API for iOS is a mobile API. For the list of features supported for the iOS API, see iOS API.

Here's a summary of the current support for features that you can use as comparison to select the messaging API that's right for your requirements. API- or platform-specific features are described on the individual Solace Messaging API pages.

Feature C .NET JavaRTO JCSMP Java JMS JavaScript Node.js Python Go
Direct and Guaranteed Messaging Support

Request and Reply Messaging

Structured Data Types (SDTs) that Don't Rely on a Specific Architecture or Programming Language

Logging and Customizing through Property Parameters

Session Transactions

PubSub+ Cache Client Support

Queue Browsing

Topic Dispatch

Replay

Durable Endpoint Provisioning

Use Selectors

Message Compression Support

XA Transactions

 

OAuth 2.0 Authentication

Kerberos Authentication

For Java, Node.js, Go, Python, and JavaScript APIs, the Durable Endpoint Provisioning feature is implemented using the Missing Resource Strategy.

  • For the Node.js and JavaScript APIs—On consumer start, the Missing Resource Strategy defines the action to take when an endpoint does not exist.
  • For Python, Java, and Go APIs—On receiver start, the Missing Resource Strategy defines the action to take when an endpoint does not exist.

The use of the Missing Resource Strategy also means that you cannot deprovision the endpoints.