The mainframe is dead -- long live the mainframe!
When most people think of Web services, they think of forward-looking technologies and the future. The mainframe is most likely the last piece of hardware they think about.
But the truth is a great deal of Web services development targets mainframes, and it will be that way for the foreseeable future.
In a two-part column, we're going to look at Web services development and mainframes. In the first part, we'll see why the mainframe is so important for Web services developers.
Back to the future
Thought the mainframe died away years ago? You're wrong. For better or worse, the mainframe is still at the center of many enterprises, and that's not changing any time soon.
Why are corporations still relying on mainframes?
"'If it ain't broke, don't fix it' is the primary reason," says Ron Schmelzer, senior analyst with ZapThink. "They still serve their primary purpose, to handle the most critical of critical data."
Mainframes, he says, are used to store bank account information, telephone information, airline flight information, hospital patient information, government data; where there are vast amounts of data that need to be stored and churned through, especially in a large company, he says, you'll often find a mainframe.
In fact, Schmelzer says, corporations are so dependent on mainframes that "If you go into a customer support help desk and shout that the mainframe is down, that's like screaming 'Fire!' in a crowded theater."
The actual amount of code running on mainframes is almost mind-boggling. Mike Oara, Chief Technology Officer of Relativity Technologies, estimates there are 200 billion lines of mainframe code actively running. And not only that, he adds, "There is more code being written than is being retired."
That code, he adds, is not "green field" code -- in other words, not new application development -- but is primarily maintenance and enhancements.
Charles Dickerson, head of product management for Relativity Technologies, adds that "mainframe applications are still around because they are absolutely core to an enterprise's infrastructure."
If more evidence was needed that the mainframe is here to stay, one needs only to take a look at a recent IBM announcement. On July 26, IBM announced a new line of mainframes with twice the power of previous versions, and that includes new features, such as encryption, and a "virtualization engine" that can harness the power of thousands of servers. IBM spent three years developing the mainframe, had 5,000 engineers devoted to the project and spent $1.2 billion in development money.
Where Web services comes in
So what does all this have to do with Web services? The issue is that although mainframes have plenty of power and rock-solid stability, they can't run the newest operating systems or handle the newest technology. Mainframes also don't play well with others -- it's not easy to get them to talk to other applications. And because new application development is taking place on platforms other than the mainframe, this causes serious problems for enterprises.
The answer may seem straightforward -- rewrite the code for more modern machinery, and finally be done with the aging behemoths. But that's not at all practical, says Dickerson.
"Mainframe applications are very complex, and rewriting them is fraught with peril. And the idea that you can take a COBOL developer and just turn him into a Java developer…I'm sorry, but that's just not going to happen."
Not only are mainframe applications innately complex, but they have been built on countless times over the years until they're practically Rube Goldberg contraptions. And the problem is that they have been worked on by so many people over the years, with little documentation of what work has been done, that "usually an enterprise doesn't even know on a detailed level what the application is," Dickerson says. "Many people know small pieces of it, but no one knows the entire system and how it interrelates with other applications."
Additionally, the mainframe applications work, they don't go down and they hold data that is absolutely core to the enterprise. So no one wants to fiddle with them.
That's where Web services and service-oriented architecture (SOA) come in. What's important to an enterprise are the business processes, business logic and data locked up in the mainframe. Enterprises need some way to get those to talk to the rest of the enterprise, which is built on newer technology and applications. So Web services are used to meld the intelligence and data from the mainframe with other enterprise applications -- what's called legacy-enablement.
Web services are commonly used in concert with mainframes. In fact, Schmelzer says that up to 50% of projects he's seen involve mainframes.
But there are a series of problems associated with mainframes and Web services, and that's what we'll look at in my next column.