The Joint Accelerator Conferences Website (JACoW) is an international collaboration that publishes the proceedings of accelerator conferences held around the world.
|Title||How to Design & Implement a Modern Communication Middleware Based on ZeroMQ|
|Abstract||In 2011, CERN's Controls Middleware (CMW) team started a new project aiming to design and implement a new generation equipment access framework using modern, open-source products. After reviewing several communication libraries , ZeroMQ  was chosen as the transport layer for the new communication framework. The main design principles were: scalability, flexibility, easy to use and maintain. Several core ZeroMQ patterns were employed in order to provide reliable, asynchronous communication and dispatching of messages. The new product was implemented in Java and C++ for client and server side. It is the core middleware framework to control all CERN accelerators and the future GSI FAIR  complex. This paper presents the overall framework architecture; choices and lessons learnt while designing a scalable solution; challenges faced when designing a common API for two languages (Java and C++) and operational experience from using the new solution at CERN for 3 years. The lessons learnt and observations made can be applied to any modern software library responsible for fast, reliable, scalable communication and processing of many concurrent requests.|
|Footnotes & References|| A. Dworak et al., "Middleware trends and market leaders 2011", ICALEPCS 2011.
 ZeroMQ, http://zeromq.org
 V. Rapp et al., "Controls Middleware for FAIR", PCaPAC 2014.
|Paper||download MOBPL05.PDF [0.472 MB / 7 pages]|
|Slides||download MOBPL05_TALK.PDF [0.205 MB]|
|Export||download ※ BibTeX ※ LaTeX ※ Text/Word ※ RIS ※ EndNote|
|Conference||ICALEPCS2017, Barcelona, Spain|
|Series||International Conference on Accelerator and Large Experimental Control Systems (16th)|
|Proceedings||Link to full ICALEPCS2017 Proccedings|
|Session||Software Technology Evolution 1|
|Main Classification||Software Technology Evolution|
|Keywords||ion, CORBA, controls, framework, interface|
|Publisher||JACoW, Geneva, Switzerland|
|Editors||Volker RW Schaa (GSI, Darmstadt, Germany); Isidre Costa (ALBA-CELLS, Cerdanyola del VallÃ¨s, Spain); David FernÃ¡ndez (ALBA-CELLS, Cerdanyola del VallÃ¨s, Spain); Ãscar Matilla (ALBA-CELLS, Cerdanyola del VallÃ¨s, Spain)|