Software must be adapted to accommodate new features in the context of changing requirements. In this paper, we illustrate how applications with aspect weaving capabilities can be easily and dynamically adapted with unforseen features. Aspects were used at three levels: in the context of semantic analysers, within a BPEL engine that orchestrates Web Services, and finally within BPEL processes themselves. Each level uses its own tailored domain-specific aspect language that is easier to manipulate than a generalpurpose one (close to the programming language) and the pointcuts are independent from the implementation. Categories and Subject Descriptors D.1 [Programming Techniques]: General; D.2.10 [Design]: Methodologies General Terms Design, Languages Keywords Software adaptability, Aspect-Oriented Programming (AOP), weaver, domain-specific aspect language, Business Process Execution Language (BPEL)