Skip to content
Davide Conzon edited this page May 28, 2014 · 5 revisions

Thanks to the use of standard technologies like XMPP and OSGi, the VIRTUS architecture is:

  • Lightweight
      • All the modules of VIRTUS are downloaded and installed from a (potentially remote) repository, so in every instance of VIRTUS only the useful modules can be installed, limiting the use of resources. • Portable o All the core of the platform is Java based, so it is portable on all the devices with a Java Virtual Machine (Windows, Linux, Mac). Furthermore, it has been designed and implemented to be vendor-neutral and hardware-agnostic. • Open o The technologies at the basis of the architecture are free and open-source, in this way the solution is fully free of costs and the technologies on which it is based are maintained by a great community of developers. • Reliable o The core of the XMPP protocol is a solid and mature technology, standardized more than ten years ago and already used in mass market products with millions of users, like google Talk. • Modular o The architecture is modular, composed by several modules that can be interconnected to each other to compose useful distributed applications • Extensible o The architecture is extensible, adding the modules needed and also the protocol XMPP is extensible, adding the feature and the XML structures, needed for own goals. • Event-driven o The architecture of the platform is completely event-driven allowing loose coupling within space, time and synchronization. • Fully decentralized o The XMPP protocol allows to create a fully decentralized architecture, where every instance of the middleware can be isolated from the extern • Secure o XMPP provides natively both encryption via the use of TLS (Transport Layer Security) and authentication via SASL (Simple Authentication and Security Layer) • Scalable o Every XMPP server can scale to handle thousands of users, also if installed in standard computers, without requiring expensive hardware.
Feature XMPP MQTT CoAP SoA Service Bus
Clone this wiki locally