While we don't specifically talk about migrating from App Server X to App Server Y, we do take great pains to make our application as server-neutral as possible. We sidebar areas that are JBoss specific in each chapter.
The good news is the code tends to be container-neutral. It is the deployment descriptors that tend to be container-specific. You can mitigate much of this through the use of XDoclet.