<?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 BPM System Arquiteture Questions in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/bpm-system-arquiteture-questions/m-p/23707#M11495</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;BPM System Architecture&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;———————–&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here in our organization we are thinking about BPM as being the driver for&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;software development.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We are going to build a kind of business portal application.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Each module will be about a different business area (BA).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We need some level of independence (version control, deployment) among BAs.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But we also need some degree of integration towards a unified portal.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are trying to align our architecture roadmap to the Activiti's one.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Today we are considering the following architectural models:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1) Separated Process Engine per BA:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- share platform JARs (Spring, Activiti, and their dependencies) in a common classloader&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- share a datasource pointing to Activiti schema&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- isolate each BA in a standard WAR/JEE file&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- instantiate a separaded process engine per BA&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pros:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; - solves current Class.forName issues in Activiti for invoking Java Tasks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;cons:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; - several ProcessEngines –&amp;gt; higher memory footprint&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;questions:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; - is there any consistency problem on instantiating several process engines (state, concurrency, caching)?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; - what's the real memory footprint of a process engine instance? Is it a real problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2) Single and shared process engine among all BAs&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- isolate each BA in a standard WAR/JEE file&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- JavaTasks acessible via Rest API (decoupling)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- Process engine also acessible via Rest API&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pros: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; - total decoupling between workflow engine and BA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; - shared process engine –&amp;gt; lower memory footprint&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;cons:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; - JavaTask and process engine invocation latency is higher due to network/http stack&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; - need for more access control points (service task is now exposed by http rest interface)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;questions:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; - will Activiti be ready in version 5.0 GA to support such Rest model? If not, when?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;3) Possible use of OSGi&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- Process Engine started as bundle and acessible to other BAs (OSGi service listeners)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- each BA will be an isolated OSGi bundle.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- Process Engine will be able to find BA specific classes (Java Tasks, for example) using, for example, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; "Eclipse-RegisterBuddy" and "Eclipse-BuddyPolicy" manifest headers.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pros:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- Eliminate the need for restful distribution (java tasks, process engine) –&amp;gt; lower latencies –&amp;gt; less need for access control points&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- Possibility to redeploy BAs in production in a robust way –&amp;gt; higher availability&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;cons: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- higher development complexity due to the osgi model (specially if BA uses other libraries not ready for OSGi)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;questions:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- When will Activiti be ready for OSGi? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- Which OSGi version will Activiti follow? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- Will Activiti be compliant with &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;General Questions&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;—————–&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- In general, considering the scenario exposed in the beginning, which of the three models is the recommended and why?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 08 Nov 2010 16:15:43 GMT</pubDate>
    <dc:creator>louzadod</dc:creator>
    <dc:date>2010-11-08T16:15:43Z</dc:date>
    <item>
      <title>BPM System Arquiteture Questions</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/bpm-system-arquiteture-questions/m-p/23707#M11495</link>
      <description>BPM System Architecture———————–Here in our organization we are thinking about BPM as being the driver forsoftware development.We are going to build a kind of business portal application.Each module will be about a different business area (BA).We need some level of independence (version control, depl</description>
      <pubDate>Mon, 08 Nov 2010 16:15:43 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/bpm-system-arquiteture-questions/m-p/23707#M11495</guid>
      <dc:creator>louzadod</dc:creator>
      <dc:date>2010-11-08T16:15:43Z</dc:date>
    </item>
    <item>
      <title>Re: BPM System Arquiteture Questions</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/bpm-system-arquiteture-questions/m-p/23708#M11496</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;questions:&lt;BR /&gt;- is there any consistency problem on instantiating several process engines (state, concurrency, caching)?&lt;BR /&gt;- what's the real memory footprint of a process engine instance? Is it a real problem?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;No consistency problems. Activiti was designed to cope exactly with such requirements.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;However as you state;, you would have ofc a higher memory footprint. We didnt measure yet, but I'm sure it is not high at all.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;will Activiti be ready in version 5.0 GA to support such Rest model? If not, when?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;No, we won't have out of the box support for REST.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;However, it should be easy to do in your own implementation of a delegation for the serviceTask.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;- When will Activiti be ready for OSGi?&lt;BR /&gt;- Which OSGi version will Activiti follow?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Currently; Guillaume from FuseSource is making Activiti OSGI ready.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;There should be (experimental) support for it in the 5.0 release.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I've got no clue about the OSGI version, but I saw 'blueprint' passing by several times.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;- In general, considering the scenario exposed in the beginning, which of the three models is the recommended and why&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't have experience with option 3, so I didnt consider it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Option 2 will give you one centralized place to maintain your BPM engine. Which is the typical BPM approach.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;However, this also means that you need to expose all the operations you want, in a remote way. With all the performance consequences ofc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Option 1 will allow you to customize the engine use in a very specific way for each of your wars.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This makes it a bit more agile and you really are developing in a POJO way.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So it's all a matter of taste actually &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But I'm obviously leaning more towards option 1 (but Im biased ;-))&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Nov 2010 16:26:37 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/bpm-system-arquiteture-questions/m-p/23708#M11496</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2010-11-09T16:26:37Z</dc:date>
    </item>
    <item>
      <title>Re: BPM System Arquiteture Questions</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/bpm-system-arquiteture-questions/m-p/23709#M11497</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Joram, thanks a lot for your precious answer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Considering our current moment, we will go for option #1 and keep the eye open for option #3 (osgi).&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Nov 2010 18:28:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/bpm-system-arquiteture-questions/m-p/23709#M11497</guid>
      <dc:creator>louzadod</dc:creator>
      <dc:date>2010-11-10T18:28:32Z</dc:date>
    </item>
    <item>
      <title>Re: BPM System Arquiteture Questions</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/bpm-system-arquiteture-questions/m-p/23710#M11498</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Using a H2 file database, the &lt;/SPAN&gt;&lt;CODE&gt;ProcessEngine&lt;/CODE&gt;&lt;SPAN&gt; memory footprint is about 4 MB. If you have a lot of &lt;/SPAN&gt;&lt;CODE&gt;ProcessEngine&lt;/CODE&gt;&lt;SPAN&gt; in the same classloader, you may be interested to &lt;/SPAN&gt;&lt;A href="http://forums.activiti.org/content/more-one-processengine-reducing-memory-footprint-10x-using-mybatis-shared-configuration" rel="nofollow noopener noreferrer"&gt;reduce the memory footprint by sharing MyBatis configuration variables&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jul 2014 12:34:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/bpm-system-arquiteture-questions/m-p/23710#M11498</guid>
      <dc:creator>jkronegg</dc:creator>
      <dc:date>2014-07-25T12:34:56Z</dc:date>
    </item>
  </channel>
</rss>

