Jump to content

Колония Рамочная

Колония Рамочная
Разработчик Жоао Магальяйнс, разработчики колоний и Hive Solutions
Стабильная версия
1.0.0 / май 2011 г.
ТЫ Кросс-платформенный
Лицензия лицензия GPLv3
Веб-сайт getcolony.com
Основные реализации
Питон , JavaScript , Руби
Под влиянием
OSGi , платформа управляемой расширяемости

Colony Framework — это с открытым исходным кодом плагинов спецификация платформы . [1] Реализации спецификации предлагают модель компонентов времени выполнения, которая позволяет устанавливать, запускать, останавливать, обновлять и удалять плагины без необходимости остановки контейнера приложения. Спецификация в значительной степени опирается на принцип инверсии управления , чтобы облегчить компонентам приложения обнаружение и взаимодействие друг с другом.

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

Мотивация

[ редактировать ]

Colony черпает вдохновение из других решений модульности, таких как OSGi для языка программирования Java и Managed Extensibility Framework (MEF) для .NET Framework .

Colony стремится стать независимой от платформы и языка спецификацией и обслуживать широкий спектр вариантов использования. [3] Сюда входят варианты использования, обычно связанные с OSGi , такие как модульное приложение с узким ядром и большими возможностями расширения. Сюда также входят варианты использования, подходящие для MEF, например добавление модульности к существующему приложению без необходимости создания разработчиком собственной инфраструктуры плагинов с нуля.

Необходимость сокращения количества шагов настройки для сборки вычислительной сетки, а также поддержки максимально быстрого добавления узлов и распределения вычислений по ним также движет инициативой Colony Distributed.

Ключевые понятия

[ редактировать ]

Концептуальная модель «Колония» построена на основе шести ключевых концепций. [1]

  • Менеджер плагинов : основное средство, которое управляет жизненным циклом плагина и внедрением зависимостей .
  • Плагин : изолированный фрагмент кода и связанные с ним ресурсы, который имеет смысл сам по себе или при совместной работе с другими плагинами.
  • Возможности : определяет, на что способен плагин, чтобы его можно было сопоставить с другими плагинами, которым нужны его возможности.
  • Зависимость : определяет, что плагину для работы требуется другой плагин, и без него он бесполезен.
  • Событие : сообщение, которое может транслироваться плагином и прослушиваться любым плагином, который захочет его получить.
  • Bundle : набор связанных плагинов, предназначенных для совместной работы.

Жизненный цикл плагина включает в себя загрузку и выгрузку его ресурсов, внедрение их в другие в качестве возможности или зависимости , а также внедрение в него возможностей и/или зависимостей. [4]

Распределение

[ редактировать ]

Фреймворк предлагает концепцию вирусного распространения , при которой вычисления могут быть прозрачно распределены по любому количеству узлов, если на каждом узле запускается экземпляр колонии. Эта концепция использует преимущества модульного подхода, используя плагин в качестве единицы, передаваемой между узлами. Эта концепция также требует наличия инструментов для быстрого обнаружения новых узлов (например, с использованием методов Zeroconf, таких как Bonjour через плагин Colony Bonjour).

Вирусное распространение, согласно интерпретации Колонии, будет означать, что настроенный экземпляр Колонии может предоставить свою вычислительную мощность управляемой вычислительной сетке Колонии, объявив ее спецификации, после чего он будет получать рабочие единицы в виде плагинов, т. е. мобильных код для выполнения на экземпляре.

Для настройки нового экземпляра Colony и включения поддержки вирусного распространения потребуются операционная система , базовые зависимости Colony (например, виртуальная машина для выбранного языка реализации Colony) и сам менеджер инфраструктуры (например, с помощью установщика). [5] Добавление в экземпляр базовых пакетов, необходимых для доступа и загрузки из удаленного репозитория плагинов, завершит загрузку. Затем узел сообщит плагину сервера распространения о своей доступности и сможет начать прием и обработку данных.

Известные компоненты

[ редактировать ]

Платформа Colony включает в себя набор прикладных компонентов для различных функций: от предметно-ориентированных подфреймворков до поставщиков общих протоколов и сервисов.

Известные компоненты включают полноценную среду веб-приложений , основанную на шаблоне архитектуры MVC , аналогичную Ruby on Rails и Django . Веб-стек поддерживается модульной реализацией HTTP- сервера, разработанной с нуля в соответствии с философией дизайна Colony. На практике это означает, что даже основные компоненты HTTP-сервера, такие как доступ к файловой системе и интерфейсы сокетов , предоставляются в виде модулей и могут быть заменены в горячем режиме . Веб-плагин MVC также использует модульный плагин менеджера сущностей ORM . Для управления распространением компонент менеджера распространения действует как центр для различных плагинов распространения, которые реализуют концепцию вирусного распространения Colony.

Среди других доступных компонентов — компонент автоматизации сборки (функционально сравнимый с Maven ); расширяемый фасад контроля версий с расширениями, доступными для Subversion , Bazaar и Mercurial ; автономное приложение Wiki , использующее плагины контроля версий . Для интеграции с другими технологиями Colony предоставляет серверы и клиенты для распространенных протоколов, таких как SMTP , BitTorrent , DNS , IRC , POP , Telnet , XMPP , LDAP , а также поддержку Bonjour ( от Apple Inc. реализация Zeroconf ). Также включены некоторые нишевые компоненты, такие как клиенты для API Twitter и службы push-уведомлений Apple .

По состоянию на 2011 год Colony находится в стадии альфа-версии , хотя производственные развертывания существуют. [6]

См. также

[ редактировать ]
  1. ^ Jump up to: а б Спецификация колонии. Архивировано 17 августа 2011 г. на Wayback Machine — Руководство по спецификации колонии.
  2. ^ Что я могу построить с помощью Colony? Архивировано 17 августа 2011 г. на Wayback Machine — Руководство по приложениям, которые могут извлечь выгоду из этой технологии.
  3. ^ Почему колония? Архивировано 17 августа 2011 г. на Wayback Machine — Руководство, объясняющее необходимость использования фреймворка.
  4. ^ Жизненный цикл плагина. Архивировано 17 августа 2011 г. на Wayback Machine — раздел спецификации, описывающий жизненный цикл плагина.
  5. ^ Как основать свою колонию за 3 простых шага. Архивировано 17 августа 2011 г. в Wayback Machine — Руководство, описывающее настройку технологии.
  6. ^ Официальный сайт — Ссылка на текущий статус Колонии на ранней стадии альфа-тестирования по состоянию на 2011 год.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d4a4870bee2680ed9fca99a31cf13128__1717228260
URL1:https://arc.ask3.ru/arc/aa/d4/28/d4a4870bee2680ed9fca99a31cf13128.html
Заголовок, (Title) документа по адресу, URL1:
Colony Framework - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)