Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РПЗ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6.64 Mб
Скачать

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

  • Меньше доступных расширений