<div dir="ltr">“There are two ways of constructing a software design: One way is to 
make it so simple that there are obviously no deficiencies, and the 
other way is to make it so complicated that there are no obvious 
deficiencies. The first method is far more difficult.”
  <br>  ―
    <a href="https://www.goodreads.com/author/show/266154.C_A_R_Hoare" class="gmail-authorOrTitle">C.A.R. Hoare</a></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 26, 2016 at 4:04 AM, Ola Andersson A <span dir="ltr"><<a href="mailto:ola.a.andersson@ericsson.com" target="_blank">ola.a.andersson@ericsson.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div link="blue" vlink="purple" lang="SV">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US">No, not really equivalent. IMM provides much more functionality than mnesia. It’s not just a data store.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US">IMM consist of two parts; OM and OI. OM is the Object Management API. The OI part is a set of callbacks that lets the user provide an
 ObjectImplementer for an object or class of objects.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US">IMM has both persistent configuration objects and dynamic runtime objects. Runtime object may also be cached.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US">Configuration objects may contain runtime attributes and the other way around. Runtime objects and attributes are owned by the ObjectImplementer.
  <u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US">For configuration objects an OI provides validation functionality with the possibility to reject a so called CCB (Configuration Change
 Bundle).<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US">This is just the basics of IMM. There is a lot more available. OpenSAF has also extended the SAF IMM specification with additional functionality.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US"><u></u> <u></u></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US"> Sashan Govender [mailto:<a href="mailto:sashang@gmail.com" target="_blank">sashang@gmail.com</a>]
<br>
<b>Sent:</b> den 26 juli 2016 05:11<br>
<b>To:</b> Ola Andersson A <<a href="mailto:ola.a.andersson@ericsson.com" target="_blank">ola.a.andersson@ericsson.com</a>>; Eric des Courtis <<a href="mailto:Eric.desCourtis@benbria.com" target="_blank">Eric.desCourtis@benbria.com</a>></span></p><div><div class="h5"><br>
<b>Cc:</b> Erlang <<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a>><br>
<b>Subject:</b> Re: [erlang-questions] comparison with opensaf<u></u><u></u></div></div><p></p>
</div>
</div><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Regarding IMM would it be correct to say it's roughly equivalent to mnesia? I'm just trying to draw up rough equivalences between the OpenSAF services and those in the Erlang/OTP. From what I have read about
 mnesia it provides a persistant data store that tries to be highly consistent. From
<a href="http://learnyousomeerlang.com/mnesia" target="_blank">http://learnyousomeerlang.com/mnesia</a> it says 'Mnesia sits on the CP side'. IMM has the same property. In fact it tries very hard to be consistent and sacrifices availabilty by not allowing writes for several
 minutes in some cases while it sorts itself out. It's typical usage scenario is in storing the configuration of a cluster, which I'm guessing mnesia can do as well.<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Mon, Jul 25, 2016 at 11:42 PM Ola Andersson A <<a href="mailto:ola.a.andersson@ericsson.com" target="_blank">ola.a.andersson@ericsson.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal">I have implemented parts of the SAF specifications in Erlang. IMM is definitely one of the most ridiculously overcomplicated specifications I have seen.<br>
My hat off to the developers of OpenSAF for successfully creating a working implementation in C. It's hard enough to do it in Erlang but it must have been a nightmare developing in C. I haven't checked how many LOC it is but I'm guessing it's a lot.<br>
<br>
<br>
> -----Original Message-----<br>
> From: <a href="mailto:erlang-questions-bounces@erlang.org" target="_blank">erlang-questions-bounces@erlang.org</a> [mailto:<a href="mailto:erlang-questions-" target="_blank">erlang-questions-</a><br>
> <a href="mailto:bounces@erlang.org" target="_blank">bounces@erlang.org</a>] On Behalf Of Sashan Govender<br>
> Sent: den 24 juli 2016 06:38<br>
> To: Eric des Courtis <<a href="mailto:Eric.desCourtis@benbria.com" target="_blank">Eric.desCourtis@benbria.com</a>><br>
> Cc: Erlang <<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a>><br>
> Subject: Re: [erlang-questions] comparison with opensaf<br>
><br>
> I couldn't agree more. The amount of documentation doesn't correlate with<br>
> quality, and yes I think OpenSAF is over engineered, to say the least.<br>
><br>
> On Sun, Jul 24, 2016 at 12:10 PM, Eric des Courtis<br>
> <<a href="mailto:Eric.desCourtis@benbria.com" target="_blank">Eric.desCourtis@benbria.com</a>> wrote:<br>
> > Personally I think it's complicated for nothing.   The amount of<br>
> > documentation has nothing to do with how well it is documented. If you<br>
> > have to read 500 pages to understand what a supervisor does that seems<br>
> > like massive over engineering.<br>
> ><br>
> ><br>
> > On Fri, Jul 22, 2016, 8:46 PM Sashan Govender <<a href="mailto:sashang@gmail.com" target="_blank">sashang@gmail.com</a>><br>
> wrote:<br>
> >><br>
> >> Not sure which documentation set you saw but the one over here looks<br>
> >> quite detailed. The AMF documentation alone is 500 pages.<br>
> >><br>
> >> <a href="http://devel.opensaf.org/SAI-AIS-AMF-B.04.01.AL.pdf" target="_blank">
http://devel.opensaf.org/SAI-AIS-AMF-B.04.01.AL.pdf</a><br>
> >><br>
> >> AMF as far as I can tell is like the OTP supervisor process.<br>
> >><br>
> >> In terms of industry applications I know it's used in Ericsson's DSC<br>
> >> (Diameter Signalling Controller).<br>
> >><br>
> >> On Sat, Jul 23, 2016 at 12:58 AM, Eric des Courtis<br>
> >> <<a href="mailto:Eric.desCourtis@benbria.com" target="_blank">Eric.desCourtis@benbria.com</a>> wrote:<br>
> >> > This is a very hard question to answer because I would say OpenSAF<br>
> >> > is rather obscure. But I can tell you that while there are some<br>
> >> > overlaps between the two technologies particularly when it comes<br>
> >> > design patterns. The fact that Erlang is done entirely from the<br>
> >> > ground up (language, runtime, otp patterns<br>
> >> > etc...) specifically for high availability means that you should in<br>
> >> > theory experience much less friction when designing this sort of<br>
> >> > system in Erlang.<br>
> >> ><br>
> >> > My feeling from looking at the documentation is that this isn't<br>
> >> > well documented. In short I wouldn't consider is competition to<br>
> >> > Erlang in it's current state for any project.<br>
> >> ><br>
> >> > On Thu, Jul 21, 2016 at 9:42 PM, Sashan Govender<br>
> >> > <<a href="mailto:sashang@gmail.com" target="_blank">sashang@gmail.com</a>><br>
> >> > wrote:<br>
> >> >><br>
> >> >> Hi<br>
> >> >><br>
> >> >> I'm interested if anyone has done a comparison the Erlang OTP and<br>
> >> >> OpenSAF.<br>
> >> >> It seems to me there is a significant amount of overlap in the but<br>
> >> >> I don't have the expertise in both systems to form a comprehensive<br>
> >> >> picture. As far as I can tell mnesia is like OpenSAF IMM. They can<br>
> >> >> both be used as configuration databases for a cluster. They both<br>
> >> >> are strongly consistent. I know IMM certainly favours consistency<br>
> >> >> over availabilty. OTP is obviously in Erlang while OpenSAF is in<br>
> >> >> C/C++. Any comparisons out there about these two systems? Or am I<br>
> >> >> wildly off the mark thinking that they are similar?<br>
> >> >><br>
> >> >> _______________________________________________<br>
> >> >> erlang-questions mailing list<br>
> >> >> <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
> >> >> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">
http://erlang.org/mailman/listinfo/erlang-questions</a><br>
> >> >><br>
> >> ><br>
> _______________________________________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><u></u><u></u></p>
</blockquote>
</div>
</div></div></div>
</div>
</div>

<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>