all Technical posts

Taking messaging to the next level with Arcus Messaging v1.0

Arcus Messaging v1.0 release is the biggest one yet, providing more ways to authenticate and many other improvements.

Because the new version contains a few breaking changes, we provide a dedicated migration guide to help end-users to migrate to our new approach.

Come and take a quick look what the release has to offer in this overview blog post.

New Azure SDK

Microsoft released a new client library SDK for interacting with Azure Service Bus resources. This new library is part of the overall Azure SDK updates.

We believe we need to align with this new strategy, so we have adopted it in Arcus Security and now it was time to align Arcus Messaging.

The most notable change here for end-users is the move from the Azure Service Bus Message model towards the ServiceBusReceivedMessage.

This breaking change has the most impact on our extensions & fallback message handlers, which receive the full Azure Service Bus message in their implementation.

Here is an example of our new signature:

Microsoft also provides a dedicated migration guide for this new Azure SDK, if you are curious about any new functionality or changes.

Extracted message routing for multi-purpose message handling

Before v1.0, our message pump was in charge of both receiving and routing messages to the required message handler. With this release, we are separating these two responsibilities into dedicated components and laying the groundwork for more powerful message processing.

The message pump is still in charge of receiving messages, but relies on our message router to determine what message handler will process the message. By doing this, it allows us to re-use our routing functionality and bring it to other message pumps such as Azure Functions. Your Azure Function will replace the Arcus message pump and route messages to your message handlers accordingly. This allows you to fully decouple the message pump from your business logic and build re-usable components without a lock-in.

Are you excited about this? So are we! But we need to wait for the official release of Microsoft.Azure.WebJobs.Extensions.ServiceBus first.

To get you exicted, here is an example of our upcoming Azure Functions support:

Managed identity authentication

We leverage a new way of authenticating the Azure Service Bus message pump by using password-less authentication with managed identity authentication for both Azure Service Bus queues and topics.

Managed identity authentication allows you to remove secrets and fully rely on the automatically assigned identity to authenticate with any Azure service.
For more information, see the offical Microsoft documentation.

Flexible message parsing

Our built-in JSON deserialization is using strict schema parsing by default when parsing incoming messages. Only when all the properties in the JSON body match the properties in the defined message, it will be passed to the message handler to be processed. This allows a very secure approach as you know that you’re processing the correct type of message.

But message scenarios evolve and so does your contract, so we allow you to be more flexible.

In the following example, the .Deserialization.AdditionalMembers property is set to Ignore, which means any additional members that are in the incoming messaging model but are not in the Order message type will be ignored instead of errrored (default).

Conclusion

Arcus Messaging v1.0 is a big improvement with a lot of changes and improvements making it more production-ready.
Have a look at our release notes and official documentation for more information on this new release.

If you have any questions, remarks, comments, or just want to discuss something with us; feel free to contact us.

Thanks for reading!
The Arcus team

Subscribe to our RSS feed

Hi there,
how can we help?

Got a project in mind?

Connect with us

Let's talk

Let's talk

Thanks, we'll be in touch soon!

Call us

Thanks, we've sent the link to your inbox

Invalid email address

Submit

Your download should start shortly!

Stay in Touch - Subscribe to Our Newsletter

Keep up to date with industry trends, events and the latest customer stories

Invalid email address

Submit

Great you’re on the list!