IBM is working to be among the first major software vendors to put aspect-oriented programming to use in commercial systems and tools.
AOP is a programming technique that lets “aspects” or “concerns” that cut across a system be programmed in modular units. Developers familiar with AOP say it is a next-generation programming method that increases programmer productivity and software reliability and quality more than current methods of development, such as OOP (object-oriented programming).
IBM, of Armonk, N.Y., could begin using aspect- oriented software development technologies in products in 12 to 15 months, sources said. IBM has been working on the technology for about two years, but its researchers have been looking at it for nearly 12—since it was developed at Xerox Corp.s Palo Alto Research Center, IBM researchers said.
Other companies are pursuing AOP-based offerings. Sun Microsystems Inc. has projects, led by Java creator James Gosling, that feature the technology. BEA Systems Inc., through a relationship with Codehaus.org, is working on an AOP project called AspectWerkz, which is gaining traction with early developers, said Gregor Kiczales, a professor of computer science at the University of British Columbia and one of the co-creators of AOP.
OOP is best for organizing functionality into hierarchical structures, such as classes. “In contrast with OOP, AOP is used to implement cross-cutting concerns, such as multiobject interactions, distribution and synchronization policies, and design patterns,” Kiczales said. A concern is “anything a stakeholder wants to consider as a single conceptual entity,” he said, such as a check-balance feature, a Web interface, a specific data structure, a time limit or a quality requirement.
WebSphere will feature AOSD
At the Aspect-Oriented Software Development conference last month in Lancaster, England, Daniel Sabbah, IBM vice president of Software Group strategy and development, delivered a speech that “announced that we find aspect-oriented technology is ready for the commercial mainstream,” said Mark Wegman, manager of object/enterprise technology for IBM Research at the companys T.J. Watson Research Center, in Hawthorne, N.Y. Sabbah said all IBM middleware developers will be able to create, integrate and deploy AOP-based solutions.
IBM products will be able to leverage AOSD in WebSphere Application Server, WebSphere Portal Server, Lotus Workplace, WebSphere Business Integration and WebSphere Messaging. With IBMs support of AspectJ, a Java-based aspect-oriented development environment created at Xerox PARC and turned over to the Eclipse Foundation, developers will be able to create AspectJ aspects that add value to Java 2 Platform, Enterprise Edition artifacts created by IBM Rational tools, Sabbah said.
“I think AOP is one of the more significant developments in programming language technology,” said Brian Barry, Bedarra Research Labs Ltd.s chief executive, in Ottawa. “It builds on … research in computational reflection and software components. It offers the potential for significant improvements in reuse and productivity, which would [allow] cost savings, faster times to market, better maintainability, cleaner architectures.”