JInterface

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

JInterface

Ciaran Johnston
Hi,
        I am looking at ways of interfacing a java application with an Erlang
node, and one of the better options appears to be JInterface. However
the situation we want to use it in offers a few possible sticking
points. Here's the lowdown:

The Java application is running on a different system to the one running
the Erlang node(s). We want to be able to communicate from this system
to many other systems running an Erlang node. We don't want to have
Erlang in any form installed on the system running the Java. We came up
with this solution: to copy the Java source files from the R7B source
code and build the JInterface application locally, on the relevant
machine. We have done this but haven't managed to test it yet - we've
had no end of software configuration problems. Can anyone anticipate a
problem with this?

Our other problem, a more worrying one, is the compatibility between R7B
and R5B - the Erlang nodes are all running R5B. Are there any
compatibility issues between these two versions bearing in mind that we
are only using JInterface to send messages between the Java application
and the Erlang node? In other words, can we do what we are trying to do?
As I mentioned, we haven't been able to test it here yet.

Thanks in advance,

Ciaran.


Reply | Threaded
Open this post in threaded view
|

JInterface

Ciaran Johnston
The trouble with that is that there _is_ no JInterface with R5B, so we
can't use that one (or at least there is no documentation for it). We
are not adding software from R7B to R5B, we are integrating it into our
Java application. JInterface is a bunch of Java files that allow your
java application to appear as a node to an erlang node. Your Java
application can then send and receive messages with the erlang node, and
as far as the erlang node is concerned it is communicating with another
erlang node (at least this is my understanding - correct me if I'm wrong
:-)). Thus all we need is for the syntax of the messages to be
consistent from R5B to R7B (at least that is what we are hoping). Is
this the case?

Chris Williams wrote:

>
> Hi Ciaran,
> If you use R5B you havce to use jinteface (R5B) for it....
> If you use R7B you should use jinteface (R7B) for it....
> One can not coppy files from R7B to R5B this will not work and
> will not be supported by erlang/OTP and probably will not work!
> Ciaran Johnston wrote:
> >
> > Hi,
> >         I am looking at ways of interfacing a java application with an Erlang
> > node, and one of the better options appears to be JInterface. However
> > the situation we want to use it in offers a few possible sticking
> > points. Here's the lowdown:
> >
> > The Java application is running on a different system to the one running
> > the Erlang node(s). We want to be able to communicate from this system
> > to many other systems running an Erlang node. We don't want to have
> > Erlang in any form installed on the system running the Java. We came up
> > with this solution: to copy the Java source files from the R7B source
> > code and build the JInterface application locally, on the relevant
> > machine. We have done this but haven't managed to test it yet - we've
> > had no end of software configuration problems. Can anyone anticipate a
> > problem with this?
> >
> > Our other problem, a more worrying one, is the compatibility between R7B
> > and R5B - the Erlang nodes are all running R5B. Are there any
> > compatibility issues between these two versions bearing in mind that we
> > are only using JInterface to send messages between the Java application
> > and the Erlang node? In other words, can we do what we are trying to do?
> > As I mentioned, we haven't been able to test it here yet.
> >
> > Thanks in advance,
> >
> > Ciaran.
>
> --
> ====================================================================
> Christopher Williams Phone:    +353 902 31365
> Ericsson Systems     ECN:      83021365
> Expertise Limited,   Mob:      +353 87 64 888 04
> Athlone,             Fax:      +353 902 31304
> Co.Westmeath,        http://nosc.eei.ericsson.se/pdu_access/Lynx
> Ireland              chris.williams
> ====================================================================

--
Ciaran Johnston        
Ericsson Systems Expertise Ltd.,
Athlone
Co. Westmeath
Eire

email: Ciaran.Johnston
Phone: +353 902 31274


Reply | Threaded
Open this post in threaded view
|

JInterface

Francesco Cesarini
> Thus all we need is for the syntax of the messages to be
> consistent from R5B to R7B (at least that is what we are hoping). Is
> this the case?

Nope.. Does not work, as there are also changes and improvements in the
Erlang distribution among releases, different versions of Erlang can not
talk to each other (Unless of course, the distribution went untouched..
Which is definitively not the case between R5 and R7).


I'm going home!

Ciao,
Francesco

>
> Chris Williams wrote:
> >
> > Hi Ciaran,
> > If you use R5B you havce to use jinteface (R5B) for it....
> > If you use R7B you should use jinteface (R7B) for it....
> > One can not coppy files from R7B to R5B this will not work and
> > will not be supported by erlang/OTP and probably will not work!
> > Ciaran Johnston wrote:
> > >
> > > Hi,
> > >         I am looking at ways of interfacing a java application with an Erlang
> > > node, and one of the better options appears to be JInterface. However
> > > the situation we want to use it in offers a few possible sticking
> > > points. Here's the lowdown:
> > >
> > > The Java application is running on a different system to the one running
> > > the Erlang node(s). We want to be able to communicate from this system
> > > to many other systems running an Erlang node. We don't want to have
> > > Erlang in any form installed on the system running the Java. We came up
> > > with this solution: to copy the Java source files from the R7B source
> > > code and build the JInterface application locally, on the relevant
> > > machine. We have done this but haven't managed to test it yet - we've
> > > had no end of software configuration problems. Can anyone anticipate a
> > > problem with this?
> > >
> > > Our other problem, a more worrying one, is the compatibility between R7B
> > > and R5B - the Erlang nodes are all running R5B. Are there any
> > > compatibility issues between these two versions bearing in mind that we
> > > are only using JInterface to send messages between the Java application
> > > and the Erlang node? In other words, can we do what we are trying to do?
> > > As I mentioned, we haven't been able to test it here yet.
> > >
> > > Thanks in advance,
> > >
> > > Ciaran.
> >
> > --
> > ====================================================================
> > Christopher Williams Phone:    +353 902 31365
> > Ericsson Systems     ECN:      83021365
> > Expertise Limited,   Mob:      +353 87 64 888 04
> > Athlone,             Fax:      +353 902 31304
> > Co.Westmeath,        http://nosc.eei.ericsson.se/pdu_access/Lynx
> > Ireland              chris.williams
> > ====================================================================
>
> --
> Ciaran Johnston
> Ericsson Systems Expertise Ltd.,
> Athlone
> Co. Westmeath
> Eire
>
> email: Ciaran.Johnston
> Phone: +353 902 31274

--
Francesco Cesarini

Erlang/OTP consultant
Cellular: INT+44-7776 250381
ECN: 832-707192
http://welcome.to/cesarini.consulting


Reply | Threaded
Open this post in threaded view
|

JInterface

Vance Shipley-2


Francesco Cesarini writes:
> Nope.. Does not work, as there are also changes and improvements in the
> Erlang distribution among releases, different versions of Erlang can not
> talk to each other (Unless of course, the distribution went untouched..
> Which is definitively not the case between R5 and R7).


Well that statement is a bit strong isn't it?  I have connected my desktop
environment to other backend nodes running different versions.  I would
also point out that the release notes have many mentions of certain _issues_
involving ditribution between versions.  I don't know about R5 <--> R7
though.

I was told at one point that my commercial versions wouldn't talk to the
opensource versions.  Apparently this had to do with the security mechanisms
used in the commercial systems not being released as opensource.

        -Vance



Reply | Threaded
Open this post in threaded view
|

JInterface

Francesco Cesarini
Vance Shipley wrote:
>
> Francesco Cesarini writes:
> > Nope.. Does not work, as there are also changes and improvements in the
> > Erlang distribution among releases, different versions of Erlang can not
> > talk to each other (Unless of course, the distribution went untouched..
> > Which is definitively not the case between R5 and R7).
>
> Well that statement is a bit strong isn't it?  

Nothing harsh meant.. I ended up learning the hard way when trying to
set up the distribution between a machine running Linux and one running
VxWorks. We wasted a day believing we had a network problem.. Or a cable
problem.. Or a hardware problem.. Or a configuration problem.. Or an
installation problem.. Everything other than the fact that we where
using two different Erlang versions.

/FC
--
Francesco Cesarini

Erlang/OTP consultant
Cellular: INT+44-7776 250381
ECN: 832-707192
http://welcome.to/cesarini.consulting


Reply | Threaded
Open this post in threaded view
|

JInterface

Björn Gustavsson-3
In reply to this post by Vance Shipley-2
In general, we only guarantee that two consectuitive major versions can
talk to each other (i.e. R5 can talk to R6, R6 can talk to R7).

We don't change the distribution protocol unless we have good reason;
for instance the upcoming R8 *might* be able to talk R6 (so far we
haven't found any reason to change the distribution protocol in R8).

The original open-source version of Erlang (based on R4) could not
talk with the commercial version of Erlang.

All versions (commercial or open-source) of R6 and R7 can talk with
each other. The commercial version of R6 can also talk with R5.
(There was no open-source release of R5.)

/Bj?rn

"Vance Shipley" <vances> writes:

> Francesco Cesarini writes:
> > Nope.. Does not work, as there are also changes and improvements in the
> > Erlang distribution among releases, different versions of Erlang can not
> > talk to each other (Unless of course, the distribution went untouched..
> > Which is definitively not the case between R5 and R7).
>
>
> Well that statement is a bit strong isn't it?  I have connected my desktop
> environment to other backend nodes running different versions.  I would
> also point out that the release notes have many mentions of certain _issues_
> involving ditribution between versions.  I don't know about R5 <--> R7
> though.
>
> I was told at one point that my commercial versions wouldn't talk to the
> opensource versions.  Apparently this had to do with the security mechanisms
> used in the commercial systems not being released as opensource.
>
> -Vance
>

--
Bj?rn Gustavsson            Ericsson Utvecklings AB
bjorn      ?T2/UAB/F/P
                            BOX 1505
+46 8 727 56 87    125 25 ?lvsj?


Reply | Threaded
Open this post in threaded view
|

JInterface

Ciaran Johnston
Thanks for all the answers to this question - we probably missed out on
a lot of pain and anquish as a result. We decided to go with an upgrade
to R7B and we have got some simple communication going (trying to
communicate with R5B was a non-starter).

Thanks and regards,

Ciaran.