IBM Backing On-Demand Development

IBM adds development tools to its on-demand mission.

IBM is pursuing its on-demand mission not only through servers, services and middleware but now through development tools as well.

In its labs here at the Thomas J. Watson Research Center, IBM Research is building an overall development environment known as the On Demand Application Development Environment. The goal is to enable the company to not only respond to customer requests for tools more quickly but also to dramatically reduce the risk of bugs and errors being written into their software, according to Daniel Yellin, an IBM Distinguished Engineer and director of software technology services and software for IBM Research.

Core of IBMs on-demand tool project

  • Model-driven development
  • Synergistic development
  • Morphogenic systems
  • Next-generation programming
The environment consists of four parts: model-driven development, synergistic development, "morphogenic" systems and a next-generation programming model.

In terms of model-driven development, Yellin said IBM is intent on following both the Model Driven Architecture and UML (Unified Modeling Language) standards. The companys acquisition of Rational Software Corp., a leader in both areas, has helped hasten IBMs adoption of the standards.

Nevertheless, Yellin added that many aspects of development still need "to be more formalized," and implementing models and creating applications based on them are one way to go. In fact, for the insurance industry, IBM provides prebuilt UML models for developers.

Synergistic development is the process of making application development tools work together. In particular, IBM is working to ensure that all the tools that fall under the Eclipse open-source application development platform interoperate, Yellin said.

Morphogenic systems are based on a word Yellin coined that means systems amenable to integration. The ability to absorb new technology is often limited by the inability to integrate legacy systems with the new, he said. So in its morphogenic area, "part of our focusing is on refactoring," he said. Refactoring is the process of restructuring code in a disciplined way so that applications can be ported to different environments or integrated with other systems.

Wes Williams, a software architect at AIM Investments Inc., in Houston, said that although various methods are being considered to simplify coding, a model-driven approach pays off for him. "With model-driven tools, the model is the code and not just a blueprint," Williams said. "I create the visual model of the system at a structural level. To add collaborative behavior, I add operations to the objects that are responsible for carrying out their respective functionality."

IBM has also been working with third-party tools and building some of its own tools in this "legacy transformation" area to do things such as build data models automatically from code and break up legacy code into smaller pieces, Yellin said.

For example, the company is developing what it calls Sabor, a tool that automatically implements Java programming best practices and is essentially a quality assurance tool that helps eliminate the possibility for a lot of bugs to be introduced into code, Yellin said.

IBM has the tool in its labs and plans to deliver it in shipping products—most likely the WebSphere Studio tools—at some point, the company said.