Service-oriented architecture (SOA) may not exactly be nuclear physics, but at the CERN (European Organization...
for Nuclear Research) physics laboratory on the border of France and Switzerland, an SOA system is watching over giant particle accelerators.
Particle accelerators at the CERN are monitored by an event-driven service-oriented architecture (SOA) system based on Java Messaging Service (JMS) and Enterprise Java Beans (EJB).
The Technical Infrastructure Monitoring (TIM) system is an example of how SOA can be done relying on Java standards and technology rather than Web services standards and technology, said Hub Vandervoort, CTO of the Enterprise Infrastructure Division at Progress Software Corp.
"This is very much event-driven SOA, but there are no Web services in use," he said of the system that monitors vital signs such as temperature and pressure within the accelerators including the new 27-kilometer (16.7-mile) Large Hadron Collider (LHC), the world's largest particle accelerator.
Instead of SOAP and WSDL, message formats flow over JMS transports and XML, he said. This is in keeping with the Gartner Inc. definition of how event-driven SOA can be architected.
"If you pick up the Gartner vernacular they characterize SOA in two broad categories," Vandervoort said. As he explained it the first, and currently most common, is request/response style, or interactive SOA, which tends to be based on SOAP over HTTP. The second is event-driven architecture (EDA) SOA, or notification-based SOA. The latter is the approach taken with CERN's TIM, to build a system that takes readings from 30,000 gauges and publishes them to an enterprise service bus (ESB) where technicians at workstations and PC browsers -- as well as autonomic systems and auditing databases --subscribe to them.
For the CERN system Vandervoort argues JMS is currently the best choice.
"The thing is in the Web services area right now there is not really a strong standard for pub-style communications," he said. "WS-Eventing and WS-Notification lean in that direction, but as it stands right now WS-Eventing and WS-Notification are still not fully ratified specifications. Recently, the standards groups have taken a turn toward focusing those standards on management technology. It's not really geared for the kind of work that's being done at CERN. So CERN is not using WS-Eventing and WS-Notification. They are using JMS publish and subscribe as the transport, but it's still very much SOA."
Begun in 2003 and completed in 2005, TIM is based on a mix of Java open source and vendor products, said Peter Sollander, technical infrastructure operations department manager at CERN. It is built on Apache servlet engines, Oracle application servers, and uses the SonicMQ JMS messaging technology from Progress. For desktop views, which mostly go to technicians at workstations, but also includes browser-based systems, CERN used JViews from ILOG Inc., the manager said.
"This is a huge system of very different types of equipment," Sollander said. "There are 30,000 data points coming from 100 different local systems. We process 1.3 million value changes per day. That's the throughput we're dealing with. We plan that it will go up with the introduction of new systems, new data sources.".
Value changes include continuous monitoring of electricity, cooling, ventilation, vacuum and other vital signs within the particle accelerators, he explained. A major problem with any one of those anywhere requires instant response.
"If a pump fails that will generate an alarm," Sollander said.
The various monitoring devices and the systems that support them were built over the decades since the European physics center opened in 1954. One of the main goals of the TIM project was to be able to publish data from all legacy monitors and have it appear in the same format when the technicians view it as an alert or change, Sollander said.
Converting all the data to XML format and putting it on a JMS bus makes that possible, said Vandervoort.
"All the measuring devices are native JMS clients that take the instrument readings and turn them into JMS messages," the Progress CTO said. "The fact that they are all normalized JMS messages means that anything that speaks JMS can now consume those messages.
After the first year of operation, CERN evaluated how TIM was doing, Sollander said. "We evaluated the first year of operations on the availability and we came to 99.8 percent availability in the first year. This is very important to us. The most important thing in the system is to be able to trust the data and you are aware if something goes wrong. So availability and reliability are the main concerns for us."
Based on that report card TIM appears to be at the head of his class.
From Vandervoort's point of view, TIM shows how an SOA system can be built without using what he considers problematic Web services event standards.
"The absence of Web services standards does not mean you can't do event-driven SOA using JMS," he said. "This [TIM] is an event-driven architecture using SOA concepts."