ICALEPCS 2009
WEP007
FESA 3.0: Overcoming the XML/RDBMS Impedance Mismatch
M.Martin Marquez, M.Peryt*, R.Billen (CERN)
The Front End System Architecture (FESA) framework developed at CERN takes an XML-centric approach to modeling accelerator equipment software. Among other techniques, XML Schema is used for abstract model validation, while XSLT drives the generation of code. At the same time all the information generated and used by the FESA framework is just a relatively small subset of a much wider realm of Controls Configuration data stored in a dedicated database and represented as a sophisticated relational model. Some data transformations occur in the XML universe, while others are handled by the database, depending on which technology is a better fit for the task at hand. This paper describes our approach to dealing with what we call the "XML/Relational impedance mismatch" - by analogy to Object/Relational impedance mismatch - that is how to best leverage the power of an RDBMS as a back-end for an XML-driven framework. We discuss which techniques work best for us, what to avoid, where the potential pitfalls lie. All this is based on several years of experience with a living system used to control the world's biggest accelerator complex.