It's explained in the documentation here.
You also have this article with a nice step by step explanation.