
- •Аннотация
- •Содержание
- •1 Аналитический раздел
- •1.1 Анализ предметной области
- •1.2 Организационно-производственная структура
- •1.3 Анализ существующих программных продуктов
- •1.4 Выбор математического аппарата
- •1.5 Постановка задачи
- •1.5.1 Назначение программного продукта
- •1.5.2 Требования к программному средству и техническому оборудованию
- •2 Проектный раздел
- •2.1 Инструментальные средства
- •2.1.1 Выбор языка программирования
- •2.1.2 Технология клиент/сервер. Принцип работы Java Web-приложения
- •2.1.3 Архитектура платформы Tandem
- •2.1.4 Выбор субд
- •2.1.5 Структурированный язык запросов sql
- •2.2 Разработка базы данных проектируемого программного средства
- •2.2.1 Формализованное описание предметной области
- •2.2.2 Разработка инфологической модели бд
- •2.2.3 Разработка даталогической модели бд
- •2.2.4 Нормализация отношений
- •2.2.5 Физическая модель бд
- •2.2.5.1 Техническое описание объектов бд
- •2.2.5.2 Реализация ограничений целостности бд
- •2.3 Разработка программного средства автоматизации обслуживания заявок
- •3 Технико-эксплуатационный раздел
- •3.1 Руководство для пользователей
- •3.2 Руководство для серверной части
- •3.3 Руководство администратора
- •3.4 Руководство программиста
- •4 Обоснование экономической эффективности проекта
- •4.1 Расчет трудоемкости разработки программного продукта
- •4.2 Расчет себестоимости программного продукта
- •4.3 Расчет экономического эффекта от внедрения программного продукта
- •5 Безопасность труда
- •5.1 Анализ условий труда
- •5.2 Расчет искусственного освещения
- •5.3 Возможные чрезвычайные ситуации
- •5.3.1 Расчет зоны заражения
- •5.3.2 Расчет времени эвакуации
- •Заключение
- •Список использованных источников
- •Приложение а
- •Приложение б
2.1.2 Технология клиент/сервер. Принцип работы Java Web-приложения
В типичном Java EE web-приложении HTML клиент отправляет запрос серверу, где этот запрос обрабатывается веб-контейнером сервера приложений. Веб-контейнер вызывает сервлет, который сконфигурирован для обработки определенного контекста запроса. Начальный запрос HTML клиента проиллюстрирован на рисунке 2.1.
Рисунок 2.1 – Начальный запрос HTML клиента
Как только сервлет получает начальный запрос, инициируется выполнение определенной бизнес логики для завершения запроса. При этом вызывается один или несколько бизнес сервисов или компонентов как показано на рисунке 2.2.
Рисунок 2.2 – Бизнес сервисы или компоненты в JEE архитектуре
Некоторым бизнес сервисам или компонентам требуется доступ к хранилищам данных или информационным системам. Как правило, для этих целей вводится дополнительный слой абстракции между бизнес сервисами и хранилищем данных, что позволяет сделать максимально безболезненным возможное изменение источника данных в будущем. При этом объекты доступа к данным (DAO) представляются отдельными компонентами, как показано на рисуноке 2.3.
Рисунок 2.3 – Использование DAO объектов бизнес сервисами для доступа к хранилищу данных
Когда обработка запроса на сервере завершена, HTML клиенту возвращается ответ в определенном формате. Этот процесс показан на рисунке 2.4.
Рисунок 2.4 – Ответ возвращается HTML клиенту
Сценарий, проиллюстрированный на рисунке 2.4, может быть реализован с использованием ограниченного набора Java EE технологий, таких как, например, сервлеты, JDBC, JSP и тому подобные. Tomcat как и другие веб-серверы, предоставляющие среду выполнения сервлетов и JSP, вполне может быть использован как сервер приложений для данного сценария [13].
2.1.3 Архитектура платформы Tandem
В филиале РГУ нефти и газа имени И.М. Губкина города Оренбурга используется платформе АСУОД Tandem Framework. Она построена с использованием трехуровневой (3-tier) архитектуры, общая схема которой представлена на рисунке 2.5.
В качестве постоянного хранилища данных используется реляционная база данных. Данные в базу помещаются в виде набора реляционных сущностей (связанных таблиц, содержащих колонки с данными). Система совместима практически со всеми современными реляционными СУБД, такими как Oracle, MS SQL, PostgreSQL, MySQL, Interbase/Firebird.
Рисунок 2.5 - Архитектура платформы
Сервер приложений представляет собой контейнер сервлетов Tomcat, который обеспечивает работу Web-приложения, состоящего из набора модулей при помощи Spring Framework и Tapestry, связанных между собой [14]. Наряду с прикладными модулями приложения в набор модулей входят также и системные модули фреймворка. Работа с базой данных внутри сервера приложений реализуется с использованием ORM инструмента Hibernate, который предназначен для связи объектной структуры приложения с реляционной моделью базы данных и обеспечивает транзакционную целостность данных и независимость кода уровня приложения от выбранного реляционного хранилища. Для управления исходным кодом Tandem Framework используется SVN.
Платформа Tandem Framework обеспечивает возможность создания пользовательского интерфейса в виде «тонкого» клиента. На клиентском рабочем месте для работы с системой необходим лишь Web-браузер, который имеется в любой операционной системе. Так как разрабатываемое программное средство будет разворачиваться на сервере приложений платформы Tandem Framework, то для начала его работы нет необходимости в установке дополнительных программных пакетов – достаточно иметь подключение к серверу по локальной сети или через интернет [15].