Message Exchange Patterns

uProtocol supports common messaging patterns like Remote Procedure Call (RPC), Publish/Subscribe and Notifications. Messages may contain arbitrary payload and are routed transparently across transports and hosts using a common URI based addressing scheme and additional properties like message priority and authority.

Cross Language

uProtocol supports implementing service components in multiple programming languages like Java, Rust, C++ and Python.

Cross Platform

uProtocol can be used to connect service components running on arbitrary operating systems and platforms like Linux, Android and QNX.

Flexible

uProtocol comes with support for a set of standard transport protocols like Eclipse Zenohâ„¢, MQTT and SOME/IP out of the box. Applications exchange messages by means of well-defined APIs which developers can implement to support addtional transports and programming languages.

Automotive Grade

uProtocol strives to allow being employed in safety critical systems by providing documentation and artifacts relevant to certification.

Do you want to know more?

The uProtocol Specification has all the details about how it works, what APIs are available to application developers and how to add support for additional transport protocols and programming languages.

uProtocol Specification