Can AOP Support Extensibility in Client-Server Architectures?

Extensible client-server software requires a clear separation of core services from those that are customizable. This separation is difficult, as these customizable features tend to crosscut the primary functionality of the core services. We believe that an aspect-oriented approach to client-server architectures supports extensibility in a way that is more flexible than traditional approaches. Our experiment focuses on clients within a distributed file system that dynamically negotiate with servers for adaptive delayed-write and prefetching behaviour.