Implementing Time-Bound Event Access: A Case Study with Solace Platform (Part 3 of 3)

TL;DR This article demonstrates how to implement time-bound event access using Solace Platform's Rest Delivery Point (RDP). We explore a proof-of-concept called SolPass that automates the creation of event access windows and enables API-like subscription models in event-driven architectures. Table of Contents The Hybrid Approach: Solace RDP Implementing Time-Bound Access with RDP SolPass: A Proof-of-Concept Implementation Real-World Applications Implementation Considerations Conclusion: Bridging Worlds In our previous articles, we explored the challenge of implementing controlled, time-bound access in event-driven architectures and examined various approaches to addressing this gap. Now, let's look at a concrete implementation using Solace Platform's Rest Delivery Point (RDP) feature, which elegantly bridges the event-driven and REST worlds. The Hybrid Approach: Solace RDP Solace Platform offers a powerful feature called Rest Delivery Point (RDP) that implements the hybrid REST/Event bridge approach we discussed previously. RDP enables event-driven systems to deliver messages to REST-based consumers, creating an ideal foundation for implementing time-bound event access. What is Solace RDP? RDP bridges the gap between event-driven systems and REST-based applications by: Enabling delivery of real-time events from Solace queues to REST endpoints Allowing HTTP/REST consumers to participate in an event-driven ecosystem Providing reliable, ordered event delivery through queue-based persistence Decoupling event sources from REST consumers Message Exchange Patterns REST Producer One-Way POST to an Event Broker - REST clients publish messages to the event broker by sending HTTP POST requests to a broker URL that specifies the destination endpoint (queue/topic). The broker handles the message based on the specified delivery mode. Event Broker One-Way POST to REST Consumer - The event broker delivers messages to REST endpoints by sending HTTP POST requests to configured REST consumers. This pattern uses Rest Delivery Points (RDPs) to bridge from messaging to REST consumers. REST Producer Request/Reply to an Event Broker - REST clients send request messages with a reply-to header and the broker routes the request to a consumer. When a reply is generated, the broker delivers it back to the REST client that's waiting for a response. Event Broker Request/Reply to REST Consumer - The broker sends a request message to a REST consumer as an HTTP POST with correlation information. The REST application processes the request and returns a reply in the HTTP response, which the broker delivers back to the original requestor. REST Producer Request with Asynchronous Reply-to Destination - A REST client sends a request but specifies a separate destination for the reply rather than waiting synchronously. This allows decoupling of the request and response handling for better scalability. These patterns provide flexible integration options between REST-based applications and event-driven systems, which aligns perfectly with the theme of your blog series on bridging API and event-driven architectures. Implementing Time-Bound Access with RDP The key innovation in our approach is implementing time-bound access control through dynamic subscription management: The Three-Step Process: At start time: Topic subscriptions are added to a queue, enabling event flow to REST endpoints At end time: Subscriptions are removed, stopping new events while retaining queue configurations Retention period: Events persist in the queue for a defined period, allowing delayed consumption This model effectively creates event access windows that control real-time data flow similar to API subscription tiers. SolPass Attributes & States SolPass: A Proof-of-Concept Implementation To demonstrate this concept in action, we've developed SolPass—a prototype tool that automates the setup and management of time-bound RDPs. SolPass simplifies this process through an intuitive interface that handles everything from provisioning to retention management. Key Features of SolPass SolPass implements a three-step process for time-bound event access: 1. RDP Setup Create or reuse an existing queue Configure client profiles for access control Apply specified topic subscriptions Create an RDP bound to the selected queue Register target REST endpoints as consumers 2. Dynamic Subscription Control At start time: Add topic subscriptions to enable event flow At end time: Remove subscriptions to stop new events Maintain queue and RDP configuration for future reuse 3. Retention & Delivery Assurance Keep unconsumed events available until retention period expires Clear stored events after retention period ends Enable offline consumers to access events when they reconnect (within the retention window) SolPass Interface an

Apr 25, 2025 - 17:56
 0
Implementing Time-Bound Event Access: A Case Study with Solace Platform (Part 3 of 3)

TL;DR

This article demonstrates how to implement time-bound event access using Solace Platform's Rest Delivery Point (RDP). We explore a proof-of-concept called SolPass that automates the creation of event access windows and enables API-like subscription models in event-driven architectures.

Table of Contents

  • The Hybrid Approach: Solace RDP
  • Implementing Time-Bound Access with RDP
  • SolPass: A Proof-of-Concept Implementation
  • Real-World Applications
  • Implementation Considerations
  • Conclusion: Bridging Worlds

In our previous articles, we explored the challenge of implementing controlled, time-bound access in event-driven architectures and examined various approaches to addressing this gap. Now, let's look at a concrete implementation using Solace Platform's Rest Delivery Point (RDP) feature, which elegantly bridges the event-driven and REST worlds.

The Hybrid Approach: Solace RDP

Solace Platform offers a powerful feature called Rest Delivery Point (RDP) that implements the hybrid REST/Event bridge approach we discussed previously. RDP enables event-driven systems to deliver messages to REST-based consumers, creating an ideal foundation for implementing time-bound event access.

What is Solace RDP?

RDP bridges the gap between event-driven systems and REST-based applications by:

  • Enabling delivery of real-time events from Solace queues to REST endpoints
  • Allowing HTTP/REST consumers to participate in an event-driven ecosystem
  • Providing reliable, ordered event delivery through queue-based persistence
  • Decoupling event sources from REST consumers

Message Exchange Patterns
Message Exchange Patterns

  1. REST Producer One-Way POST to an Event Broker - REST clients publish messages to the event broker by sending HTTP POST requests to a broker URL that specifies the destination endpoint (queue/topic). The broker handles the message based on the specified delivery mode.
  2. Event Broker One-Way POST to REST Consumer - The event broker delivers messages to REST endpoints by sending HTTP POST requests to configured REST consumers. This pattern uses Rest Delivery Points (RDPs) to bridge from messaging to REST consumers.
  3. REST Producer Request/Reply to an Event Broker - REST clients send request messages with a reply-to header and the broker routes the request to a consumer. When a reply is generated, the broker delivers it back to the REST client that's waiting for a response.
  4. Event Broker Request/Reply to REST Consumer - The broker sends a request message to a REST consumer as an HTTP POST with correlation information. The REST application processes the request and returns a reply in the HTTP response, which the broker delivers back to the original requestor.
  5. REST Producer Request with Asynchronous Reply-to Destination - A REST client sends a request but specifies a separate destination for the reply rather than waiting synchronously. This allows decoupling of the request and response handling for better scalability.

These patterns provide flexible integration options between REST-based applications and event-driven systems, which aligns perfectly with the theme of your blog series on bridging API and event-driven architectures.

Implementing Time-Bound Access with RDP

The key innovation in our approach is implementing time-bound access control through dynamic subscription management:

The Three-Step Process:

  1. At start time: Topic subscriptions are added to a queue, enabling event flow to REST endpoints
  2. At end time: Subscriptions are removed, stopping new events while retaining queue configurations
  3. Retention period: Events persist in the queue for a defined period, allowing delayed consumption

This model effectively creates event access windows that control real-time data flow similar to API subscription tiers.

SolPass Attributes & States
SolPass Attributes & States

SolPass: A Proof-of-Concept Implementation

To demonstrate this concept in action, we've developed SolPass—a prototype tool that automates the setup and management of time-bound RDPs. SolPass simplifies this process through an intuitive interface that handles everything from provisioning to retention management.

Key Features of SolPass

SolPass implements a three-step process for time-bound event access:

1. RDP Setup

  • Create or reuse an existing queue
  • Configure client profiles for access control
  • Apply specified topic subscriptions
  • Create an RDP bound to the selected queue
  • Register target REST endpoints as consumers

2. Dynamic Subscription Control

  • At start time: Add topic subscriptions to enable event flow
  • At end time: Remove subscriptions to stop new events
  • Maintain queue and RDP configuration for future reuse

3. Retention & Delivery Assurance

  • Keep unconsumed events available until retention period expires
  • Clear stored events after retention period ends
  • Enable offline consumers to access events when they reconnect (within the retention window)

SolPass Interface and Management

SolPass provides an intuitive user interface for managing time-bound event access:

SolPass enables administrators to:

  • Register and View Broker Connections: Connect to Solace brokers for creating and managing passes

Register and View Broker Connections

  • Create New SolPasses: A wizard-driven interface for creating time-bound access windows

Create New SolPasses

  • View SolPass Status: Track active, pending, and expired passes

View SolPass Status
SolPass management interface showing active, pending, and expired passes

  • Manage SolPasses: Modify start/end times, retention periods, or forcefully expire active passes

Manage SolPasses

  • Monitor Resources: View brokers, queues, client profiles, RDPs, and REST consumers

Monitor Resources

  • Review Activity Logs: Track all operations for auditing and troubleshooting

Review Activity Logs

Implementation Architecture

SolPass leverages the Solace SEMP API to automate the entire process, from creating queues and configuring RDPs to managing topic subscriptions. The architecture ensures that events flow only during the specified time window, with configurable retention for reliable delivery.

SolPass Architecture
SolPass architecture showing integration with Solace messaging platform

Exploring the SolPass Repository

For readers interested in examining or contributing to the SolPass proof-of-concept, the complete source code is available in a public GitHub repository at https://github.com/gvensan/solpass.

This repository contains all the components needed to implement time-bound event access using Solace Platform RDP that can work with a local or cloud Solace Broker.

The codebase includes:

  • The SolPass administration UI for creating and managing time-bound access windows

  • Integration with the Solace SEMP API for broker configuration
    The scheduling engine that handles automatic subscription management

  • Sample configuration templates and examples

The code provides a foundation to adapt to your specific requirements when implementing time-bound event access in their event-driven architectures.

Feel free to fork the repository, explore the implementation details, and contribute improvements that could benefit the broader community working on bridging the gap between API-based subscription models and event-driven architectures.

Real-World Applications

This approach to time-bound event access opens up numerous possibilities across industries:

1. Media Companies Offering Sports Updates

  • Provide real-time event feeds only for the duration of specific games
  • Create "day pass" or "game pass" subscription tiers
  • Monetize event streams through controlled access windows

2. Financial Market Data Distribution

  • Offer tiered access to market data (real-time vs. delayed)
  • Provide temporary access to premium data feeds
  • Control access to updates from specific exchanges

3. E-Commerce Flash Sales

  • Stream real-time product availability only during sale windows
  • Automatically end updates when sales conclude
  • Implement different retention policies for different event types

4. IoT Sensor Data Access

  • Grant temporary access to maintenance teams during service windows
  • Stream real-time telemetry only to authorized personnel
  • Automatically revoke access when maintenance periods end

5. Government & Emergency Alert Systems

  • Provide controlled access during emergency situations
  • Stream updates on weather patterns, traffic, or evacuation routes
  • Limit unnecessary data flow after crisis resolution

Implementation Considerations

Performance Impact

Testing shows minimal performance impact from dynamic subscription changes. The Solace broker efficiently handles subscription modifications without disrupting message flow to other consumers.

However, at extremely high volumes or with many concurrent subscription changes, you should consider staggering the modifications to avoid any temporary impact on broker resources.

Security Aspects

This approach enhances security by ensuring events only flow during authorized time windows. Additionally, standard Solace authentication and authorization mechanisms apply to both the queue and REST delivery points.

For production implementations, consider:

  • Using certificate-based authentication for REST endpoints
  • Implementing IP allowlisting for additional security
  • Regular rotation of credentials for service accounts

Scaling Considerations

The solution scales with Solace Platform, supporting thousands of time-bound subscriptions across distributed broker environments.

For large-scale deployments:

  • Implement a database backend for SolPass to track subscription state
  • Consider a clustered deployment for high availability
  • Monitor queue depths and adjust retention policies accordingly

Monitoring and Management

SolPass includes logging and status monitoring, but production implementations should integrate with enterprise monitoring systems for comprehensive visibility.

Key metrics to monitor include:

  • Queue depths for time-bound subscriptions
  • Event delivery latency to REST endpoints
  • Subscription addition/removal performance
  • REST endpoint availability and response times

Conclusion: Bridging Worlds

By leveraging Solace RDP with dynamic subscription control, organizations can introduce API-like consumption models to event-driven architectures, enabling:

  • Controlled event consumption windows for flexible access models
  • Retention policies ensuring reliable delivery even for intermittently connected consumers
  • Simplified bridge between API-driven access patterns and continuous event streaming

This approach doesn't just solve a technical challenge—it enables new business models, enhances compliance capabilities, and creates more sophisticated event-driven ecosystems. The gap between API subscription models and event-driven architectures can now be bridged, bringing the best of both worlds together.

While SolPass serves as a proof-of-concept prototype not intended for production use, it demonstrates the viability and power of this approach. Organizations can adapt these principles to their specific needs, potentially extending the concept with additional features like usage metering, automated billing integration, or sophisticated retention policies.

The future of event access control is here—combining the real-time power of event-driven architectures with the flexible subscription models of API-based systems.

Have you implemented time-bound access in your event-driven systems? What challenges did you face? Share your experiences in the comments