Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: Re: Questions about Java channel access client
From: "Ebner Simon Gregor (PSI)" <simon.ebner@psi.ch>
To: "Wang, Lin" <wanglin@ihep.ac.cn>
Cc: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Wed, 7 Jun 2017 11:41:57 +0000
Hi Lin

JCAE and CA are both libraries developed (together with Cosylab) and actively maintained by the Paul Scherrer Institute. The aim of both libraries is to provide an Java like way to interact with Channel Access. As Mark already pointed out JCAE is an abstraction layer to JCA/CAJ. This library provides abstractions for both, client and server functionality.

CA is a pure client side library. It was developed from scratch building on latest Java 8 concepts and technologies. It left behind all legacy and complexity of the older libraries.

At PSI both libraries are actively used in production and almost all Controls supported Java applications here are based on them. Whenever we need to touch our applications, and where possible we are actively migrating our applications to the CA library. So if you are starting from scratch, you are planning to use one of these two libraries and you only need client side functionality, I would heavily suggest to start with the CA library.

Not directly related to your question, but something you might find useful, both of these libraries you can also easily use from within Matlab to access Channel Access (Linux, Mac, Windows). 

If you have more questions related to these two libraries, feel free to contact me. 

Best
Simon

> On 7 Jun 2017, at 13:10, Mark Rivers <rivers@cars.uchicago.edu> wrote:
> 
> Hi Lin,
> 
> I just looked at the JCAE code on Github.  Its documentation says:
> 
> "JCAE is an easy to use ChannelAccess library abstracting the complexity of the JCA and CAJ library and bringing ChannelAccess into the Java domain (i.e. use of Java types)."
> 
> If you look in the code, for example CaServer.java it uses JCA:
> import gov.aps.jca.CAException;
> import gov.aps.jca.JCALibrary;
> import gov.aps.jca.cas.ProcessVariable;
> import gov.aps.jca.cas.ServerContext;
> import gov.aps.jca.configuration.DefaultConfiguration;
> 
> So JCAE provides an abstraction and easier to use interface, but it does not replace JCA/CAJ.   It handles clients and servers.
> 
> CA is client only and does not depend on JCA/CAJ.  It is for clients only.
> 
> Mark
> 
> ________________________________________
> From: tech-talk-bounces@aps.anl.gov [tech-talk-bounces@aps.anl.gov] on behalf of Wang, Lin [wanglin@ihep.ac.cn]
> Sent: Wednesday, June 07, 2017 3:55 AM
> To: tech-talk@aps.anl.gov
> Subject: Questions about Java channel access client
> 
> Dear all,
> We need to develop the facility status web UI using Java for CSNS, the web UI will get data from live PVs, and we are now considering which Java channel access client library to use.
> 
> On the EPICS official website, the following ones are mentioned.
> 
> CAJ: Pure Java Channel Access Client (SF)
> JCA: Channel Access client for Java using JNI (SF) (original at APS/BCDA)
> CA: Another pure Java Channel Access client implementation (Github)
> JCAE: Java Channel Access Extensions library (Github)
> 
> So my questions are as follows:
> 1. Are JCA and CAJ already obsolete? I ask because most documentations for them do not seem to be available anymore. Also, they are not moved to github like other active maintained projects.
> 2. Are CA and JCAE the replacement or improvement of JCA/CAJ?
> 3. For CA and JCAE, which one will you recommend?
> 
> 
> Thanks,
> Lin


References:
Questions about Java channel access client Wang, Lin
RE: Questions about Java channel access client Mark Rivers

Navigate by Date:
Prev: RE: Questions about Java channel access client Mark Rivers
Next: double crystal monochromator 梁雅翔
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: RE: Questions about Java channel access client Mark Rivers
Next: Re: Questions about Java channel access client Ralph Lange
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 07 Jun 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·