When it comes to a legacy application with a real legacy to protect—namely, billions of records' worth of important information of all kinds—IBM's Customer Information Control System, better known as CICS (usually pronounced "kicks" for those not already in the know) is something of a nonpareil as an important information repository and access tool. But the methods for bringing this information together with modern Web services and applications have been interesting to describe and sometimes tortuous to implement.
In fact, many first generation Web-to-mainframe applications depend on what is euphemistically described as "screen scraping." In this approach to data access, a Web-based application opens a virtual terminal window (usually some kind of TN3270 session) in a back-end, enters commands through that window to the mainframe and then grabs the resulting data in character form from the resulting terminal output (that's where the aforementioned screen activity comes into play). That's because CICS applications have traditionally been built only for access through such mechanisms and weren't architected to separate operation of the business logic from the presentation of results, either logically or physically.