5
NSRRC,Hsinchu, Taiwan, June 2011pvData,pvAccess,javaIOC,pvServic e 5 Services Service layer for High Level Application  Client/server model  pvData/pvAccess for communication between client and server itemFinder Service – Given a search string return a list of channel names and properties createGather Service – Given a list of channels create a new gather record gather Service – Get/put/monitor a set of channels – Examples: BPMs for a bump or golden orbit Correctors for a bump or golden orbit Model server – Interface to model server: Elegant, etc.

6
NSRRC,Hsinchu, Taiwan, June 2011pvData,pvAccess,javaIOC,pvServic e 6 Many Services Require C++ Interface to C/C++ Accelerator Modeling Codes Services in a V3 IOC Support for Python (not Jython) – numPY – itemFinder interface to IRMIS; Python nicest interface to IRMIS Two example Accelerator Applications are shown on the next two slides

9
NSRRC,Hsinchu, Taiwan, June 2011pvData,pvAccess,javaIOC,pvServic e 9 pvDataCPP and pvAccessCPP Both have been implemented Client testing: – A javaIOC is started with the pvAccess client running – The javaIOC swtshell is used to connect to V3 records Server testing is via a pvIOCCP – A database of V3 records is provided – The v3Channel support is started via the st.cmd file Testing as above demonstrates that: – A java pvAccess client talks to a C++ pvAccess server. All communication between client and server is via pvAccess

10
NSRRC,Hsinchu, Taiwan, June 2011pvData,pvAccess,javaIOC,pvServic e 10 pvIOCCP C++ implementation of a V4 IOC. v3Channel implements Channel interface to V3 records – pvAccess remote server talks to v3Channel V4 database, V4 Records, Scanning, Support – Basic interfaces defined But not portDriver (asynDriver) – Only a few implemented – Nothing tested – Lots of work for the future Support for services under development – Base classes for Channel and Channel Provider Channel access interface for services – Other help for services Because V4 database, etc not available

14
NSRRC,Hsinchu, Taiwan, June 2011pvData,pvAccess,javaIOC,pvServic e 14 Support For Services In javaIOC Support provided via – Support attached to some field of the support record – Get, put, etc, handled via standard javaIOC support – Support normally accessed via put/process/get But standard support not ready so for now: – Provide base class that handles get, put, monitor, etc. – Support only needs to implement putProcessGet Work in progress

15
NSRRC,Hsinchu, Taiwan, June 2011pvData,pvAccess,javaIOC,pvServic e 15 Vision For Future Implement all of what is in javIOC in pvIOCCPP JavaIOC portDriver provides functionality of asynManager but better – BUT Almost no portDrivers No synApps No area detector Etc etc Sigh!! When portDriver is implemented in pvIOCCP – Can use all existing portDrivers – Can use lots of area detector – Can use lots of synAPPs – Can provide structured data to/from portDriver clients!!!!!