Subject: Inquiry on Solace AEM Broker Integration for iOS Front-End Application

I am currently working on integrating the Solace AEM Broker with my iOS front-end application using WebSockets and I have a few inquiries regarding the feasibility and best practices for this integration. Kindly assist with the following questions:

  1. Compatibility of Solace AEM Broker with iOS Mobile Applications
    Does the Solace AEM Broker support the development of iOS mobile applications? If so, could you please outline any key considerations or limitations specific to iOS front-end development?
  2. Publishing and Subscribing to Persistent Messages
    Could you provide guidance on the best approaches to achieve message publishing and subscription using persistent message delivery in an iOS application? Are there any specific configurations or API methods that I should be aware of for this functionality?
  3. Certificate-Based Authentication
    We require certificate-based authentication for secure communication. Could you recommend the most suitable approach for implementing certificate-based authentication in an iOS environment? Any specific APIs or configurations that support this would be greatly appreciated.
  4. Documentation and Sample Code
    If Solace AEM Broker supports these features for iOS, could you kindly provide relevant documentation or sample code for iOS development that can help guide the integration process?

I appreciate your assistance in helping us ensure smooth integration and fulfillment of our requirements. Thank you for your support.

Hi there, I’m Solly AI, I generate responses to your questions using the power of the Solace Agent Mesh:

Please remember that AI technology can make mistakes so ensure that you read our Disclaimer.

AI Generated responses are a work in progress, your help in evaluating my response would be awesome! If my response makes sense, please mark it as a solution or give a :+1:. If my response doesn’t make sense for your topic, please react to it with a :shaking_face:.

Let me analyze the available information about iOS integration with Solace event brokers:

The iOS integration capabilities can be approached in two ways:

  1. Using the PubSub+ Messaging API for iOS:
  • Supports publish/subscribe, point-to-point, and request/reply patterns
  • Provides connection management and topic subscriptions
  • Allows sending and receiving direct messages
  • Supports structured data types for cross-platform interoperability
  • Does not support guaranteed messaging, transactions, queue browsing, or cache features
  1. Using MQTT with third-party libraries (like CocoaMQTT):
  • Can connect using ports 8883 (MQTT/SSL) or 8443 (WebSocket/SSL)
  • Supports basic publish/subscribe functionality
  • Can use QoS 1 for message persistence
  • Requires proper SSL/TLS configuration for secure connections

Summary:
iOS applications can integrate with Solace event brokers either through the native iOS API or MQTT libraries. The choice depends on specific requirements around messaging patterns and features needed.

For authentication and security:

  • Supports basic authentication
  • Enables certificate-based authentication
  • Allows TLS/SSL encryption for secure communication

Sources:

For sample code and implementation details, please refer to the documentation links provided above.

Hey @Srikanth_bethi, as per the previous answer, you have two options to interact with the Solace Broker in your iOS Application depending on what frameworks you use to build your app

  1. Use the Solace C API which can be used direclty in your iOS application. I would recommend checking out the C API documentation and sample on the SolaceSamples github repo. You can also download the C API from the solace downloads page (which is all well documented)
  2. Use an open standard messaging protocol like MQTT to connect directly and communication with your cloud solace broker (i,e. AEM)

Hopefully this helps!

Dear @Tamimi ,
Thank you for your prompt response. I have attempted both integration options and encountered some challenges, which I would appreciate your assistance in resolving. Below, I have outlined the achieved functionalities and the blockers I am facing with each approach.

Option 1: Solace C API Integration

I have integrated the Solace C API directly into my iOS application. After reviewing the C API documentation and samples from the SolaceSamples GitHub repo, I was able to achieve the following:

Achieved:

  1. Successfully maintained the connection.
  2. Published messages in direct delivery mode.

Blockers/Unresolved Issues:

  1. Unable to publish messages using persistent delivery mode.
  2. Unable to subscribe to all messages from the topic.

Could you please provide guidance or steps to resolve these issues, particularly around achieving persistent message publishing and subscribing to all messages from a topic?

Option 2: MQTT Integration

I also explored using the open standard MQTT protocol to connect and communicate with the Solace AEM broker.

Achieved:

  1. Successfully maintained the connection.
  2. Published messages in both direct and persistent modes using QoS.
  3. Subscribed to messages immediately (both publish and subscribe methods work).

Blockers/Unresolved Issues:

  1. Unable to subscribe to all persistent messages from the topic/queue.

Could you kindly provide the necessary steps or recommendations to resolve this issue and enable subscription to all persistent messages?

NOTE: I appreciate the support provided so far; however, I have not yet received a solution specific to the iOS perspective of my integration. If possible, could you kindly route my inquiry to someone with expertise in mobile application development, particularly iOS, to help resolve the issues I am facing?

Thank you for your continued assistance. I look forward to your response.

Best Regards,
Srikanth.