Key among the bellwether applications that originally drove message oriented middleware was banking. Various applications...
on diverse platforms needed to be reliably connected—the banks deal with peoples' money after all. An asynchronous method that was not disrupted by connectivity outages gradually took hold.
In recent years, a broader swath of applications has proved to be appropriate for message-oriented architecture. Last year, SearchSOA.com featured message queuing apps that did everything from sort information about fish at a commercial exchange dock to a U.S Coast Guard application that tracks ships at sea.
Yet another use of messaging is part of an effort to connect systems at the famed CERN particle accelerator lab in Europe. There, in 2007, researchers realized that the organization's home-grown monitoring systems were not strung together effectively enough. If one of CERN's 300 compute sites around the world lost its connection to the network while making calculations, entire data sets would be lost.
To get its distributed infrastructure working more tightly, CERN took a SOA approach. The tool they picked was Fuse ActiveMQ Message Broker, a commercial version of an Apache open source message system offered by Progress Software.
"We had a lot of custom services and protocols being used," said James Casey, a technical architect at CERN. "And part of the consolidation was to look at messaging as the solution for this integration scenario that we have."
Before the year and a half implementation, CERN used central Web services connected to databases that gathered results from monitoring activities, Casey said. When a site would go down under this system, all results would be lost for that period. Now the organization has a number of messaging brokers in place that store the results internally. If a connection is interrupted, the results are forwarded once the communication is restored.
For physicists and physics buffs, this is one of the great all-time applications. The European Organization for Nuclear Research (CERN) collects upwards of 1GB of data per second at its Large Hadron Collider (LHC) in Switzerland and France.
The LHC is the largest particle accelerator in the world, with a circumference of 27km. Physicists there are hard at work smashing particles in an effort to prove the existence or non-existence of the Higgs Boson. The Higgs Boson is a hypothetical particle believed by physicists to generate mass, and thus account for the presence of visible matter in the universe. Because of its theorized importance and as-yet elusiveness, the Higgs Boson is sometimes called the "God particle." It is the only particle in the Standard Model of particle physics that has not been viewed experimentally.
Messaging, monitoring and management
Casey's CERN team picked Fuse after looking at a number of other JMS messaging products. They wanted something open-source so that partners would not get tied into licensing costs. It was also necessary that the messaging broker supported a variety of languages like Perl, Java, Python and C++.
Casey said they had looked at AMQP-based products like Apache Qpid and RabbitMQ. But none of them were ready for enterprise deployment, he said.
"While there were other products that would give good interfaces to things like Python, none of them had the enterprise capabilities ActiveMQ had in terms of clustering, failover, federation and a network of brokers."
Now the hard-coded connectivity between components has been reduced. A major benefit to using messaging is having the flexibility to not care about where the data is going. Casey said you just send it off and the consumer just picks it up. This allows the team to scale things up and down without having to change components.
The one criticism Casey had with Fuse regarded security. He said that, as is common with open source products, the system monitoring and management could be stronger. But all in all, Casey said the physicists have been very happy with how the machines are performing.
It appears that a variety of messaging middleware approaches will continue to serve a variety of purposes. In a separate messaging project at CERN, the commercial SonicMQ system, also from Progress Software, was chosen to form the communications backbone of a CERN Technical Infrastructure Monitoring (TIM) system, designed to alert researchers in the event of an emergency.
Dig Deeper on Migrating from ESBs to microservices