70 likes | 80 Views
JCAS is a pure Java CA Server implementation that seamlessly integrates non-EPICS values into the EPICS world. It offers efficient network concurrency, clean API, and comprehensive testing for fast and complex server implementations. Fully functional, funded by Gemini, and crucial for EPICS Java programming. Co-funders sought for complete development.
E N D
Matej Šekoranja, presented by Rok Šabjan matej.sekoranja@cosylab.com, rok.sabjan@cosylab.com Java CA Server (JCAS)
What is JCAS? • JCAS is pure Java CA Server implementation • Plugs into the JCA just like pure Java CA Client library • JCA support for server IFs from v2.2.0 (Oct 2006) • JCAS is only CA server side implementation • Pure CA implementation (i.e. no EPICS DB types/records dependencies), it talks CA DBRs • You can expose any value from non-EPICS to the “EPICS world”
Design and implementation • Based on well proven CAJ design • Used most efficient network concurrency design patterns (Leader/Followers ThreadPool) • Comprehensive testing • Done through entire development process • CAJ extensive tests were also used to test JCAS • C++ server used to test CAJ was transparently replaced with JCAS • Clean and simple API • Allows fast and efficient server implementations • Still allows advanced and more complex implementations if needed (e.g. dynamic ACL)
Status • Fully functional and complete implementation • Funded by Gemini (but only 50%) • Passed their acceptance test (including docs!) • Happy to have it and do not have any problems • Very useful (and crucial) EPICS Java library • Marty’s Java IOC w/o CAS is practically useless • Rapid integration of any Java “values” into EPICS • Co-funders for other 50% needed