The main idea of phase rules is to correctly locate a handler relative to the one inside a phase, maybe at the deployment time or at the runtime. Axis1 did not have the concept of phases or phase rules. What it had was a global configuration file where you go and define you handlers. But that had a number of limitations; in particular, you lose the dynamic nature of the handler chain. Therefore, one aspect of phase rules is to address the issues of dynamic execution chain building capability.
Characterizing a phase rule can be based on one or more of the following properties:
phaseFirst): The first handler of the phase