Paper |
Title |
Page |
MO4BCO02 |
Lessons from Using Python GraphQL Libraries to Develop an EPICS PV Server for Web UIs |
191 |
|
- R.J. Auger-Williams
OSL, St Ives, Cambridgeshire, United Kingdom
- A.L. Alexander, T.M. Cobb, M.J. Gaughran, A.J. Rose, A.W.R. Wells, A.A. Wilson
DLS, Oxfordshire, United Kingdom
|
|
|
Diamond Light Source is currently developing a web-based EPICS control system User Interface (UI). This will replace the use of EDM and the Eclipse-based CS-Studio at Diamond, and it will integrate with future Acquisition and Analysis software. For interoperability, it will use the Phoebus BOB file format. The architecture consists of a back-end application using EPICS Python libraries to obtain PV data and the query language GraphQL to serve these data to a React-based front end. A prototype was made in 2021, and we are now doing further development from the prototype to meet the first use cases. Our current work focuses on the back-end application, Coniql, and for the query interface we have selected the Strawberry GraphQL implementation from the many GraphQL libraries available. We discuss the reasons for this decision, highlight the issues that arose with GraphQL, and outline our solutions. We also demonstrate how well these libraries perform within the context of the EPICS web UI requirements using a set of performance metrics. Finally, we provide a summary of our development plans.
|
|
|
Slides MO4BCO02 [4.243 MB]
|
|
DOI • |
reference for this paper
※ doi:10.18429/JACoW-ICALEPCS2023-MO4BCO02
|
|
About • |
Received ※ 29 September 2023 — Accepted ※ 13 October 2023 — Issued ※ 20 October 2023 |
|
Cite • |
reference for this paper using
※ BibTeX,
※ LaTeX,
※ Text/Word,
※ RIS,
※ EndNote (xml)
|
|
|