Mi Springet használunk ilyen célra, transaction aspectet gyakorlatilag bármire rá lehet húzni és így teljesen úgy viselkedhet, mint egy alkalmazás server, akár deklaratív módon is.
A Spring 100%-ban supportálja a JPA-t, és Glassfishben megszokott módon be is injektálja az EntityManager-t a @PersistenceContext annotációval.