What Happens When You Mix Java with a 1960 IBM Mainframe
As an engineer for the U.S. Digital Service, Marianne Bellotti has encountered vintage mainframes that are still being used in production — sometimes even powering web apps. Last month she entertained a San Francisco audience with tales about some of them, in a talk called “7074 says Hello World,” at Joyent’s “Systems We Love” conference.
Created under the Obama administration, The U.S. Digital Service was designed as a start-up-styled consultancy to help government agencies modernize their IT operations, drawing engineering talent from Google, Facebook and other web-scale companies.
Or, as President Obama put it last March, it’s “a SWAT team — a world-class technology office.”
So it was fascinating to hear Bellotti tell stories about some of the older gear still running, and the sometimes unusual ways it was paired with more contemporary technology.
“The systems that I love are really the systems that other engineers hate,” Bellotti told the audience — “the messy, archaic, half chewing gum and duct tape systems that are sort of patched together.
“Fortunately, I work for the federal government, so there’s really no shortage of things like that for me to play with.”
Bellotti was there to share stories about what mainframes are doing out in the wild today. “I work with some really really old machines,” she told the audience. And one of her strangest examples was a mainframe that provided a JSON API.
Used internally, this department had upgraded to a machine that, unfortunately, couldn’t connect to their IMS database. To give you some idea of the age of this technology, IMS databases are hierarchical, not relational. “They are not the same schema in any way, shape, or form,” Bellotti explained. What the department wanted was a DB2 database, but “Rather than doing a really hard data conversion, they decided that they were going to build a driver that would talk to the IMS database and pretend that it was a DB2 database. They had a Java application that was pretending to be a terminal to talk to the mainframe to scrape data from it, and then deliver it as a JSON API.”
But that isn’t even the oldest mainframe she’s encountered in a government setting. “The oldest one I found so far is an IBM 7074, which is mainframe that was built in about the 1960s…It was considered a supercomputer for its time because it could do mathematic scientific calculations pretty well.” It used magnetic-core memory (instead of cathode ray tubes) according to Bellotti, and “One of the things that’s interesting about these machines is that they are still in operation in a lot of different places — not just the federal government. They’re also in operation in the financial sector and in airlines — specifically in the reservation system.”
This drew a laugh of recognition from the audience…
But one particular mainframe fascinated her — an IBM 7074 that was actually feeding into a real web application with a fully modern stack. “They were using things like Docker and Bootstrap. And they were using Oracle, but we’re not going to hold that against them.”
The middleware was a Java application that could talk to the terminal and scrape data from it. And the most amazing part was their performance testing numbers showed the data was being returned in between one and six milliseconds.
“I’m like ‘What?! That’s crazy! How did you get a 7074 to return within one to six milliseconds? That’s magic!'” Bellotti said.
That mainframe was more than half a century old — the 7074 was first released in 1960, during the Eisenhower administration. So she investigated, trying to find the source of this miracle. First, she talked to an old COBOL programmer — a friend of a friend — who described how those machines stored their data. “And so I did a whole bunch of research and pulling up a whole bunch of documentation, going through and trying to find the machine name or something… I finally found it, and it was this.”
She showed the audience a slide of magnetic tapes. “Spools and spools and spools and spools of magnetic tape — I was told, enough magnetic tape to actually wrap around the world five times over.”
“Now instead of accessing a 7074, we are now accessing magnetic tape within milliseconds!”
This impossibility required even more investigation…
Eventually, Bellotti discovered their secret weapon — which turned out to be another bank of mainframes. “They had some older mainframes that they needed to do particular functions with, and so they would do the data entry into those older mainframes, and those mainframes would write to the magnetic tape. And then about once a week, a different group of mainframes would run an automated job that would harvest that data from the magnetic tape and load them up into more traditional databases.” That Java application was extracting the data from the databases — and somewhere there was a ClearPath Dorado 780 in the mix, running an OS 2200.
Here’s where it gets interesting. “One of the reasons we were asked to come in on this project is they were having issues with the performance of their website. Their pages were loading between six to ten seconds, which is not super great, and we were having a really hard time talking to their engineers and troubleshooting with them, because they would constantly be saying, ‘Well, it’s just running so slow because we have to do a legacy infrastructure. We have all these old mainframes somewhere in our system’…”
But the data from the mainframes was actually arriving (from its new home in the database) in less than six milliseconds. The bottleneck was — of course — the Java application.
It was at this point that the seasoned data architects in the department began expressing their exasperation. “15 years ago, everybody was telling us ‘Get off the mainframe… Build these thick clients. Mainframes are out.’ And now thick clients are out, and everybody’s moving to APIs and microservices, which basically are very similar to the thin client that a terminal uses to interact with a mainframe.”
It brought home Bellotti’s essential lesson — that sometimes the best solutions may often lie in our past.
And as if fate wanted to underscore her point, Bellotti’s presentation began with a brief delay when her laptop refused to bring up her presentation’s slides.
“This is what I get for bringing a Mac instead of an IBM mainframe,” she joked.
- For Benjamin Franklin’s birthday, his first piece of printing reappears.
- New stand makes your Apple Watch look like a classic 1984 Mac.
- For the first time, scientists photograph the rare ruby sea dragon.
- TIOBE announces that for 2016, “the language of the year” was Go.
- Opera releases a wild new experimental browser named Neon.
- EU report suggests robots should be referred to as “electronic persons.”
- Stranger takes a great photo of a wedding proposal, then finds the lucky couple using Reddit.