About > Features
We consider Crossbar.io to be generally feature-complete by now.
Crossbar.io will continue to be a part of the development of the WAMP protocol, so new protocol features will naturally be implemented.
We also continue to work on fixing bugs and improving the stability of the software.
So: Both maintenance and development of Crossbar.io continue, but don't expect the software to do anything (radically) new in the future.
Open Source and Commercial Software and Services¶
The bulk of the development work on Crossbar.io is being done by developers from Crossbar.io GmbH, a German company.
We at the company fully stand behind Crossbar.io as an open source software (AGPL licensed).
We want to offer commercial services and additional features that provide the peace of mind that professional users require and which add capabilities demanded in commercial deployments.
The basic distinction between the open source Crossbar.io and the commercial offerings around it, as we see it at the moment, is:
- Crossbar.io run as a single node with static configuration is open source
- Dynamic configuration, remote monitoring, high availability and clustering are a part of or are going to be a part of our commercial offering
Crossbar.io itself is going to remain a powerful tool and we will continue to develop and maintain it.
The commercial services and features will further extend its utility, and enable us to continue to support Crossbar.io's development.
List of Features¶
The list below is meant to give an overview of what's currently implemented in Crossbar.io. (As our documentation often lags behind, this list may not be definitive.)
WAMP Application Router¶
- realtime RPC and PubSub routing
- multiple realms per router (mutliple routing & authorization domains)
- Authentication via
- static for URI + role + realm combinations
- dynamic via custom authorizations handlers - use any callable WAMP procedure for authorization
WAMP Advanced Profile Features¶
- Subscriber Black- and Whitelisting
- Publisher Exclusion
- Publisher Identification
- Pattern-Based Subscriptions
- Subscription Meta-Events and Procedures
- Event History
- Caller Identification
- Progressive Call Results
- Pattern-Based Registrations
- Shared Registrations
- Registration Meta-Events and Procedures
Multi-Transport and Serialization¶
- Unix Domain Socket
- Unix pipes
Polyglot Application Components¶
- Application components can be written in any language for which a WAMP library exists.
- Current WAMP libraries exist for (full list):
- integrate services providing REST APIs into WAMP applications
- supports all four roles (subscriber, publisher, callee, caller)
- full MQTT broker
- automatic mapping of topics from MQTT to WAMP and vice versa
- host WAMP application components in Crossbar
- Native Worker - native hosting and deep control for Python components
- Guest Worker - start, stop and monitoring for components in any runtime (e.g. NodeJS, PHP, Java)