v4 integration in pvmanager and CSS Gabriele Carcassi 1/22/2013 Components V4 command/response V4 producer/consumer queues pva DataSource pvmanager Outside of CSS vTypes v4 packaging plugin pva DataSource configuration plugin CSS plugins Archiver client interface DataBrowser BOY new in pvmanager 2.0 • Datasource spec revisited • Allows pluggable conversions from pvStructures to whatever Java object – Could be vType, but doesn’t have to – This can allow to build prototypes of Normative Types and their mapping to Java types without depending on Gabriele or Matej to do work pvmanager 2.0 pluggable types • For example, in ca: // Create a custom adapter that converts DBR to whatever JCATypeAdapter myTypeAdapter = ... JCATypeAdapterSet myAdapters = ... // Creates a custom JCA datasource with your support JCADataSource source = new JCADataSourceBuilder() .typeSupport(new JCATypeSupport(myAdapters) .build() • If needed, Matej could have something similar for pva new in pvmanager 2.0 • Queue which allows to get data from any source, including command/response Queue<MyObject> queue = queueOf(MyObject.class) PVReader<MyObject> pv = PVManager.read(queue).maxRate(ofHz(10)); // Response can be posted on the queue from any thread queue.add(newValue); • This would allow a client to benefit from all the rest of pvmanager while processing the result vTypes • They are now a separate library – org.epics.vtype • This allows Kay to write an archiver interface that depends on them without depending on pvmanager • Interest on my side: – Multi-dimensional array – had spec reviewed from James a long time ago; need to make sure it will work – Image – the current definition is “useful crap” pva DataSource • Matej has been working on it • From what I can see: – Connection implemented – Implemented conversions to Vdouble, Vint, VByteArray, VShortArray, VIntArray, VDoubleArray, VEnum, Vstring and VStringArray pva DataSource related suggestions • Consider implementing the type conversions separately, since vTypes are now separate – useful for command/response • Consider having a builder to configure the datasource • Depend on release versions of pvData and pvAccess • Consider having the released pvData and pvAccess in maven central – Prevents me to release pva datasource in maven central, so can’t provide v4 “out of the box” experience CSS integration of pvmanager • All BNL applications are already using pvmanager • SNS has committed to pvmanager, and are deprecating utility.pv – Most SNS applications (DataBrowser, BEAST, …) are already ported to pvmanager. In CSS 3.2 they will not use utility.pv – BOY will have option to support both in CSS 3.2 • BNL aims to have a CSS 3.2 with pvmanager only for all applications CSS 3.2 schedule • By the end of the month, release branch created • Aiming for site products released by the end of February pva datasource integration in CSS • The following plugins need to be created: – Wrapper for pvData • Maintainer to identify • Lack of propertly release version? – Wrapper for pvAccess • Maintainer to identify • Lack of propertly release version? – Configuration plugin for pva datasource • Maintainer to identify – Pvmanager pva datasource plugin • Gabriele Carcassi will create the plugin and move the code from pvmanager repository with everything else • Needs the previous addressed pva datasource integration in CSS • Need someone to test whether the different applications actually work