Jorg Kienzle and Rachid Guerraoui report on an attempt to build a transaction- processing system with AspectJ, where the key requirement is that transactions be executed completely or not at all (so that the system cannot debit one account without crediting another). They found it difficult to cleanly isolate this property as an aspect.
Aspect Oriented Programming is offered as a successor to Object Oriented Programming. The quote above illustrates that we have not found all the principles for when and how to apply AOP.
AOP is not addressing the right problem:
- The source notations, e.g. Java, even with some "aspects" of a program separated into distinct units, are still overly complex for most problems.
- The "computational units" like SOAP calls and SQL transactions, no matter what notation, are also overly complex and inappropriate for most problems.
Hypercard simplified the computational model for GUI applications with simple single-user databases.
Ward Cunningham's WikiWikiWeb simplified the computational model for Web applications with simple multi-user text databases.
What is the Hypercard or the WikiWiki equivalent for Web Services?
I have some ideas but I wonder what you think. Edit your thoughts into the page at WikiWikiWebServices.