EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: JCA2 vs CAJ?
From: "J. Lewis Muir" <[email protected]>
To: GaryCarr <[email protected]>
Cc: [email protected]
Date: Tue, 24 Mar 2009 13:40:20 -0400
On 3/24/09 12:19 PM, GaryCarr wrote:
> Here at LANL/AOT-IC we are just starting to replace JCA1 with JCA2 in
> our Java applications. Since moving between JCA2 and CAJ is just a one
> line code change, I have run my applications with both, and don't see
> any real differences between the two. A couple of questions.
> 
> How many people are using JCA2?

Hi, Gary.

I use it.

> how many people are using CAJ?

I use it.

> Is there any reason to choose one over the other?

You need JCA no matter what.

By default, JCA expects to use a native CA library.  However, you can
make JCA use a different CA library, CAJ, which is implemented in pure
Java.

To me, some important differences are:

1. JCA with CAJ provides a pure Java implementation.  This is nice in
   terms of easy deployment and portability.  There's no need to install
   EPICS base on the computer where your application will run.  If the
   computer has a Java VM installed, and you create a single JAR file
   containing your application (e.g. One-JAR
   <http://one-jar.sourceforge.net/>), you can deploy your entire
   application with just that JAR file.

2. JCA with CAJ does not use the native CA library.  If there are bugs
   or differences between CAJ and the native CA library, you may have
   problems.  For example, I remember maybe a year ago some people
   reporting problems with CAJ related to EPICS's access security
   mechanism.  I don't know where this stands.

3. I don't know that the maintainers of EPICS fully endorse CAJ.  I
   think it would be great if they did, but there may be some feeling
   that the CA protocol should only be implemented as provided in EPICS
   base, and any other language support should be implemented with
   bindings into the native CA library rather than a separate
   implementing of the CA protocol in that other language.

4. Cosylab has developed CAJ.  What happens if Cosylab no longer
   supports CAJ?  Who will maintain it?  Similarly, what happens if the
   CA protocol is heavily changed, say in EPICS 3.15 - who will do the
   work to update CAJ to support the changes to the CA protocol?

Lewis

-- 
J. Lewis Muir
Software Engineer
IMCA-CAT/CARS

Replies:
RE: JCA2 vs CAJ? Dalesio, Leo
RE: JCA2 vs CAJ? Jeff Hill
References:
JCA2 vs CAJ? GaryCarr

Navigate by Date:
Prev: Re: JCA2 vs CAJ? Tom Pelaia
Next: RE: JCA2 vs CAJ? Dalesio, Leo
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: JCA2 vs CAJ? Tom Pelaia
Next: RE: JCA2 vs CAJ? Dalesio, Leo
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·