pvmanager and CSS Gabriele Carcassi 1222013 Components vTypes pvmanager pva DataSource pva DataSource configuration plugin Archiver client interface BOY DataBrowser V4 producerconsumer ID: 336693
Download Presentation The PPT/PDF document "v4 integration in" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
v4 integration inpvmanager and CSS
Gabriele
Carcassi
1/22/2013Slide2
Components
vTypes
pvmanager
pva
DataSource
pva DataSource configuration plugin
Archiver client interface
BOY
DataBrowser
V4 producer/consumer
V4 command/response
v4 packaging plugin
queues
Outside of CSS
CSS pluginsSlide3
new in pvmanager 2.0
Datasource
spec revisited
Allows pluggable conversions from
pvStructures to whatever Java objectCould be vType, but doesn’t have toThis can allow to build prototypes of Normative Types and their mapping to Java types without depending on Gabriele or Matej
to do workSlide4
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 whateverJCATypeAdapter
myTypeAdapter = ... JCATypeAdapterSet
myAdapters = ...
// Creates a custom JCA datasource with your support
JCADataSource source = new JCADataSourceBuilder()
.typeSupport(new
JCATypeSupport(myAdapters)
.build()Slide5
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 threadqueue.add
(newValue);Slide6
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 pvmanagerInterest on my side:Multi-dimensional array – had spec reviewed from James a long time ago; need to make sure it will workImage – the current definition is “useful crap”Slide7
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 VStringArraySlide8
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 datasourceDepend on release versions of pvData and pvAccess
Consider having the released pvData and pvAccess in maven centralPrevents me to release pva datasource
in maven central, so can’t provide v4 “out of the box” experienceSlide9
CSS integration of pvmanager
All BNL applications are already using
pvmanager
SNS has committed to pvmanager
, and are deprecating utility.pvMost SNS applications (DataBrowser, BEAST, …) are already ported to pvmanager. In CSS 3.2 they will not use
utility.pvBOY will have option to support both in CSS 3.2BNL aims to have a CSS 3.2 with pvmanager only for all applicationsSlide10
CSS 3.2 schedule
By the end of the month, release branch created
Aiming for site products released by the end of FebruarySlide11
pva datasource integration in CSS
The following plugins need to be created:
Wrapper for
pvData
Maintainer to identifyLack of propertly release version?Wrapper for pvAccess
Maintainer to identifyLack of propertly release version?Configuration plugin for pva datasource
Maintainer to identifyPvmanager pva datasource pluginGabriele Carcassi will create the plugin and move the code from pvmanager
repository with everything elseNeeds the previous addressedSlide12
pva datasource integration in CSS
Need someone to test whether the different applications
actually work