Технология Google Web Toolkit — это свободный Java-фреймворка, позволяющий web-разработчикам формировать различные приложения на базе Java.
Введение.
Каждая фирма, которая занимается разработкой программных продуктов, может столкнуться с необходимостью эффективного управления процессом проектирования. Причинами, которые приводят к данной необходимости, могут стать:
- Необходимость контроля недобросовестных работников.
- Необходимость контроля этапов проектирования продукта.
- Необходимость оптимизации разработки.
- Наличие сводной информации по исполненной работе.
Для данных целей организации могут использовать системы управления проектами. Подобные системы формируются или в виде обычного приложения Windows, или являются клиент-серверным приложением для браузера. Приложение для браузера считается более привлекательным, поскольку браузеры имеются практически для всех операционных систем, что исключает наличие зависимости от платформы. Применение системы в браузере, кроме того, может исключить зависимость от места нахождения пользователя, достаточно просто осуществить запуск браузера на каком-либо компьютере, выполнить ввод логина, а также пароля, и доступ к системе будет получен.
Системы управления проектами могут позволить вести обмен «задачами» среди команды исполнителей, руководителям отделов предоставляется возможность распределения «задач» и отслеживания хода их исполнения, менеджеры могут планировать время выполнения текущих задач и наблюдать за статистикой.
Разработка системы управления проектами с использованием технологии Google Web Toolkit
Задача заключается в проектировании системы для команды специалистов, которые разрабатывают программное обеспечение, а также для руководителя команды. Система должна содержать клиентскую и серверную части. Применение сервера необходимо по причине обеспечения сохранения и обмена данными среди клиентов. Обмен должен выполняться при помощи HTTP запросов. База данных на сервере должна отвечать за хранение информации о «задачах», то есть, это текст задания, кто исполнитель, статус, запланированное время исполнения, фактическое время исполнения, дата создания и так далее. А также она должна отвечать за хранение данных о пользователях, таких как, логин, пароль, имя, фамилия, e-mail, номер телефона, и о прикрепленных файлах.
Задачей является задание для специалиста команды, которое поставлено другим членом команды. Главными параметрами для задачи являются статус, пользователь, сформировавший ее, пользователь, который ее исполняет, время, отведенное на исполнение задания и фактическое время, затраченное на исполнение задания.
При проектировании клиентских приложений может возникнуть ряд проблем, к тому же, требования к приложению могут изменяться со временем. Эффективным решением, которое следует использовать при проектировании системы управления проектами, может стать применение клиент-серверной архитектурной организации, изображенной на рисунке ниже.
Рисунок 1. Клиент-серверная архитектурная организация. Автор24 — интернет-биржа студенческих работ
К числу основных преимуществ клиент-серверной архитектуры необходимо отнести следующие моменты:
- Отсутствует дублирование кода программы-сервера программами-клиентами.
- Поскольку вся совокупность вычислений выполняется на сервере, то это означает снижение требований к компьютерам, на которых установлены программы-клиенты.
- Весь набор данных должен храниться на сервере, который обычно обладает существенно лучшей защитой. На сервере более просто реализовать контроль полномочий, для того чтобы разрешить доступ к данным лишь клиентам, обладающим соответствующими правами доступа.
Клиентом является интерфейсный, как правило, графический, элемент, представляющий первый уровень, то есть, это по сути приложение для конечного пользователя. Сервером является программный компонент вычислительной системы, исполняющий сервисные, то есть, обслуживающие, функции по запросам клиента, путем предоставления ему доступа к необходимым ресурсам или услугам. Главной задачей серверного приложения считается именно обработка запросов от клиента.
Сетью является система, которая обеспечивает связь среди компьютеров или компьютерных устройств. Сеть так же выступает как компонент клиент-серверной архитектуры, поскольку при ее помощи реализуется информационный обмен между клиентом и сервером.
Для того чтобы реализовать данную систему можно использовать язык программирования Java. Использование данного языка программирования предполагает современная технология Google Web Toolkit. На данный момент язык Java может считаться одним из наиболее распространенных языков. Он обладает огромным количеством библиотек и технологий, а так же по нему выпущено достаточно много учебных пособий. Язык Java способен реализовать практически все требования, присутствующие с позиции программистов. Язык Java и технология Google Web Toolkit являются оптимальным выбором, так как вместе они способны значительно ускорить создание AJAX приложения.
AJAX является подходом к формированию интерактивных пользовательских интерфейсов web-приложений, который заключается в реализации обмена данными браузера с web-сервером в фоновом режиме. В итоге при выполнении обновления данных web-страница не должна перезагружаться полностью, и web-приложения могут стать более быстрыми и удобными.
Следует отметить основные достоинства данного подхода:
- Наличие экономии трафика.
- Уменьшается нагрузка на сервер.
- Ускорение реакции интерфейса.
К недостаткам AJAX относятся следующие аспекты:
- Отсутствует интеграция со стандартными инструментами браузера.
- Содержимое, которое загружается в динамическом режиме, является недоступным для поисковиков.