stringtranslate.com

Библиотечно-ориентированная архитектура

«Пример диаграммы библиотечно-ориентированной архитектуры»
Библиотечно-ориентированная архитектура

В разработке программного обеспечения Библиотечно -ориентированная архитектура ( LOA ) представляет собой набор принципов и методологий проектирования и разработки программного обеспечения в виде повторно используемых библиотек программного обеспечения, ограниченных определенной онтологической областью. LOA предоставляет одну из многих альтернативных методологий, которые обеспечивают дальнейшее раскрытие программного обеспечения через сервис-ориентированную архитектуру. Ориентация библиотеки определяет онтологические границы библиотеки, которая предоставляет бизнес-функциональность через набор общедоступных API. Библиотечно-ориентированная архитектура далее продвигает практики, аналогичные модульному программированию , и поощряет обслуживание внутренних библиотек и модулей с независимыми внутренними жизненными циклами с открытым исходным кодом. Этот подход продвигает хорошие принципы и шаблоны разработки программного обеспечения, такие как разделение задач и проектирование интерфейсов , а не реализаций.

Принципы

В основе библиотечно-ориентированной архитектуры лежат три принципа:

  1. Реализация библиотеки программного обеспечения и опыт предметной области должны быть ограничены только одним доменом онтологии .
  2. Программная библиотека, которой необходимо использовать концепции и артефакты из другого онтологического домена, отличного от того, к которому она принадлежит, должна взаимодействовать и повторно использовать библиотеку, соответствующую этому конкретному онтологическому домену. [1]
  3. Все библиотеки программного обеспечения, специфичные для предметной области, должны обслуживаться и поддерживаться с отдельными жизненными циклами . [2]

Преимущества

Библиотечно-ориентированная архитектура может обеспечить различные улучшения процессов существующих практик разработки программного обеспечения и жизненного цикла разработки программного обеспечения . Некоторые ощутимые выгоды от его принятия:

  1. Упростите управление конфигурацией распределенных систем. [3]
  2. Создавайте высоконадежные программные системы с учетом свойств и ограничений, присущих принципам LOA.
  3. Информационные системы , построенные с использованием LOA, не зависят от технологии . Эти системы могут легко заменять или заменять целые библиотеки и реализации предметной области с локализованным воздействием и минимальным волновым эффектом в исходном коде.
  4. Повысьте индекс ремонтопригодности [4] ваших распределенных систем и интеграционных репозиториев.
  5. Минимизируйте риск высокой связанности , это может быть более очевидно в крупных корпоративных системах .
  6. Вводите разработчиков в курс дела на несколько порядков быстрее, чем в традиционной системе. Перемещайте разработчиков и команды между библиотеками и онтологиями предметной области и беспрепятственно сотрудничайте.
  7. Выявляйте ошибки и устраняйте проблему практически мгновенно. Есть что сказать о количестве времени, которое разработчик тратит на отладку.
  8. Максимизация фактора шины команды разработчиков программного обеспечения. [5]

Смотрите также

Рекомендации

  1. ^ Грубер, Томас Роберт (1992). «К принципам проектирования онтологий, используемых для обмена знаниями» (PDF) . Международный журнал человеко-компьютерных исследований . 43 (5–6): 907–928. дои : 10.1006/ijhc.1995.1081. S2CID  1652449.
  2. ^ Триана, Мишель (9 апреля 2012 г.). «Библиотечно-ориентированная архитектура». Архивировано из оригинала 26 июня 2014 г. Проверено 9 апреля 2012 г.
  3. ^ Кроули, Ричард. «Развитие работоспособности» . Проверено 9 апреля 2012 г.
  4. ^ Триана, Мишель (05 декабря 2010 г.). «Написание элегантного кода и индекс ремонтопригодности». Свет байтов . WordPress. Архивировано из оригинала 25 мая 2014 г. Проверено 12 апреля 2012 г.
  5. ^ Редмонд, Мэтью С.; Пол Ньютон (2003). «Интеграция ГИС в процессы проектирования, планирования и проектирования» (PDF) . Проверено 12 апреля 2012 г. {{cite journal}}: Требуется цитировать журнал |journal=( помощь )