RIA + Java

Pessoal gostaria da opinião de vocês referente qual a melhor maneira de desenvolvver aplicações RIA.

Andei dando uma pesquisada sobre o openLazlo, openAmf e o Flex, mas não saquei qual a diferença deles e em caso devo utiliza-los

Alguém já trabalhou com eles ou algum deles??