channelfinder: a directory service - stanford university lange – bessy . ... –from channel...
TRANSCRIPT
pvManager
Graphene
IOC
CA client (JCA/CAJ)
CSS
Co
re
ChannelFinder Integration
Olog Integration
ChannelFinder
Olog
…
…
DataBrowser
BOY
CSS
IOC … IOC
pvA client
IOC … v3
AccelUtils
v4
Pu
blis
h/s
ub
scri
be
Command/response
v4
Masar
...
pvA Sim Test
API
Web based REST services
API
…
Java/Python
…
cf-update
Scripts and utilities
Logbook
…
Web UI and other clients
CA Core Client Technologies Data Sources
Aggregation
Visualization
vTypes Data Definition
Motivation
• Problem: A flat name space restricts seriously
– Clients need to know all channels beforehand
– Applications need full configuration
• Solution: A generic directory service
– Provides “query-by-functionality”
– No dependence on installation and local conventions
Installation
• Download and Install glassfish
• Download and Install MySQL
• Download the ChannelFinder
– Run channelfinder-base.sql scrip to create database
– Drop the channelfinder.war into autodeploy folder of glassfish
– Create JDBC connection pool resource
ChannelFinder at BNL
IOCs
Glassfish Web service
/cf-update
Web proxy
CSS Scripts to
- populate properties - create lattice
channelfinder.nsls2.bnl.gov
NFS update
daemon
dependency
data flow
Java lib Python lib
Getting channels from the IOCs
IOCs /cf-update
channelfinder.nsls2.bnl.gov
NFS
dependency
data flow
• Populate ChannelFinder • Manage Orphaned and Moved
Channels
Updating channel list
Glassfish Web service
/cf-update
channelfinder.nsls2.bnl.gov
update daemon
dependency
data flow
Usage from high level physics
Glassfish Web service
Scripts to - populate properties
- create lattice
channelfinder.nsls2.bnl.gov
dependency
data flow
Python lib
Usage from high level physics
• Our physics group adds properties/tags • From Linyun Yang (accelerator physics) talk:
– From Channel Access to Channel Finder Service: • Channel Accesses in Python and Matlab are simple to use. • High level applications (HLA) deals with thousands of magnets,
instruments and more channels. • Organized/structured channel information is necessary. • Channels linked to accelerator lattice and diagnostics are even
better. • Searching instead of remembering is easier for HLA users.
– A “dictionary” service can help HLA to manage the channels and build a lattice structure to which the AP is familiar. (they done simulation, analysis with it in the design).
device FM1G4C02A Channel Name
SR:C02-MG:G04A{HFCor:FM1} SR:C02-MG:G04A{VFCor:FM1}
Fld-I Fld-SP Fld-I Fld-SP
handle READBACK SETPOINT READBACK SETPOINT
elemName FXM1G4C02A FYM1G4C02A
elemType HFCOR VFCOR
elemField x y
devName FM1G4C02A
sEnd 65.5222
cell C02
girder G4
symmetry A
length 0.044
ordinal 263 264
tags
eget eput eget eput
x y
sys.SR
Usage from high level physics
• Physics group can re-create the lattice from the information in channel finder
• By tags, different lattices can be built, and elements can be shared between them.
– Sharing is important for injection, where LTD1 and LTD2 shares a lot of elements with LTB
CSS & ChannelFinder
Glassfish Web service
CSS
channelfinder.nsls2.bnl.gov
dependency
data flow
Java lib
A brief history of ChannelFinder
2011/9 Java lib 2.1
2012/1 Service 1.1
2010/11
Service 1.0 Java lib 1.0
SourceForge Continuous Integration
2011 2012
2012/3 Python lib 1.1
2011/6 CSS Application
Channel Viewer 2012/3
ChannelFinder Applications Widgets for BOY