называемые модулями (англ. module), которые могут создаваться и
использоваться независимо друг от друга.
Модульный метод проектирования соответствует определенным
критериям, определенным правилам, которым должны следовать
разработчики и определенным принципам, которые должны соблюдаться.
Модульность предоставляет целый ряд преимуществ. Она позволяет
упростить процесс разработки и сопровождения, упростить повторное
использование кода, повысить читабельности кода, повысить надежность
разрабатываемой системы, повысить эффективность совместной работы,
улучшить управляемости проекта и др.
Во второй главе осуществляется обзор двух существующих
технологий для создания модульного ПО на языке Java – технологии OSGi
и технологии JPMS. В силу того, что главные задачи данных технологий
совпадают, между ними много общего, хотя есть и некоторые отличия.
Рассмотрим основные сходства технологий. Во-первых, обе
технологии осуществляют разрешение зависимостей модулей. Во-вторых,
обе технологии позволяют управлять доступом к пакетам модулей. В-
третьих, и OSGi и JPMS создают возможности для предоставления и
потребления сервисов на межмодульном уровне. В-четвертых, для работы
с модулем обе технологии требуют наличие в модуле служебной
информацией.
Отметим и важнейшие различия. Во-первых, технология OSGi
требует поверх среды выполнения работу платформы OSGi, а JPMS
встроена в среду выполнения. Во-вторых, OSGi не осуществляет
модулизацию стандартных библиотек Java, а работает только с модулями
приложения. JPMS, в свою очередь, поддерживает модули обоих типов. В-
третьих, технология OSGi поддерживает динамическое изменение модулей
работающего кода, что осуществляется посредством управления