[erlang-questions] Erlang DDS implementation or binding

Michael Truog mjtruog@REDACTED
Sun Sep 6 02:59:20 CEST 2015

On 09/05/2015 07:15 AM, Schneider wrote:
> DBus and OMG's DDS are two totally different beasts. It is more a machine to machine thing on a pub sub basis [1]. And yes, it is a true beast.
There is overlap between the functionality in a DDS implementation and CloudI (http://cloudi.org).  The obvious difference is that
DDS was created by a committee (OMG) standardization process to create a specification and implementations based on the
specification revision.  At a high-level, CloudI focuses on finer-grained concurrency (execution thread level) rather than
the coarser-grained concurrency of separate servers with monolithic server applications.  The normal argument would be:
"I don't care, I will run everything in a container so I can still have some type of finer-grained concurrency without thinking about it
due to virtualization with my monolithic server application (besides, I often have no choice due to it being legacy software maintenance)
and I accept the inefficiency of this approach!" which would be for pursuing a DDS-type approach instead of CloudI.

Another high-level difference is that CloudI is more focused on fault-tolerance of software's execution which is an aspect of QoS.
CloudI can easily retry service requests for messaging QoS (Erlang/Elixir source code can currently use cloudi_queue and cloudi_service_queue
for doing an automatic retry).  CloudI service requests have a timeout that is decremented based on the time spent processing or queued,
so the messaging within CloudI has a finite lifetime.  CloudI service requests also have a priority which can change which service request will
be processed first, on the CloudI service which queued the incoming service request.

CloudI nodes are using distributed Erlang communication for a fully connected network, so LAN usage focused on fault-tolerance in an
AP-type distributed system.  I haven't looked at the deeper details of DDS to summarize all the differences, beyond having different protocols
and API functions, but I wanted to mention CloudI due to the overlap I saw with the DDS description.  There is a messaging comparison at
http://cloudi.org/faq.html#1_Messaging which may help.

> Frans
> [1] https://en.m.wikipedia.org/wiki/Data_Distribution_Service
>> Op 5 sep. 2015 om 10:35 heeft Ulf Wiger <ulf@REDACTED> het volgende geschreven:
>> Not that I’ve come close to trying it, but some googling indicates that you should be able to talk DDS via DBus.
>> If so, perhaps you can try https://github.com/tonyrog/dbus ?
>> BR,
>> Ulf W
>>> On 03 Sep 2015, at 09:13, Frans Schneider <schneider@REDACTED> wrote:
>>> Hi list,
>>> I am looking for an DDS Erlang implementation or binding to a DDS library. Google came up with nothing useful.
>>> Thanks,
>>> Frans
>>> _______________________________________________
>>> erlang-questions mailing list
>>> erlang-questions@REDACTED
>>> http://erlang.org/mailman/listinfo/erlang-questions
>> Ulf Wiger, Co-founder & Developer Advocate, Feuerlabs Inc.
>> http://feuerlabs.com
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions

More information about the erlang-questions mailing list