СмартФрог
Разработчик(и) | Лаборатории HP в Бристоле, Англия |
---|---|
Первоначальный выпуск | 24 января 2004 г |
Стабильная версия | 3.18.016 / 13 марта 2012 г |
Репозиторий | исходная кузня |
Написано в | Ява |
Платформа | Linux , Microsoft Windows XP SP2 , Microsoft Windows Vista , HP-UX , Mac OS/X |
Тип | Управление конфигурацией , Фреймворк |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | www |
SmartFrog ( Smart Framework для групп объектов ) — это Java на основе платформа с открытым исходным кодом , помогающая размещать крупномасштабные приложения в распределенной системе на основе компонентов . Предлагается сделать проектирование, настройку , развертывание и управление распределенными системами более простыми, корректными и автоматическими. SmartFrog в основном состоит из трех аспектов: языка SmartFrog, системы времени выполнения и библиотеки компонентов SmartFrog, реализующих компонентную модель SmartFrog. [1]
История
[ редактировать ]SmartFrog изначально был разработан в европейских исследовательских лабораториях Hewlett-Packard . Он использовался в исследованиях HP в области автоматизации инфраструктуры и услуг, а также в различных продуктах HP. [2] SmartFrog стал общедоступным в январе 2004 года под лицензией GNU Lesser General Public License (LGPL), размещенной на SourceForge . В результате пользователи и разработчики за пределами лаборатории также могут вносить свой вклад, используя, расширяя структуру или сообщая об ошибках. [3] В 2017 году, после Hewlett-Packard разделения на HP Inc. и Hewlett Packard Enterprise , когда компания находилась в Hewlett Packard Enterprise собственности , SmartFrog была повторно лицензирована по лицензии Apache License 2.0 . [4]
Технологии
[ редактировать ]Язык SmartFrog
[ редактировать ]Язык SmartFrog — это язык описания конфигурации, используемый для описания коллекций компонентов и конфигураций системы, например, какие программные компоненты принадлежат системе, каковы параметры конфигурации, как компоненты связаны с другими компонентами в системе и в какой последовательности компоненты работа.
Модель компонента
[ редактировать ]В SmartFrog компонент — самая важная и основная часть. Система рассматривается как набор приложений, каждое из которых состоит из набора компонентов. Каждый компонент записывается в файле SmartFrog на Java, который отражает существование компонентов и атрибуты по умолчанию.
Система выполнения
[ редактировать ]Система выполнения интерпретирует описания, написанные на языке SmartFrog Language, и управляет компонентами на основе результатов интерпретации. Он также предоставляет пользователям инструменты для взаимодействия с компонентами.
Функции
[ редактировать ]В качестве основы
[ редактировать ]SmartFrog — это не пакет или библиотека, а фреймворк, строительный блок, помогающий создавать программные системы. SmartFrog можно расширить за счет добавления в структуру новых компонентов, что означает, что он имеет гораздо более широкое применение и может приобрести новые функциональные возможности. [5]
Механизм шаблонов
[ редактировать ]В SmartFrog каждый компонент определяется как шаблон . Обычно для каждой новой службы создаются и активируются новые компоненты. Однако некоторые компоненты общего назначения можно повторно использовать в других целях. Что касается механизма шаблонов, конфигурацию системы легко адаптировать к различным требованиям, при этом можно сохранить конфигурацию по умолчанию. Прототипирование также позволяет сохранить все преобразования и историю конфигураций системы. Используя SmartFrog для построения крупномасштабной распределенной системы, можно повторно использовать некоторые компоненты и не нужно полностью переписывать все приложение. Пользователи могут легко писать или создавать простые компоненты SmartFrog для установки, удаления, настройки, запуска и остановки системы, используя нотацию описания конфигурации. [5]
Кросс-клиентская модель
[ редактировать ]Существует множество программных систем, похожих на SmartFrog, но лишь немногие из них используют ту же модель, что и SmartFrog. Самая большая категория систем основана на модели клиент-сервер , где данные конфигурации для всех клиентов хранятся на сервере, и каждый клиент спроектирован так, чтобы соответствовать данным конфигурации, хранящимся на сервере. Однако в SmartFrog используется кросс-клиентская модель, поэтому каждый клиент рассматривается как независимый объект. Это дает SmartFrog возможность координировать работу большого количества узлов, выполнять автономные действия и обеспечивать более высокую масштабируемость. [6]
Безопасность
[ редактировать ]SmartFrog имеет два режима работы: безопасный и небезопасный. [7] В незащищенном режиме нет ограничений на подключение клиента к SmartFrog, а общение в виде обычного текста может быть прослушано и перехвачено. В этом режиме система уязвима для вредоносных атак.
SmartFrog необходимо защитить от вредоносного развертывания или других действий управления. В безопасном режиме SmartFrog использует систему инфраструктуры открытых ключей (PKI). Только клиенты, сертифицированные указанным центром сертификации (CA), могут подключаться к SmartFrog Daemon . Кроме того, SmartFrog подписывает все компоненты и описания сертификатом, и только подписанные из них могут быть развернуты. Коммуникации шифруются с использованием протоколов Transport Layer Security (TLS). [8]
Связанные проекты
[ редактировать ]Проект GridWeaver
[ редактировать ]Проект GridWeaver стартовал в 2002 году и продлился год. Соавторами проекта выступили Школа информатики Эдинбургского университета , лаборатории HP и Эдинбургский центр параллельных вычислений (EPCC) . Этот проект был направлен на поиск решений проблем автоматизации настройки и управления фабриками Grid-вычислений следующего поколения . [9]
В рамках проекта сравнивались SmartFrog и система локальной конфигурации (LCFG) с точки зрения сильных и слабых сторон, а также исследовалось, как эти инструменты используются для решения проблем.
СФДЖС
[ редактировать ]SFJS — это язык конфигурации, среда выполнения и библиотека компонентов, разработанная компанией Configurationed Things , соучредителем которой является Патрик Голдсак, один из ведущих авторов проекта SmartFrog. SFJS — духовный преемник SmartFrog, построенный Node.js. на [5] [10]
См. также
[ редактировать ]- Сравнение программного обеспечения для управления конфигурацией с открытым исходным кодом
- LCFG — установленная структура конфигурации для управления большим количеством систем.
Ссылки
[ редактировать ]- ^ Голдсак, Патрик; Гихарро, Хулио; Лейн, Антонио; Мешено, Гийом; Мюррей, Пол; Тофт, Питер (2003). «SmartFrog: настройка и автоматический запуск распределенных приложений»: 1–9. CiteSeerX 10.1.1.187.8478 .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ «Страница проекта SourceForge» .
- ^ «Страница проекта HP Labs SmartFrog» . Архивировано из оригинала 20 февраля 2019 г.
- ^ «SmartFrog/SVN/Commit [r8898]» . Сорсфордж . 16 мая 2017 г.
- ^ Jump up to: а б с «Официальный сайт SmartFrog» . smartfrog.org .
- ^ Голдсак, Патрик; Гихарро, Хулио; Логран, Стив; Коулз, Алистер; Фаррелл, Эндрю; Лейн, Антонио; Мюррей, Пол; Тофт, Питер (2009). «Среда управления конфигурацией Smart Frog ». Обзор операционных систем ACM SIGOPS . 43 : 16–25. дои : 10.1145/1496909.1496915 . S2CID 11693395 .
- ^ «Безопасность SmartFrog» . Архивировано из оригинала 28 марта 2015 г.
- ^ «Руководство пользователя SmartFrog» . Архивировано из оригинала 20 февраля 2019 г.
- ^ «Проект GridWeaver» . Архивировано из оригинала 23 сентября 2016 г.
- ^ «Проект SmartFrog» . Настроенные вещи . Проверено 25 апреля 2022 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- Веб-сайт проекта HP Labs SmartFrog на Wayback Machine (архивировано 20 февраля 2019 г.)
- Страницы проекта на SourceForge
- Ссылка на Google Usenix Paper.