Um desenvolvedor precisa criar uma aplicação empresarial que utilize as especificações da plataforma Java EE. Considerando os itens abaixo:

1. Persistência de dados em um banco relacional.
2. Interface gráfica web rica e baseada em componentes.
3. Gerenciamento de transações distribuídas em múltiplos recursos.
4. Comunicação assíncrona entre sistemas.

Quais especificações devem ser utilizadas para atender aos requisitos descritos, respectivamente?