<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic AlfStream - Alfresco 2-way Synchronization in Alfresco Forum</title>
    <link>https://connect.hyland.com/t5/alfresco-forum/alfstream-alfresco-2-way-synchronization/m-p/4467#M1989</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;AlfStream, is an Alfresco Add-On that enables users to scale their operations from one Alfresco instance to many, through synchronization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alfstream is an effort to turn the Alfresco database into a more transactional event-driven system.â€‚â€‚This can be seen as a form of &lt;A href="https://www.parashift.com.au/2016/04/18/stream-processing-alfresco/" rel="nofollow noopener noreferrer"&gt;stream processing&lt;/A&gt;, or an application of the &lt;A href="http://microservices.io/patterns/data/event-sourcing.html" rel="nofollow noopener noreferrer"&gt;Event Sourcing&lt;/A&gt; design pattern.&lt;/P&gt;&lt;P&gt;What Alfstream is at its core is a way to subscribe to a stream of events that occur in Alfresco: creates, reads, updates and deletes, which can be synchronised with another system.â€‚â€‚ Every time an change is taken within Alfresco, an event is triggered, so that anything observing these events can act upon them accordingly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rather than define upfront what systems can observe events from Alfresco, we instead have created an &lt;A href="http://camel.apache.org/" rel="nofollow noopener noreferrer"&gt;Apache Camel Component&lt;/A&gt;, which allows us to decouple and apply &lt;A href="http://camel.apache.org/enterprise-integration-patterns.html" rel="nofollow noopener noreferrer"&gt;Enterprise Integration Patterns&lt;/A&gt; so that it can be integrated into virtually any external line of business application or other system.&lt;/P&gt;&lt;P&gt;So we don't have system administrators cover common ground, or invest a lot of time in configuration, we do include some of the most used and battle-tested scenarios, such as &lt;STRONG&gt;syncing to a file system&lt;/STRONG&gt; and &lt;STRONG&gt;two-way replication&lt;/STRONG&gt;.&lt;/P&gt;&lt;H2&gt;&lt;/H2&gt;&lt;H2&gt;How does it work?&lt;/H2&gt;&lt;P&gt;Alfstream is divided up into an AMP (Alfresco Module Package) that is installed within the Alfresco repository, and a camel component that can be installed and used within a Camel Runtime, such as Apache Karaf.&lt;/P&gt;&lt;P&gt;Alfstream presents two main Restful API calls in Alfresco:â€‚â€‚The &lt;CODE&gt;events&lt;/CODE&gt; webscript which displays the list of events in JSON format, and the &lt;CODE&gt;update&lt;/CODE&gt; webscript, which will receive updates in the form of &lt;CODE&gt;multipart/form-data&lt;/CODE&gt; and change Alfresco accordingly.&lt;/P&gt;&lt;P&gt;We include a number of example Camel route blueprints, including the following common scenarios:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Debug Logging&lt;/LI&gt;&lt;LI&gt;Syncing to/from a Local File System&lt;/LI&gt;&lt;LI&gt;One-Way Synchronisation&lt;/LI&gt;&lt;LI&gt;Two-Way Synchronisation (Bidirectional)&lt;/LI&gt;&lt;LI&gt;Data Warehousing&lt;/LI&gt;&lt;/UL&gt;&lt;TABLE class="j-table jiveBorder" style="border: 1px solid #c6c6c6;" width="100%"&gt;&lt;THEAD&gt;&lt;TR style="background-color: #efefef;"&gt;&lt;TH style="width: 19.5066%;"&gt;&lt;/TH&gt;&lt;TH style="width: 78.7972%;"&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="width: 19.5066%;"&gt;Owner&lt;/TD&gt;&lt;TD style="width: 78.7972%;"&gt;&lt;A href="mailto:peter@parashift.com" rel="nofollow noopener noreferrer"&gt;peter@parashift.com&lt;/A&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="width: 19.5066%;"&gt;Versions&lt;/TD&gt;&lt;TD style="width: 78.7972%;"&gt;&lt;P&gt;Community 5.0.x&lt;/P&gt;&lt;P&gt;Community 5.1.x&lt;/P&gt;&lt;P&gt;Enterprise 5.0.x&lt;/P&gt;&lt;P&gt;Enterprise 5.1.x&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="width: 19.5066%;"&gt;License Type&lt;/TD&gt;&lt;TD style="width: 78.7972%;"&gt;Other Open Source,Proprietary&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="width: 19.5066%;"&gt;Project Page&lt;/TD&gt;&lt;TD style="width: 78.7972%;"&gt;&lt;A class="link-titled" href="https://www.parashift.com.au/products/#alfstream" title="https://www.parashift.com.au/products/#alfstream" rel="nofollow noopener noreferrer"&gt;Products, learn about what we offer to you - Parashift&lt;/A&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="width: 19.5066%;"&gt;Download Page&lt;/TD&gt;&lt;TD style="width: 78.7972%;"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="width: 19.5066%;"&gt;Tags&lt;/TD&gt;&lt;TD style="width: 78.7972%;"&gt;Synchronization, replication, Integration&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="width: 19.5066%;"&gt;Component Type&lt;/TD&gt;&lt;TD style="width: 78.7972%;"&gt;External Utility, Integration&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="width: 19.5066%;"&gt;Extension Points&lt;/TD&gt;&lt;TD style="width: 78.7972%;"&gt;Public API, Behavior, Data Web Script, Web Script&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="width: 19.5066%;"&gt;Installation&lt;/TD&gt;&lt;TD style="width: 78.7972%;"&gt;AMP&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="width: 19.5066%;"&gt;Products&lt;/TD&gt;&lt;TD style="width: 78.7972%;"&gt;Repository, Share Web Client&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 20 Jun 2018 17:53:39 GMT</pubDate>
    <dc:creator>alfresco</dc:creator>
    <dc:date>2018-06-20T17:53:39Z</dc:date>
    <item>
      <title>AlfStream - Alfresco 2-way Synchronization</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/alfstream-alfresco-2-way-synchronization/m-p/4467#M1989</link>
      <description>AlfStream, is an Alfresco Add-On that enables users to scale their operations from one Alfresco instance to many, through synchronization.Alfstream is an effort to turn the Alfresco database into a more transactional event-driven system.â€‚â€‚This can be seen as a form of stream processing, or an ap</description>
      <pubDate>Wed, 20 Jun 2018 17:53:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/alfstream-alfresco-2-way-synchronization/m-p/4467#M1989</guid>
      <dc:creator>alfresco</dc:creator>
      <dc:date>2018-06-20T17:53:39Z</dc:date>
    </item>
  </channel>
</rss>

