Marc Fleury, CEO of JBoss, recently blogged about Aspect-Orientation as a process emulated by nature. Aspect-Oriented Programming (AOP) was invented in the mid-1990s at Xerox PARC, the same place where Object-Oriented Programming (OOP) was invented, and deals with how to include modularity in systems development. In Marc's blog, he talked about the smoking gun of AO in nature as evidenced by bacterium exchanging DNA and the “cross-cutting concerns” of nature such as photosynthesis. This is a bit far fetched, but I love the fact that he is trying to educate the market on AOP.
Last year, I wrote a piece on Aspect-Oriented Content Management. In it, I argued that content management was a perfect example of the need for “cross cutting concerns” or aspects. The need (or not) for versioning, locking, metadata, transformation, etc. are examples of the modularity that could be provided by ECM if it supported AO. Alfresco has implemented all of these as Aspects that are attached at runtime using AOP. The benefits for content applications, aside from surviving in the ecosystem, are performance, flexibility and the ability to adapt to new business requirements. On second thought, that sounds pretty Darwinian to me!
In the past I have tried to use more consumer-oriented paradigms to describe Aspect-Orientation, such as adding after-market parts in a car, building out a modular stereo system or adding components to PCs. I'll have a think about the evolutionary angle a bit more.