March 23, 2004 9:00 PM PST
IBM touts new 'aspect' for software coding
Daniel Sabbah, IBM's vice president of software group strategy and development, on Wednesday plans to detail the company's use of the technique, called aspect orientation, at the Aspect-Oriented Software Development conference in Lancaster, England. Sabbah also will declare that the technology is reliable enough for commercial use, according to IBM.
In addition, Big Blue executives are expected to demonstrate the results from some of the company's research in aspect-oriented software development, much of which is now being developed through projects at open-source foundation Eclipse.
Aspect-oriented software development is meant to help programmers easily make changes to complex projects with a more modular approach to development. Aspect-oriented tools more clearly separate different functions, allowing developers to make changes that affect one function and then are reflected in other parts of an application.
For example, a Web developer could build an application to fetch data from a packaged application database when a request comes from a corporate portal. As part of that function and others, software engineers could write additional code to log events for auditing purposes. With an aspect-oriented tool, one developer could enhance the logging function, or "aspect," in a single place without having to modify the code that does the database lookup. These changes could be reflected in other places in an application's code where logging was required.
IBM has been using aspect-oriented software development on internal projects for about two years. The technique, which IBM has been researching for more than 10 years, has yielded significant benefits in the quality of the code and the speed with which programmers can write, said Robert Berry, an engineer in IBM's software group.
The company's positive experience using the technique in internal projects has compelled it to use aspect orientation with other products, IBM said. The company plans to make changes to its most popular Java programming tool, called WebSphere Application Developer, to work with aspect-oriented extensions to the Java programming language. The Palo Alto Research Center, a subsidiary of Xerox, initially developed the Java extensions through a project called AspectJ, which has been submitted to Eclipse. IBM is now the technical lead on the project.
Get Up to Speed on...
Get the latest headlines and
company-specific news in our
expanded GUTS section.
The public commitment to aspect-oriented programming is meant to indicate that IBM believes the technology is ready for use in business development, rather than academic scenarios. Only a few commercial software companies, such as Intentional Software and JBoss Group, use aspect-oriented technologies.
"We believe these concepts are viable; they can deliver real value and help us transform ourselves to be more flexible and improve quality," Berry said.
Before aspect orientation can become mainstream, programmers need to be trained in the techniques and development tools, according to analysts. IBM, for one, will be working on "wizards" that can walk people through the process of creating aspects.
"The tooling support is absolutely essential for this to take off," Berry said.
Berry said he expected that in the next two or three years, development tools will commonly have aspects integrated within them. Further along, IBM is looking at melding its work on model-driven software development with aspect orientation, he said.
Also at the conference, IBM will discuss another research project, called Concern Manipulation Environment. The project, which uses work developed in IBM research, is designed to provide a path to aspect-oriented programming with tools that work with existing software written in different languages.
Sabbah also is expected to discuss a project called AspectX, which looks at how aspect-oriented techniques can be used in conjunction with Web services-based business process workflows. Aspect orientation could potentially allow companies to more easily automate and monitor business processes, Berry said.