
- •Введение
- •1.4 Безопасность при эксплуатации пэвм
- •1.5 Стадии и этапы разработки
- •1.6 Порядок контроля и приемки
- •2 Требования к функциональным характеристикам
- •3.2 Выбор формата обмена данными
- •3.3 Выбор среды разработки
- •3.4 Выбор субд для системной базы данных
- •4 Разработка базы данных
- •Пользователи и права доступа
- •Метаданные
- •5 Разработка программного обеспечения
- •5.1 Архитектура программного обеспечения
- •5.2 Система аутентификации и авторизации
- •5.3 Взаимодействие с клиентским приложением
- •6 Тестирование программы
- •6.1 Модульное тестирование
- •6.2 Системное тестирование
- •7 Организационно-экономическая часть
- •7.1 Технико-экономическое обоснование объекта проектирования
- •7.2 Организационная часть
- •7.3 Экономическая часть
- •7.4 Выводы
- •8 Безопасность и экологичность проектных решений
- •8.1 Цель и решаемые задачи
- •8.2 Опасные и вредные факторы при работе с пэвм
- •8.3 Характеристика объекта исследования
- •8.4 Мероприятия по безопасности труда и сохранению работоспособности
- •8.5 Рсчеты
- •Заключение
- •Список литературы
- •Приложение 1. Листинг
3.2 Выбор формата обмена данными
При клиент-серверной архитектуре необходимо определить формат для обмена данными между клиентским приложением и сервером. Для данной цели, в веб приложениях, чаще всего используются форматы XML или JSON.
XML (англ. eXtensible Markup Language — расширяемый язык разметки) — рекомендованный Консорциумом Всемирной паутины (W3C) язык разметки. XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете. Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка. Сочетание простого формального синтаксиса, удобства для человека, расширяемости, а также базирование на кодировках Юникод для представления содержания документов привело к широкому использованию как собственно XML, так и множества производных специализированных языков на базе XML в самых разнообразных программных средствах.
Данные, передаваемые между клиентом и сервером приложений «Коринф», обладают простой структурой и небольшим по объёму содержанием полей данных. В данной ситуации форматы XML могут оказаться не лучшим. В этом случае доля разметки в общем объёме велика, а программная обработка XML может оказаться неоправданно затратной, по сравнению с работой с данными более простой структуры. В этой области разработчики рассматривают средства, изначально ориентированные на данные, такие как INI, YAML, JSON.
JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript. Как и многие другие текстовые форматы, JSON легко читается людьми. За счёт своей лаконичности по сравнению с XML, формат JSON может быть более подходящим для сериализации сложных структур. Если говорить о веб-приложениях, в таком ключе он уместен в задачах обмена данными как между браузером и сервером, так и между самими серверами (программные HTTP-интерфейсы). Формат JSON также хорошо подходит для хранения сложных динамических структур в реляционных базах данных или файловом кэше.
Для данного проекта предпочтительным является использование формата JSON, поскольку он обеспечивает:
более компактные данные (до 30% в сравнении с XML);
более быстрый разбор, благодаря более простой структуре;
легко читаемый человеком формат, что может быть важно при отладке;
расширяемость;
3.3 Выбор среды разработки
Для языка программирования Java, на данный момент, существует несколько интегрированных сред разработки, как платных, так и распространяемых бесплатно. Наиболее распространенными ИСР являются: Eclipse , NetBeans IDE, а так же IntelliJ IDEA.
Сравнение данных сред разработки по поддерживаемым ОС и типу лицензирования представлено в таблице 3.1.
Таблица 3.1. Сравнение ИСР
-
IDE (ИСР)
Лицензия
Поддерживаемые ОС
Ecliplse
EPL
Windowl, Linux, Mac OS X, Solaris
NetBeans
CDDL, GPL2
Windowl, Linux, Mac OS X, Solaris
IntelliJ IDEA
ALv2, проприетарное
Windowl, Linux, Mac OS X
Среди представленных сред разработки, наиболее функциональной и удобной средой является IntelliJ IDEA. Даная среда обладает следующими возможностями:
Автодополнение кода с учетом текущего контекста
Анализ кода на лету и предложение возможных вариантов исправления ошибок
Широкий спектр инструментов для рефакторинга кода
Наличие инструментов для работы с БД, включая поддержку SQL
Поддержка работы с системами управления версиями, включая Git, SVN, Mercurial и другие
Интеграция с технологиями Java EE, включая EJB, CDI, JPA, Hibernate
Поддержка наиболее популярных серверов приложений, включая Tomcat, WebSphere, GlassFish и другие
Техноология Code Injection позволяющая работать с кодом на другом языке внутри основного кода
Поддержка расширений
Недостатки в сравнении с Eclipse:
Закрытый исходный код
Многие возможности не доступны в бесплатной версии Community Edition
Меньше доступных расширений