<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="keywords" content="blogconnectivity,  ">
<title>  Ditto's connectivity capabilities are pimped up </title>

<link rel="stylesheet" href="css/syntax.css">
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="css/modern-business.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="css/customstyles.css">
<link rel="stylesheet" href="css/boxshadowproperties.css">
<link rel="stylesheet" href="css/theme-ditto.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700">

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js" crossorigin="anonymous"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" crossorigin="anonymous"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/anchor-js/2.0.0/anchor.min.js" crossorigin="anonymous"></script>
<script src="js/toc.js"></script>
<script src="js/customscripts.js"></script>

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Organization",
  "url": "https://eclipse.org/ditto/",
  "logo": "https://eclipse.org/ditto/images/ditto.svg"
}
</script>

<link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="images/favicon-96x96.png" sizes="96x96">

<link rel="alternate" type="application/rss+xml" title="Eclipse Ditto Blog" href="https://www.eclipse.org/ditto/feed.xml">

<!-- Eclipse Foundation cookie consent: -->
<link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" />
<script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>

    <script>
        $(document).ready(function() {
            $("#tg-sb-link").click(function() {
                $("#tg-sb-sidebar").toggle();
                $("#tg-sb-content").toggleClass('col-md-9');
                $("#tg-sb-content").toggleClass('col-md-12');
                $("#tg-sb-icon").toggleClass('fa-toggle-on');
                $("#tg-sb-icon").toggleClass('fa-toggle-off');
            });
        });
    </script>
</head>


<script>
    (function(w,d,s,l,i){
        w[l]=w[l]||[];
        w[l].push({'gtm.start':
            new Date().getTime(),event:'gtm.js'});
        var f=d.getElementsByTagName(s)[0],
            j=d.createElement(s),
            dl=l!='dataLayer'?'&l='+l:'';
        j.async=true;
        j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;
        f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-5WLCZXC');
</script>



<body>
<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container topnavlinks">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-ditto-home" href="index.html">&nbsp;<img src="images/ditto_allwhite_symbolonly.svg" class="ditto-navbar-symbol" alt="Home"> <img src="images/ditto_allwhite_textonly.svg" class="ditto-navbar-symbol-text" alt="Ditto"></a>
        </div>
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav navbar-right">
                <!-- toggle sidebar button -->
                <!--<li><a id="tg-sb-link" href="#"><i id="tg-sb-icon" class="fa fa-toggle-on"></i> Nav</a></li>-->
                <!-- entries without drop-downs appear here -->




                
                
                
                <li><a href="blog.html">Blog</a></li>
                
                
                
                <li><a href="intro-overview.html">Documentation</a></li>
                
                
                
                <li><a href="http-api-doc.html">HTTP API</a></li>
                
                
                
                <li><a href="sandbox.html">Sandbox</a></li>
                
                
                
                <li><a href="https://github.com/eclipse/ditto" target="_blank">GitHub</a></li>
                
                
                
                <li><a href="https://github.com/eclipse/ditto-examples" target="_blank">GitHub examples</a></li>
                
                
                
                <!-- entries with drop-downs appear here -->
                <!-- conditional logic to control which topnav appears for the audience defined in the configuration file.-->
                
                
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Links<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        
                        
                        <li><a href="https://projects.eclipse.org/projects/iot.ditto" target="_blank">Eclipse Ditto Project</a></li>
                        
                        
                        
                        <li><a href="https://www.eclipse.org/forums/index.php/f/364/" target="_blank">Forum</a></li>
                        
                        
                        
                        <li><a href="https://ci.eclipse.org/ditto/" target="_blank">Jenkins</a></li>
                        
                        
                        
                        <li><a href="https://dev.eclipse.org/mhonarc/lists/ditto-dev/" target="_blank">Mailing list archives</a></li>
                        
                        
                        
                        <li><a href="https://gitter.im/eclipse/ditto" target="_blank">Gitter.im chat</a></li>
                        
                        
                    </ul>
                </li>
                
                
                
                <!--comment out this block if you want to hide search-->
                <li>
                    <!--start search-->
                    <div id="search-demo-container">
                        <input type="text" id="search-input" placeholder="search...">
                        <ul id="results-container"></ul>
                    </div>
                    <script src="//cdnjs.cloudflare.com/ajax/libs/simple-jekyll-search/0.0.9/jekyll-search.js" type="text/javascript"></script>
                    <script type="text/javascript">
                            SimpleJekyllSearch.init({
                                searchInput: document.getElementById('search-input'),
                                resultsContainer: document.getElementById('results-container'),
                                dataSource: 'search.json',
                                searchResultTemplate: '<li><a href="{url}" title="Ditto's connectivity capabilities are pimped up">{title}</a></li>',
                                noResultsText: 'No results found.',
                                limit: 10,
                                fuzzy: true,
                    })
                    </script>
                    <!--end search-->
                </li>
            </ul>
        </div>
    </div>
    <!-- /.container -->
</nav>

<!-- Page Content -->
<div class="container">
  <div id="main">
    <!-- Content Row -->
    <div class="row">
        
        

        <!-- Content Column -->
        <div class="col-md-12" id="tg-sb-content">
            <!-- Look the author details up from the site config. -->


<!-- Output author details if some exist. -->
<!-- Output author details if some exist. -->
<!---->
<!--<span>-->
    <!--&lt;!&ndash; Mugshot. &ndash;&gt;-->
    <!--<img src="https://www.gravatar.com/avatar/90a82dc2af1620df1f955e211ecc4dee?s=135" alt="A photo of Thomas Jäckle" />-->

<!--&lt;!&ndash; Personal Info. &ndash;&gt;-->
    <!--Written by <a href="http://twitter.com/thjaeckle" target="_blank">Thomas Jäckle</a>-->
<!--</span>-->
<!---->

<article class="post" itemscope itemtype="http://schema.org/BlogPosting">

    <header class="post-header">
        <h1 class="post-title" itemprop="name headline">Ditto's connectivity capabilities are pimped up</h1>
        <p class="post-meta">Published by <img src="https://www.gravatar.com/avatar/90a82dc2af1620df1f955e211ecc4dee?s=135" alt="A photo of Thomas Jäckle" style="width:50px;border-radius:50%;display:inline-block;margin-right:5px;" /><span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="http://twitter.com/thjaeckle" target="_blank">Thomas Jäckle</a> </span></span> on <time datetime="2018-04-25T00:00:00+00:00" itemprop="datePublished">Apr 25, 2018</time> - Tags:
            
            
            
            <a href="tag_blog.html">blog</a>, 
            
            
            
            <a href="tag_connectivity.html">connectivity</a>
            
            
            

        </p>


    </header>

    <div class="post-content" itemprop="articleBody">

        

        

        <p>It has been quite lately on our website and on GitHub as the Ditto team currently prepares its new <code class="highlighter-rouge">connectivity</code> 
microservice. Until now Ditto’s <code class="highlighter-rouge">amqp-bridge</code> service could connect to AMQP1.0 endpoints 
(e.g. <a href="https://www.eclipse.org/hono/">Eclipse Hono</a>).</p>

<p>That worked quite well, but still had some issues:</p>

<ul>
  <li>failover/reconnection was not always done properly</li>
  <li>the current connection state could not yet be retrieved</li>
  <li>AMQP 1.0 is a great protocol including <a href="https://www.reactivemanifesto.org">reactive principles</a> but it still is not very “mainstream”</li>
  <li>the AMQP 1.0 messages consumed by Ditto already had to be in <a href="protocol-overview.html">Ditto Protocol</a>, otherwise Ditto
could not understand them</li>
</ul>

<p>Our current implementation focus lies on two GitHub issues resolving those problems:</p>

<ul>
  <li><a href="https://github.com/eclipse/ditto/issues/129">Enhance existing AMQP-bridge with AMQP 0.9.1 connectivity</a></li>
  <li><a href="https://github.com/eclipse/ditto/issues/130">Support mapping arbitrary message payloads in AMQP-bridge</a></li>
</ul>

<h2 id="changes-and-enhancements">Changes and Enhancements</h2>

<h3 id="renaming">Renaming</h3>

<p>With the new responsibilities of the former amqp-bridge we have renamed the <code class="highlighter-rouge">amqp-bridge-service</code> to <code class="highlighter-rouge">connectivity-service</code>. <br />
The Docker image and the Maven artifacts are affected by this change.</p>

<h3 id="enhanced-connectivity">Enhanced connectivity</h3>

<p>The new <a href="architecture-services-connectivity.html">connectivity</a> microservice can now manage and handle both AMQP 1.0 and 
AMQP 0.9.1 connections at the same time. <br />
That means that Ditto from now on supports connecting to running AMQP 1.0 endpoints or to AMQP 0.9.1 brokers (e.g. RabbitMQ).
The architecture of the <code class="highlighter-rouge">connectivity</code> microservice is designed to also support connecting via other protocols in the future.</p>

<p>Need to connect to a Kafka in order to process digital twin <a href="basic-signals-command.html">commands</a> from there or publish 
<a href="basic-changenotifications.html">change notifications</a>? <br />
Or want to send all state changes happening to twins to a time series database?</p>

<p>The <code class="highlighter-rouge">connectivity</code> service is the new place to integrate your managed digital twins with other systems.</p>

<h3 id="json-format-of-connections">JSON format of connections</h3>

<p>As Ditto now supports more than AMQP 1.0, we had to adjust the JSON format for creating new connections. 
The new one is documented here: <a href="connectivity-manage-connections.html">Manage connections in connectivity</a>.</p>

<h3 id="payload-mapping-of-external-messages">Payload mapping of external messages</h3>

<p>Eclipse Ditto is about providing access to IoT devices via the <a href="intro-digitaltwins.html">digital twin</a> pattern. In order to
provide structured APIs for different heterogeneous devices Ditto defines a lightweight JSON based <a href="basic-overview.html">model</a>.</p>

<p>Devices in the IoT, may they be brownfield devices or newly produced devices, will probably not send their data to the
cloud in the structure and <a href="protocol-overview.html">protocol</a> Ditto requires. They should not need to be aware of something
like Ditto running in the cloud mirroring them as digital twins.</p>

<p>That’s why we added a JavaScript based payload mapping to the <code class="highlighter-rouge">connectivity</code> service which is responsible for:</p>

<ul>
  <li>transforming text- or byte-payload from messages consumed via a <code class="highlighter-rouge">source</code> of a created connection to 
<a href="protocol-overview.html">Ditto Protocol</a> <a href="basic-signals-command.html">commands</a> and <a href="basic-messages.html">messages</a></li>
  <li>transforming back <a href="basic-signals-commandresponse.html">responses</a> issued by commands and <a href="basic-signals-event.html">events</a>
from Ditto Protocol to some text- or byte-payload before sending the message back via the configured <code class="highlighter-rouge">target</code> channel</li>
</ul>

<p>The <code class="highlighter-rouge">incoming</code> and <code class="highlighter-rouge">outgoing</code> scripts must be configured when creating a new connection 
<a href="connectivity-manage-connections.html">via DevOps commands</a>.</p>

<h2 id="example">Example</h2>
<p>Please find more information and examples at:</p>

<ul>
  <li><a href="connectivity-overview.html">Connectivity overview</a></li>
  <li><a href="connectivity-mapping.html">Payload mapping in connectivity</a></li>
</ul>

<p><br />
<br /></p>
<figure><img class="docimage" src="images/ditto.svg" alt="Ditto" style="max-width: 500px" /></figure>

<p>–<br />
The Eclipse Ditto team</p>

    </div>



</article>

<hr class="shaded"/>

<footer>
            <div class="row">
                <div class="col-lg-12 footer">
                    <div class="logo">
                        <a href="https://eclipse.org"><img src="images/eclipse_foundation_logo.svg" alt="Eclipse logo"/></a>
                    </div>
                    <p class="notice">
                        &copy;2021 Eclipse Ditto.
                         Site last generated: May 6, 2021 <br />
                    </p>
                    <div class="quickLinks">
                        <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
                            &gt; Privacy Policy
                        </a>
                        <a href="https://www.eclipse.org/legal/termsofuse.php" target="_blank">
                            &gt; Terms of Use
                        </a>
                        <a href="https://www.eclipse.org/legal/copyright.php" target="_blank">
                            &gt; Copyright Agent
                        </a>
                        <a href="https://www.eclipse.org/legal" target="_blank">
                            &gt; Legal
                        </a>
                        <a href="https://www.eclipse.org/legal/epl-2.0/" target="_blank">
                            &gt; License
                        </a>
                        <a href="https://eclipse.org/security" target="_blank">
                            &gt; Report a Vulnerability
                        </a>
                    </div>
                </div>
            </div>
</footer>


        </div>
    <!-- /.row -->
</div>
<!-- /.container -->
</div>
<!-- /#main -->
    </div>

</body>
</html>
