<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:st1="urn:schemas-microsoft-com:office:smarttags"><head><META content="text/html; charset=utf-8" http-equiv="Content-Type">
<STYLE><!-- /* Style Definitions */ p.acaa1d18-a05c-4928-9a9b-4d9a12b04ea7, li.acaa1d18-a05c-4928-9a9b-4d9a12b04ea7, div.acaa1d18-a05c-4928-9a9b-4d9a12b04ea7, table.acaa1d18-a05c-4928-9a9b-4d9a12b04ea7Table {margin:0cm; margin-bottom:.0001pt;}div.Section1 {page:Section1;}--></STYLE>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META content="MSHTML 8.00.6001.19046" name=GENERATOR></head><BODY>
<P CLASS="acaa1d18-a05c-4928-9a9b-4d9a12b04ea7"><FONT FACE="Arial" SIZE="2">
<DIV align=left dir=ltr><FONT color=#0000ff face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE style="BORDER-LEFT: #0000ff 2px solid; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV class=gmail_quote>2011/6/12 Charles Lepple <SPAN dir=ltr><<A href="mailto:clepple@gmail.com">clepple@gmail.com</A>></SPAN><BR>
<BLOCKQUOTE class=gmail_quote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex">
<DIV style="WORD-WRAP: break-word">
<DIV>
<DIV class=im>
<DIV>On Jun 12, 2011, at 12:48 PM, Arnaud Quette wrote:</DIV><BR>
<BLOCKQUOTE type="cite"><BR>
<DIV class=gmail_quote>2011/6/12 Charles Lepple <SPAN dir=ltr><<A href="mailto:clepple@gmail.com" target=_blank>clepple@gmail.com</A>></SPAN><BR>
<BLOCKQUOTE class=gmail_quote style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex">On Jun 11, 2011, at 3:53 PM, Arnaud Quette
wrote:<BR><BR>
<BLOCKQUOTE class=gmail_quote style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex"> * jNUT Java binding<BR> the exact
content of this task is still to be defined, but this should include
native client access and NSS support,<BR> the following
will be considered with a lower priority:<BR> -
device discovery (JNI using libnut-scanner),<BR> -
configuration (using Augeas)<BR> - mDNS
discovery<BR> I'm currently checking resources staffing
with Eaton<BR></BLOCKQUOTE><BR>I'm not a huge fan of Java to begin
with,</BLOCKQUOTE>
<DIV><BR>so do I.<BR>but having played with Android a year and a half ago,
and having some requests more recently made me think we are still lacking
a Java binding...<BR> </DIV>
<BLOCKQUOTE class=gmail_quote style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex">but if I had to interface a Java tool with NUT, I
wouldn't want the hassle of native bindings (i.e. JNI) unless it was
absolutely necessary. Most of the NUT protocol should be easily
implementable in pure Java (including SSL).<BR></BLOCKQUOTE>
<DIV><BR>indeed, native client access (ie implement the ascii NUT protocol
in Java) is easy enough to be implemented directly (as we have in Python,
Nagios plugin, ...)<BR></DIV></DIV></BLOCKQUOTE>
<DIV><BR></DIV></DIV>
<DIV>Ah, I think we're saying the same thing. IIRC "native" in terms of Java
is the underlying processor/OS, and I think you are describing a "pure Java"
implementation.</DIV></DIV></DIV></BLOCKQUOTE></DIV>
<DIV><BR>indeed, so let's go for native ;-)<BR clear=all><BR>cheers,<BR>Arno<BR>
<DIV align=left dir=ltr><FONT color=#0000ff face=Arial size=2></FONT> </DIV></DIV></BLOCKQUOTE>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>Hi all,</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2></FONT></SPAN> </DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>In general:</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>As the current client API is a little too low level to be interesting
to be wrapped to Java (and others), is there more interesting to develop a
higher level API in C (like in Python) and to wrap it many languages (java but
not only: python, perl and many others can be targeted) with a tool like
SWIG ( <A href="http://swig.org/"><FONT face="Times New Roman" size=3>http://swig.org/</FONT></A> ).</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>Two linked benefits can be gained from such approach
:</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>1- A common API can be distributed over all languages and rely on an
unique implementation, which make them more visible and clear than many rewrites
in each languages.</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>2- When you augment the API (like adding a method), all languages
benefit of it with least effort (just running again the generation
tool).</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2></FONT></SPAN> </DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>In java specific wrapper:</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>In term of distribution : platforms which provide package
management can easily resolve dependancies between wrapped client pack and
"native" one; on other plateforms (like windows) project can build and
provide a "big" stand-alone jar with "native" client build for all
plateforms (Windows x86/x64, Linux on many plateforms and so on...) or dedicated
"light" jars for many plateforms (windows/linux, x86/x64/arm ...). This can
probably be provided automatically with smart commands on
buildbot.</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2></FONT></SPAN> </DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>In my developer point of view:</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>I think it is more interesting for a developper to implement a
high-level API than a simple communication protocol rewrite.</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>I think also it is more valuable at long term for the nut
project.</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2></FONT></SPAN> </DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>My two cents.</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>BR,</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2></FONT></SPAN> </DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2>Emilien</FONT></SPAN></DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2></FONT></SPAN> </DIV>
<DIV align=left><SPAN class=030391809-14062011><FONT color=#0000ff face=Arial size=2></FONT></SPAN> </DIV> </FONT></P>
<P CLASS="acaa1d18-a05c-4928-9a9b-4d9a12b04ea7"><SPAN STYLE="FONT-SIZE: 11pt; COLOR: red; FONT-FAMILY: 'Calibri','sans-serif'"><SPAN LANG="EN-US" STYLE="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'"><FONT COLOR="#0000ff" SIZE="2"><SPAN LANG="EN-US" STYLE="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"><SPAN STYLE="COLOR: #1f497d"><SPAN STYLE="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial"><FONT COLOR="#999999">
<HR>
<FONT SIZE="1"></FONT></FONT></SPAN><SPAN STYLE="COLOR: blue"></SPAN>
<P></P></SPAN></SPAN></FONT></SPAN></SPAN>
<P></P></P></BODY></HTML>