Я не могу помочь вам со спецификой GWT, но что касается стороны S3, вам следует:
- загрузить комплект разработчика Java с сайта Amazon S3,
- напишите Java-код для хранения там файлов из вашего серверного приложения (убедитесь, что вы можете протестировать этот код отдельно)
- Сделайте так, чтобы ваш клиентский GWT-код загружал файлы на ваш сервер и обеспечивал прогресс для загрузки
- Сделайте так, чтобы ваш сервер вызывал ваш интерфейс S3 с загруженным файлом (прогресс здесь может быть невозможен, если вы не вызовите AMAZON, поставленный как вызов REST, где вы можете посчитать байты, которые вы отправляете)
- предоставьте подтверждение успешногосохранить обратно к вашему пользователю (или ошибка)
Надеюсь, что поможет.