IBM’s Information Management System (IMS) celebrated its 40th birthday last year. You might be forgiven for thinking that a piece of software that’s been around for that long must be coming to the end of its useful life. You might think that perhaps only a few older sites that haven’t updated their software and hardware for years are using it, and that most people would want something newer with more up-to-date facilities and features. This view couldn’t be further from the truth.
According to sources at IBM—the people who know how their software is being used—90 percent of Fortune 1000 companies currently use IMS. The same sources say more than $3 trillion of transactions go through IMS daily. So IMS is alive and well and an important part of the business for many organizations.
But just because IMS is currently a valued resource doesn’t mean it will remain so. It’s important that any piece of software adapts and changes to meet a company’s emerging business needs. This article considers the ways IMS can be used to satisfy the latest IT needs a company may have; it offers insights from actual IMS users.
IMS is composed of a database management component and a transaction management component. Although IMS first appeared in August 1968, it was developed from a 1966 bill of materials program originally written to ensure Saturn V rockets and the Apollo space program had all the necessary components to be successful. Some cynics suggest IBM really developed IMS to sell more disk space. Perhaps both explanations are true!
IMS is a hierarchical database system, as opposed to relational database systems such as DB2, Oracle, and SQL Server. The hierarchical structure can make the database more rigid than a relational database, but IMS has been used successfully for decades at large financial institutions and other large organizations because it lets users retrieve stored data exceptionally quickly.
IMS users who are members of the Virtual IMS Connection user group (www.virtualims.com) were asked to describe the importance of IMS to their organization. Here’s what they said:
• “It is critical, the central repository.”
• “The benefit of existing IMS applications exceeds the cost to replace.”
• “IMS provides high throughput and caters to growth at minimal cost to the business.”
• “The core engine of our major application is written in IMS DC/DB. The application supports business of around $90 billion. There are a number of satellite systems, mainly written in VB, and a DB2 database for various external functions. IMS continues to be critical since the entire day-to-day operation of the business is supported by IMS.”
• “Almost 50 percent of data is still in IMS and is likely to continue that way.”
Clearly, IMS is vital to these organizations. (Virtual IMS Connection is an independently operated, vendor-neutral Website run by and for the IMS user community. To join, go to www.virtualims.com and use the “sign up” box at the bottom of the home page.)
Over the years, IMS has benefited from many changes. In 2008, Version 10 was announced. To make life easier for sites migrating, there have been no major changes to the installation process since Version 8.1. With Version 10, IMS Connect, which runs in a separate z/OS address space from IMS and provides a TCP/IP gateway for IMS, is now packaged as part of the IMS product. IMS Connect helps IMS support Service-Oriented Architecture (SOA) objectives because it provides information as a service to application programs running in distributed TCP/IP environments. More information appears at www-01.ibm.com/software/data/ims/connect/.
IBM recently announced the IMS Version 11 beta program. Users can start to exploit IMS’ new facilities and features and help IBM iron out any wrinkles before the product becomes generally available in the fourth quarter of 2009. Both the database management and transaction management parts of IMS have been updated in V11. Enhancements to the database manager in V11 include:
• IMS Open Database support offers direct distributed TCP/IP access to IMS data, providing cost efficiency, enabling application growth, and improving resilience.
• Broadened Java and XML tooling eases development and access of IMS data.
• IMS fast path buffer manager, application control block library, and local system queue area storage reduction use 64-bit storage to improve availability and overall system performance.
• Enhanced commands and user exits simplify operations and improve availability.
Enhancements to the transaction manager include:
• IMS Connect enhancements offer improved flexibility, availability, resilience, and security.
• Broadened Java and XML tooling eases IMS application development and connectivity, and enhances IMS Web services to assist developers with business transformation.
• Enhanced commands and user exits simplify operations and improve availability.
• IMS application control block library and local system queue area reduction use 64-bit storage to improve availability and performance.
We asked Virtual IMS Connection user group members what “modernization” they were undertaking on IMS. The responses included:
• “Web enabling, V10, partitioning.”
• “Move to current versions and service levels. I have many IMS V6 to V10 upgrades scheduled for this calendar year.”
• “IMS upgrades are being done regularly. New tools are being acquired. Java applications are ported onto IMS.”
Another way of moving forward with IMS is the use of autonomics. Autonomic systems are self-regulating. With IMS, when something looks like it might be an issue, the software automatically takes steps to resolve the problem. This capability is helpful for sustaining important software when there aren’t enough people on the payroll who really understand how it works.
BMC’s Nick Griffin gave a presentation on this topic to the Virtual IMS Connection user group last year. He informed IMS users that, in a self-managing system, the human operator takes on a new role. He doesn’t directly control the system; instead, he defines general policies and rules that serve as an input for the self-management process. This process is defined by four functional areas:
• Transactions are high-performing services
• Self-configuration
• Self-healing
• Self-optimization.
The software becomes self-contained in these ways:
• Self-configuring: Automatic configuration of components. For example, the software can discover the environment around it and adapt to changes.
• Self-healing: Automatic discovery and correction of faults. It’s able to recover from mistakes, make adjustments to settings if expected results aren’t achieved, and seek alternative routes to accomplish goals.
• Self-optimizing: Automatic monitoring and control of resources ensures optimal functioning with respect to defined requirements. The software can improve performance by making adjustments to the environment (i.e., being reactive) and it could make adjustments to itself (i.e., being adaptive).
• Self-protecting: Proactive identification and protection from arbitrary attacks such as the ability to anticipate and cure intrusions.
Automation of an IMS system provides several advantages:
• Reduces errors and the time and human effort required to implement and maintain efficient database systems
• Gives expert DBAs more time to concentrate on aligning databases with the business, new technology, planning, and strategy
• Provides a means to train novice DBAs who can learn about what’s been automated.
User group members were asked whether their IMS applications participated in their Web services and SOA initiatives. Most said either yes or that their IMS systems are moving toward participation. One respondent said, “Yes, via our own proprietary middleware.” Another said, “Not currently, but planning is under way. There are complicated batch functionalities in IMS.”
GT Software’s Dusty Rivers confirmed to a Virtual IMS Connection user group meeting last year that IMS was built for SOA. He reasoned that:
• IMS transactions are high-performing services.
• There’s guaranteed delivery of transactions.
• IMS is dependable (and has been for decades).
• IMS developers have been building services since the beginning.
• Typically IMS runs as stateless—a perfect match for SOA.
In terms of IMS integration options, organizations must choose between screen scraping, gateways, adapters, Web services wrappers, or writing new code.
IMS SOA design can be bottom-up, in which case existing mainframe artifacts are exposed as Web services and there’s one-for-one mapping of a Web service to a transaction. Alternatively, SOA design can be top-down, in which case, users start with a defined business service or Web Service Definition Language (WSDL) and may require multiple artifacts to create a complete service. For many sites, there’s also a third way: a combination of the other two.
Whichever methodology is used, it’s important that mainframe staff stay involved in the development process; those staff members know the data and can help with service definition and implementation. It’s likely that multistep processing will be involved, and, where multiple operations are likely to happen, related functions should be logically grouped. The benefits of such an approach include:
• The ability to create valuable, easily understandable services
• The optimization of mainframe performance in terms of the amount of XML to be processed, the amount of data to be transferred, and a reduction in the transaction overhead
• The participation of platform owners.
It’s also important to remember with SOA that a mainframe could be a Web service consumer and a Web service provider.
IMS is rarely the only major subsystem an organization uses, so it can be used as part of an SOA or combined with other mainframe subsystems such as CICS or Message Queuing (MQ) to produce hybrid systems.
Our look at sites using IMS found one site that said, “Management plans to retire IMS in less than three years.” Most of the others said IMS would at least be maintained, if not integrated, with new applications.
One user group member said: “Maintained but integrated with a new Web application. The core application is written in IMS DC/DB. Over the years, a DB2-based management information system was developed to enable flexible reporting (reporting programs written in IMS DB couldn’t cope with ever-changing business requirements in reporting). The next big challenge was to open up the system for end users. A Web application is being developed, in J2EE, which will be a wrapper around the IMS application. Core batch functionality will be retained in IMS but the plan is to migrate all the online functionality to a Web front-end over the next couple of years. Communication between the front-end and the mainframe is through MQ and other message reformatting software.”
Some IMS users might like to consider Web-Oriented Architecture (WOA), which provides a way of building large-scale Web services. Gartner suggests that it’s like SOA plus the Web plus REpresentational State Transfer (REST). The Web encompasses HyperText Transfer Protocol Secure (HTTPS), eXtensible Hypertext Markup Language (XHTML), Really Simple Syndication (RSS), Atom Publishing Protocol, Resource Description Framework (RDF), and more.
With REST, there are no objects or methods; everything is a resource. In a RESTful system, an agent communicates with a resource using its location, a verb describing the operation, and a representation of the desired state.
SOA usually comes associated with Simple Object Access Protocol (SOAP) and WSDL. The problem that many people experience is that the WSDL specification can be domain-specific and difficult to understand, extend, or adapt. In addition, SOAP messages can be complex and difficult to understand without some knowledge of the services involved.
An advantage of WOA is that it uses existing technologies. A WOA interface can be used from any Web-enabled programming language. WOA can be easily extended. Organizations that may be finding SOA a difficult route may find WOA (considered a subset of SOA) an easier way to get SOA projects to a satisfactory conclusion.
There’s no reason why IMS can’t be integrated with Web 2.0—as the user group heard from IBM’s Jenny Hung. Web 2.0 is beneficial because it:
• Is more responsive to customers, embracing knowledge from subject experts they may or may not know
• Harnesses the knowledge of the wise, before they retire
• Helps employees be more productive and more knowledgeable, faster.
Web 2.0 isn’t just cool. It offers business benefits such as improved growth through innovation, faster task execution, improved efficiency, and increased empowerment of key resources.
From a technology perspective, Web 2.0 predominantly uses Asynchronous JavaScript and XML (AJAX), mashups— a Top-10 Strategic Technology for 2008, according to Gartner—and feeds.
A Web 2.0 interface could be wrapped around enterprise content and Web-based content. With this approach, it becomes possible to rapidly assemble mash-ups, simply create widgets and feeds, reuse information and services, unlock enterprise and Web content, and increase effectiveness with a rich interface. A mash-up is a lightweight Web application created by combining information or capabilities from more than one existing source to deliver new functions and insights. A widget is a small program or piece of dynamic content that can be easily placed into a Website. Widgets are given different names by different vendors; they can be written in any language and can be as simple as an HTML fragment. Widgets can be non-visual, and often encapsulate an Application Program Interface (API). “Mashable” widgets pass events so they can be wired together to create something new.
Typically, widgets and feeds (often from independent sources) are mashed together, but don’t change when mashed. In this way, new applications can be created that deliver new insights and capabilities. They’re built on Web-oriented architectures and leverage lightweight simple integration techniques such as AJAX, RSS, and JavaScript Object Notation (JSON). The result is the fast creation of rich desktop-like Web applications. For more information on prerequisites and restrictions when mashing with IMS, visit www.virtualims.com/ doc/VICnewsletter07.pdf.
Users could extend their IMS investment by converting an IMS asset into an IMS RESTful service, which has the ability to consume and be consumed by other Web 2.0 services. IMS users could then remix and rapidly mash up their data with IBM Info 2.0 tools to extend their business logic without writing a single line of code.
Alternatively, by publishing an IMS RESTful Service to the Web 2.0 community, third parties could generate creative mash-ups that could benefit both third-party developers and the original IMS service provider. The third-party developer would now have IMS assets; the IMS service provider could benefit from new business opportunities and increased partnership on the Web.
IMS has an exciting future because it can support all the latest IT ideas to generate business benefits for users. As one user group member put it: “Tell the kids to get IMS and mainframe training in college and get out here and take over!” Let’s hope they do.