Программа на языке Java в форме байт-кода, которая может выполняться веб-браузером с использованием виртуальной Java-машины - korshu.ru o_O
Главная
Поиск по ключевым словам:
Похожие работы
Название работы Кол-во страниц Размер
Действия перед установкой Установка Windows xp mode Установка виртуальной... 1 182.18kb.
Руководство по установке и настройке программного обеспечения java... 1 69.59kb.
Курсовая работа по дисциплине «web- технологии» 1 168.14kb.
Мобильных телефонов 27 5769.51kb.
Интернет и его использование в школе 1 130.89kb.
• создавать текст на русском языке с использованием слепого десятипальцевого... 1 8.43kb.
Практическая работа «Создание Web-страниц» 1 41.16kb.
Нанесение штрих кода на книги у book industry communication, Лондон... 1 205.12kb.
«Относительная влажность воздуха» 1 90.22kb.
Урок 17. Алгоритмы работы с величинами. Программирование Цели: изучить... 1 112.68kb.
Технологии использования готовых сайтов. Размещение на веб сервере 1 34.65kb.
Настройки вашего компьютера для работы в оболочке дистанционного... 1 42.87kb.
Инструкция по работе с сервисом «sms-платеж» 1 218.94kb.

Программа на языке Java в форме байт-кода, которая может выполняться веб-браузером - страница №1/4

Содержание:


Введение

Одной из самых распространенных служб сети Интернет является World Wide Web (WWW, Web, Всемирная паутина) — самая мощная информационная система, связывающая между собой миллионы веб-страниц, размещенных на серверах по всему миру. Такая популярность сети Интернет послужила сильным толчком в развитии веб-технологий.

Веб-приложение – приложение, основанное на клиент-серверной архитектуре, в котором в роли клиента выступает веб-браузер, а в роли сервера — веб-сервер. Одним из достоинств такого рода приложений является мобильность клиента, что позволяет пользователю получить работоспособное приложение независимо от установленной операционной системы, а разработчику – возможность внесения изменений в приложение только на сервере без установки дополнительного программного обеспечения у клиентов. На ранних этапах развития веб-технологий одним из основных недостатков веб-приложения считалось то, что на сервере были сосредоточены и бизнес-логика приложения, и функциональность графического интерфейса. Это приводило к передаче большого объема данных от сервера к клиенту и тому, что вся вычислительная нагрузка приходилась на сервер, а вычислительная мощность компьютера-клиента была почти не задействована. Устранение именно этого недостатка являлось одной из приоритетных задач в развитии веб-технологий.

Так в 1995 году были успешно разработаны три новые веб-технологии:



  • специалисты компании Netscape создали механизм управления страницами на клиентской стороне, разработав язык программирования JavaScript.

  • компанией Macromedia был выпущен продукт под названием Flash, с помощью которого можно было создавать интерактивные веб-приложения.

  • компанией Sun Microsystems был выпущен Java Applet - прикладная программа на языке Java в форме байт-кода, которая может выполняться веб-браузером с использованием виртуальной Java-машины.

При использовании этих веб-технологий функциональность графического интерфейса приложения частично (для Flash – полностью) реализуется на стороне компьютера-клиента, что позволяет снизить объем передаваемых данных и существенно уменьшить нагрузку на веб-сервер. Но если веб-браузеры постепенно начали поддерживать язык JavaScript, то для использования технологий Flash и Java Applet пользователям необходимо устанавливать дополнительное программное обеспечение. Ещё одним недостатком Flash и Java Applet технологий является то, что с их помощью нельзя разработать удачное с точки зрения удобства использования веб-приложение, отображающее большой объём текстовой информации; да и процесс разработки веб-приложений на Flash весьма ресурсоемкий и дорогостоящий. Поэтому веб-приложения, разработанные с помощью данных технологий, встречаются гораздо реже, чем веб-приложения, разработанные с использованием языка JavaScript. JavaScript в данный момент полностью занимает нишу веб-браузерных языков.

18 февраля 2005 Джесси Джеймс Гарретт (Jesse James Garrett) в своей статье «Новый подход к веб-приложениям» предложил использовать новый подход к разработке графического интерфейса веб-приложения. Данный подход позволял существенно уменьшить объём передаваемых данных от сервера к клиенту, что сделало веб-приложение более быстрым и удобным. Джесси Джеймс Гарретт назвал данный подход AJAX (от англ. Asynchronous Javascript and XML — «асинхронный JavaScript и XML»).

В настоящее время существует несколько Java-инструментов разработки AJAX приложений: Icefaces, RichFaces и Google Web Toolkit. Все три инструмента предоставляют разработчику легкий путь к созданию и развертыванию современных веб-приложений.


Постановка задачи

Перед автором данной работы была поставлена цель: разработать графический интерфейс веб-приложения с использованием компонентов Google Web Toolkit. В качестве веб-приложения было предложено использовать портал таможенного декларанта.

Для достижения этой цели перед автором были поставлены следующие задачи:


  1. Провести исследование возможностей инструмента разработки AJAX веб-приложений Google Web Toolkit.

  2. На основе существующих сценариев работы пользователя с веб-интерфейсом осуществить выбор необходимых для веб-приложения графических компонентов.

  3. Разработать графический интерфейс веб-портала таможенного декларанта.

1. AJAX современный подход к разработке веб-приложений

1.1. Определение понятия «веб-приложение»

Термин «веб-приложение» неразрывно связан с таким понятием, как «клиент-серверная архитектура». Клиент-серверная архитектура — сетевая архитектура, в которой устройства являются либо клиентами, либо серверами [6].



Клиент — это аппаратный или программный компонент вычислительной системы, посылающий запросы серверу, используя определённый протокол. Клиент может запрашивать с сервера какие-либо данные, манипулировать данными непосредственно на сервере, запускать на сервере новые процессы и т. п. [1]

Различают два типа клиентов: «тонкий» и «толстый». «Тонкий» клиент переносит все задачи по обработке информации на сервер, а «толстый», напротив, производит обработку информации независимо от сервера, используя последний в основном лишь для хранения данных.



Сервер (англ. server, от англ. to serve — служить) — аппаратный или программный компонент вычислительной системы, выполняющий сервисные функции по запросу клиента, предоставляя ему доступ к определённым ресурсам [1].

Рассмотрев понятие «клиент-серверная архитектура», можно перейти к определению понятия «веб-приложение».



Веб-приложение — приложение, основанное на клиент-серверной архитектуре, в котором клиентом выступает браузер, а сервером — веб-сервер [2]. При этом веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере.

Веб-приложения являются основой для построения динамических веб-сайтов и веб-порталов. Веб-сайт (англ. website, от web — паутина и site — «место») — это одна или совокупность веб-страниц, доступных в Интернет через протоколы HTTP/HTTPS [6]. Страницы сайта объединены общим корневым адресом, а также обычно темой, логической структурой, оформлением и/или авторством. Если веб-страницами сайта является неизменяемый набор html-файлов, то такой сайт называется статическим и, как правило, представляет малый интерес для профессиональных разработчиков. Если веб-страницы сайта генерируются веб-приложением, то такой сайт называется динамическим. Разновидностью динамических веб-сайтов являются веб-порталы. Веб-портал (от англ. portal «главный вход; ворота») — веб-сайт, предоставляющий пользователю различные интерактивные сервисы (например, почта, поиск, информация о погоде), работающие в рамках одного веб-сайта. Различают горизонтальные и вертикальные порталы. Горизонтальным называется портал, не зависящий от корпоративной информационной системы предприятия. Вертикальным порталом называется веб-сайт, интегрированный в корпоративную информационную систему (КИС) компании. Интеграция может быть осуществлена на уровне входа на портал или на более низких уровнях, как например, интеграция интернет-магазина с системой бухгалтерии компании [6]. Таким образом, построение динамических веб-сайтов и веб-порталов – это, прежде всего, создание веб-приложения.



Веб-сервер — программа, запускаемая на подключённом к сети компьютере и использующая протоколы HTTP/HTTPS для передачи данных. В простейшем виде такая программа получает по сети HTTP-запрос на определённый ресурс, находит соответствующий файл на локальном жёстком диске и отправляет его по сети запросившему компьютеру. Более сложные веб-серверы способны динамически распределять ресурсы в ответ на HTTP-запрос. HTTP (от англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — сетевой протокол прикладного уровня передачи данных, в первую очередь, в виде текстовых сообщений. HTTPS — расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивается защита этих данных.

Браузер (из англ. Web browser) — это программное обеспечение, позволяющее просматривать веб-страницы, т.е. гипертекстовые ресурсы Всемирной паутины, обычно написанные на языке HTML [6]. Браузер обычно входит в состав операционной системы. Этот факт позволяет утверждать, что веб-приложения являются межплатформенными. Браузер относится к категории «тонких» клиентов.

Программное обеспечение в современном мире становится все сложнее и приобретает все больше функций, то коммерческие компании и государственные организации стремятся автоматизировать процессы разработки и поддержки программных приложений. При этом, однако, разработка таких приложений, их внедрение и поддержка становятся все дороже. Тем не менее, есть фактор, который помогает значительно снизить расходы — широчайшее распространение Интернет. Если разрабатываемое клиент – серверное приложение использует для связи между клиентом и сервером базовые протоколы Интернет (TCP/IP и HTTP) и предоставляет пользовательский интерфейс с помощью HTML, который можно просматривать в любом браузере, то практически каждый его потенциальный пользователь не имеет технических препятствий для обращения к этому приложению. Также не нужно распространять специальные клиентские компоненты, ставить клиентам специальное оборудование, не нужно тратить много времени и средств на обучение пользователей работе со специфическим интерфейсом, настройке связи с серверами и т.д. Интернет предоставляет готовую инфраструктуру для создания крупномасштабных программных систем, в рамках которых десятки тысяч компонентов могли бы работать совместно и миллионы пользователей могли бы пользоваться их услугами. Поэтому вполне логично, что веб-приложения стали одним из самых востребованных видов программного обеспечения. И этот факт не мог не отразиться на Всемирной паутине. Если раньше веб-приложения базировались на гипертексте и гиперссылках, то сейчас веб-приложения становятся все ближе к настольным (от англ. desktop) приложениям. Данная тенденция с нарастающей прогрессией охватывает Интернет и уже сегодня можно говорить о наступлении эры веб-приложений нового типа, "обогащенных" интернет-приложений или RIA (Rich Internet Application). Статические страницы веб-приложений старого типа предоставляют информацию пользователю и имеют весьма скудные возможности, в сравнении с настольными приложениями, для организации взаимодействия пользователя с этой информацией.

Сегодня реализация "обогащенных" интернет-приложений возможна посредством AJAX, Adobe Flex, Windows Presentation Foundation, Flash, Java-апплетов, Java и некоторых декларативных языков, таких как XUL, MXML. Из всех перечисленных инструментов широчайшую популярность приобрели лишь AJAX и Flash – в первую очередь, благодаря их доступности. Причем, если создание приложений целиком во Flash весьма ресурсоемкий и дорогостоящий процесс, то разработка с применением AJAX едва ли занимает больше времени, чем разработка классических веб-приложений старого типа. В большинстве современных проектов Flash используется лишь по мере необходимости.
1.2. Введение в AJAX

AJAX (от англ. Asynchronous Javascript and XML — «асинхронный JavaScript и XML») — это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером [1]. В результате при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными.

В рамках AJAX собраны давно известные веб-технологии, и их совместное использование позволило получить новые результаты. AJAX включает [2]:



  • Стандартизованное представление с использованием XHTML (Extensible Hypertext Markup Language — расширяемый язык разметки гипертекста) и CSS (Cascading Style Sheets — каскадные таблицы стилей); CSS предоставляет возможность определять стили элементов Web-страницы.

  • Динамическое отображение и взаимодействие при помощи DOM (Document Object Model — объектная модель документов). DOM представляет структуру Web-страницы в виде набора объектов, которые можно обрабатывать средствами JavaScript. Это дает возможность изменять внешний вид графического интерфейса веб-приложения в процессе работы.

  • Управление и обмен данными между браузером и веб-сервером через XML (eXtensible Markup Language — расширяемый язык разметки). XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами.

  • Асинхронное получение данных от веб-сервера с использованием объекта класса XMLHttpRequest. Объект XMLHttpRequest позволяет программисту получать данные с Web-сервера в фоновом режиме.

  • Язык JavaScript, с помощью которого реализуются вышеперечисленные пункты.


1.3. Сравнение моделей классического DHTML веб-приложения с AJAX веб-приложением

Сравним модели классического DHTML веб-приложения и AJAX веб-приложения.



Dynamic HTML или DHTML — это способ создания интерактивного веб-приложения, используя сочетание статичного языка разметки HTML, встраиваемого (и выполняемого на стороне клиента) скриптового языка JavaScript, CSS (каскадных таблиц стилей) и DOM (объектной модели документа) [6]. Можно заметить, что все вышеперечисленные веб-технологии используются также и в AJAX. DHTML позволяет создавать на базе веб-страниц интерфейсы с достаточно большими интерактивными возможностями, но любые изменения внешнего вида страницы реализуются лишь путем повторной загрузки всего документа.

Модель классического DHTML веб-приложения действует следующим образом: большинство действий пользователя отправляют обратно на веб-сервер HTTP-запрос. Веб-сервер производит необходимую обработку - получает данные, обрабатывает числа, взаимодействует с различными унаследованными системами и затем выдаёт HTML- страницу клиенту (рис. 1). Эта модель заимствована из первоначального применения веб как гипертекстовой среды. У данной модели есть два весомых недостатка:



  • Не достигается хорошего взаимодействия с пользователем. В то время пока сервер обрабатывает результаты, пользователю приходится ждать (рис. 2).

  • Избыточность загружаемых данных. Веб-сервер выдаёт результат в виде готовой HTML-страницы. Если требуется обновить лишь небольшую часть веб-страницы, то нет необходимости повторно загружать HTML-данные, которые не подверглись изменению.

Рис.1 Модель классического DHTML веб-приложения


Рис. 2 Взаимодействие пользователя с классическим DHTML веб-приложением (синхронное)

Рассмотрим теперь модель AJAX веб-приложения (рис. 3). Приложение AJAX исключает взаимодействие, при котором пользователю необходимо ждать пока сервер обработает данные и выдаст результат. Это достигается путём введения механизма AJAX как промежуточного слоя между пользователем и сервером. Вместо того, чтобы загружать страницу в начале пользовательской сессии, браузер загружает механизм AJAX, написанный на JavaScript и обычно спрятанный в скрытый фрейм. Этот механизм отвечает за формирование пользовательского интерфейса и взаимодействие с сервером. Механизм AJAX позволяет производить взаимодействие с пользователем асинхронно, то есть независимо от взаимодействия с сервером. Таким образом, пользователю больше не нужно наблюдать пустое окно браузера и курсор в виде песочных часов в ожидании действий сервера (рис. 4).

Каждое действие пользователя, которое производит HTTP-запрос, теперь вместо этого принимает форму вызова одной из JavaScript-функции механизма AJAX. Каждый ответ на действие пользователя, не требующее обращения к серверу, например, простая проверка данных, редактирование данных в памяти, и даже некоторая навигация, выполняется механизмом самостоятельно. Если же для ответа требуется информация с сервера, например, загрузка дополнительного интерфейсного кода, передача данных для обработки или получение новых данных, то механизм AJAX производит необходимые запросы асинхронно, обычно при помощи XML, не прерывая взаимодействия пользователя с приложением.



Рис.3 Модель AJAX веб-приложения



Рис. 4 Взаимодействие пользователя с AJAX веб-приложением (асинхронное)


Основные достоинства AJAX:

  • Экономия трафика. Использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что часто вместо загрузки всей страницы достаточно загрузить только небольшую изменившуюся часть.

  • Уменьшение нагрузки на сервер. AJAX позволяет несколько снизить нагрузку на сервер благодаря тому, что сервер теперь не генерирует HTML-страницы «на лету», вместо сервера это делает клиентский JavaScript код.

  • Ускорение реакции графического интерфейса. Поскольку нужно загрузить только изменившуюся часть, то пользователь видит результат своих действий быстрее.

  • Асинхронное взаимодействие с сервером. Взаимодействие с пользователем не прерывается при обращении браузера к веб-серверу.

Основные недостатки AJAX:

  • Интеграция со стандартными инструментами браузера. Динамически создаваемые страницы не регистрируются браузером в истории посещения страниц, поэтому не работает кнопка «Назад» предоставляющая пользователям возможность вернуться к просмотренным ранее страницам. Также невозможно сохранить закладку на желаемый материал.

  • Динамически загружаемое содержание недоступно поисковым системам. Поисковые машины не могут выполнять JavaScript код, поэтому не могут регистрировать веб-контент сайта.

  • Старые методы учета статистики сайтов становятся неактуальными. Многие сервисы статистики ведут учёт просмотров новых страниц веб-приложения. Для веб-приложений, страницы которых широко используют AJAX, такая статистика теряет актуальность.

Таким образом, AJAX приложение отличается от аналогичного DHTML приложения экономичностью с точки зрения трафика; дружественным, эргономичным и удобным интерфейсом; скоростью реакции интерфейса и уменьшенной нагрузкой на сервер.
2. GWT инструмент создания AJAX веб-приложений

2.1. Введение в GWT

Google Web Toolkit (GWT) — свободный Java фреймворк, который позволяет веб-разработчикам создавать AJAX-приложения на основе Java. Фреймворк — каркас программной системы (или подсистемы), включающий вспомогательные программы, библиотеки кода, язык сценариев и другое ПО, облегчающее разработку и объединение разных компонентов большого программного проекта за счёт использования единого API (Application Programming Interface) [6].

Первая версия GWT была выпущена компанией Google в мае 2006 года. Именно эта компания сделала AJAX популярным после использования его в сервисах Gmail, Google Maps и Google Suggest.

GWT позволяет писать AJAX веб-приложения на языке программирования Java, используя при этом все его объектно-ориентированные возможности. Это, несомненно, является огромным плюсом, так как JavaScript, в отличие от Java, не полностью соответствует концепциям объектно-ориентированного программирования [5]. Да и людей, пишущих на Java, гораздо больше, чем тех, кто пишет программы на JavaScript.

Основные недостатки JavaScript:

1) Неполное соответствие концепциям объектно-ориентированного программирования. В частности, отсутствие механизма наследования и инкапсуляции.

2) Невозможность создания сложных GUI компонентов, т.е. отсутствие масштабирования. Нельзя создать новый GUI компонент, используя старый, просто переопределив некоторую функциональность старого компонента. Таким образом, для реализации нового компонента приходится дублировать код старого.

3) Требуется большое количество времени на отладку приложения для корректной работы в разных браузерах.

Использование GWT-фреймворка устраняет эти недостатки. Создание веб-приложения с помощью GWT очень похоже на создание обычного Java Swing-приложения. В GWT используются такие же, как и в Swing компоненты (в GWT компоненты называются виджетами): Panel – аналог JPanel в Swing, Button – аналог JButton в Swing, TextField – аналог JTextField в Swing и т.д [4].

Любое AJAX приложение базируется на языке JavaScript, а не Java. Поэтому, в GWT предусмотрен специальный компилятор, транслирующий Java-код в эквивалентный JavaScript-код. Таким образом, программист может написать полностью функциональное AJAX веб-приложение, даже не зная языков HTML и JavaScript.

На сегодняшний день не существует аналогов GWT-фреймворка, обладающих такой же функциональностью.

Основные особенности Google Web Toolkit [7]:


    • Динамические графические компоненты (виджеты) с возможностью повторного использования. Возможность создавать новые виджеты, переопределяя и дополняя функциональность старых.

    • Простой механизм связи с сервером. Обмен данными с сервером происходит посредством вызова асинхронного метода. Подробнее о механизме связи с сервером будет рассказано ниже.

    • Возможность регистрации браузером истории посещения веб-приложения. GWT даёт возможность сделать веб-приложение более удобным, добавляя состояния открытых окон и панелей в историю посещения, при этом, нажимая в браузере на кнопку «Назад», можно вернутся к предыдущему состоянию.

    • Отладка веб-приложения ничем не отличается от отладки обычного Java-приложения. Хотя GWT-приложение и компилируется в JavaScript, существует возможность его отладки, используя все современные возможности Java-отладчика.

    • Кроссбраузерность. GWT-приложения одинаково отображаются и выполняются во всех распространенных браузерах - Internet Explorer, Firefox, Safari и Opera.

    • Поддержка JUnit. JUnit – фреймворк для тестирования Java модулей. Поддержка тестирования отдельных модулей и асинхронных вызовов процедур.

    • Интернационализация. Лёгкость создания и адаптации GWT- приложений к языковым и культурным особенностям других стран.

    • Использование JavaScript. Возможность вставки JavaScript прямо в Java-код, используя JavaScript Native Interface (JSNI).

    • Весь код кроме GWT-компилятора и GWT-шелла (о GWT-шелле будет сказано ниже) является открытым и распространяется под лицензией Apache 2.0.

GWT-фреймворк используется только для построения GUI веб-приложения, а вся бизнес-логика (т.е. совокупность правил, принципов, зависимостей, поведения объектов предметной области системы) разрабатывается при помощи других Java EE 5 (Java Platform, Enterprise Edition — набор спецификаций и соответствующей документации для языка Java, описывающей архитектуру серверной платформы для задач средних и крупных предприятий) технологий.
2.2. GWT-компилятор

«Сердцем» GWT, конечно же, является компилятор, который переводит разработанное Java-приложение в эквивалентное приложение на JavaScript. При этом компилятор осуществляет оптимизацию JavaScript-кода. Получившийся JavaScript-код имеет меньший размер, чем аналогичный код, написанный программистом на JavaScript вручную, поэтому требуется меньше времени для его загрузки на клиент. Также, получившийся код можно считать «чёрным ящиком», т.к. его практически невозможно понять. Существуют некоторые ограничения на исходный клиентский Java-код программы, связанные с тем, что язык JavaScript является менее функциональным, чем Java, и не все возможности языка Java можно «перевести» в JavaScript. Ниже приведён список данных ограничений:



  • GWT-компилятор может компилировать исходный код, написанный на языке Java версии не выше 1.4. Фактически, это означает отсутствие шаблонов и некоторых конструкций языка, например цикла for each. Разработчики GWT работают над этой проблемой, и в следующей версии фреймворка будет поддержка Java версии 1.5

  • Отсутствие поддержки многопоточности. Так как язык JavaScript не поддерживает многопоточность, то нельзя использовать такие методы, как Object.wait(), Object.notify() и Object.notifyAll().

  • Стандартные java-пакеты очень громоздкие и используют функциональность, недопустимую в веб-браузерах (например, доступ к файловой системе пользователя). Поэтому GWT-компилятор поддерживает лишь два стандартных пакета: java.lang (оболочки простых типов, математические функции, исключительные ситуации) и java.util (работа с коллекциями, датами, календарями, случайными числами).

  • Отсутствие поддержки утверждений (assertions). GWT-компилятор понимает Java-код, который использует конструкцию assert , но не учитывает её.


2.3. Структура GWT-приложений

GWT-приложения оформлены в виде модулей (module). Каждый модуль – это функционально законченное GWT-приложение, обладающее собственным файлом конфигурации [7].

Расположение Java-классов в каждом модуле должно подчиняться определённой структуре. В GWT-модуле, как минимум, должно быть три пакета:


  • Пакет, в котором находится исходный клиентский Java-код. Этот код после компиляции его в JavaScript будет выполняться браузером. Важно заметить, что данный код не должен выходить за рамки перечисленных выше ограничений, предъявляемых к исходному коду для GWT-компилятора. Обычно данный пакет называется client.

  • Пакет, в котором находится исходный серверный Java-код. Этот код обрабатывает асинхронные HTTP-запросы, поступающие от клиента. На исходный код этого пакета не накладывается никаких ограничений. Обычно данный пакет называется server.

  • Пакет, в котором находятся ресурсы, используемые разрабатываемым веб-приложением (картинки, CSS-стили и т.д.). Содержимое этого пакета копируется без каких-либо изменений на веб-сервер. Обычно данный пакет называется public.

Все вышеперечисленные пакеты могут включать в себя любое количество подпакетов. Сам GWT-модуль может быть расположен в любом месте проекта, что позволяет легко совмещать GWT-модули с другими Java EE 5 модулями.

Файл конфигурации GWT-модуля – это XML файл, имеющий название вида ModuleName.gwt.xml, где ModuleName – название GWT-модуля. Этот файл располагается в том же пакете, что и пакеты client, server и public. Конфигурационный файл содержит следующие настраиваемые параметры [7]: