O EntityManagerFactory será criado via injeção de dependência, pelo container. Simplesmente o container lerá o arquivo META-INF/persistence.xml e criará o objeto de acordo com os dados que foram especificados lá. Depois armazenará o objeto no atributo ‘emf’:
Você não precisa se preocupar com o EntityManagerFactory, a não ser que seu container não suporte o JEE 5.0. Na edição 39 da JM tem um artigo meu sobre o JPA, vale a pena dar uma olhada