120 likes | 221 Views
v4 integration in pvmanager and CSS. Gabriele Carcassi 1/22/2013. Components. V4 producer/consumer. V4 command/response. queues. pva DataSource. Outside of CSS. pvmanager. vTypes. v4 packaging plugin. pva DataSource configuration plugin. CSS plugins. Archiver client interface.
E N D
v4 integration inpvmanager and CSS Gabriele Carcassi 1/22/2013
Components V4 producer/consumer V4 command/response queues pvaDataSource Outside of CSS pvmanager vTypes v4 packaging plugin pvaDataSource 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: • If needed, Matej could have something similar for pva // Create a custom adapter that converts DBR to whatever JCATypeAdaptermyTypeAdapter = ... JCATypeAdapterSetmyAdapters = ... // Creates a custom JCA datasource with your support JCADataSource source = new JCADataSourceBuilder() .typeSupport(new JCATypeSupport(myAdapters) .build()
new in pvmanager 2.0 • Queue which allows to get data from any source, including command/response • This would allow a client to benefit from all the rest of pvmanager while processing the result 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);
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”
pvaDataSource • 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
pvaDataSource 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 pvadatasource 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 pvmanageronly 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
pvadatasource 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 pvadatasource • Maintainer to identify • Pvmanagerpvadatasource plugin • Gabriele Carcassi will create the plugin and move the code from pvmanager repository with everything else • Needs the previous addressed
pvadatasource integration in CSS • Need someone to test whether the different applications actually work