APS-стандарт – использование на примере CMS LiveStreet

В 2007-м году компанией SWSoft, ныне Parallels, опубликован новый стандарт средств, для развёртывания веб-приложений на хостинге – APS — Application Packaging Standardapsstandard.org.
APS-формат разработан, чтобы упростить реализацию бизнес-модели Software-as-a-Service (SaaS) для облачных сервис-провайдеров и разработчиков ПО. APS-пакет – упакованное в соответствии с APS-стандартом веб-приложение.
В статье — краткий обзор APS-стандарта и описание процесса подготовки и публикации APS-пакета в общедоступном каталоге — на примере APS-пакета CMS Livestreet, выход которого вызвал определённый интерес на Хабре: (Блог LiveStreet CMS).
Надеюсь, статья заинтересует разработчиков веб-приложений, сервис-провайдеров и пользователей их услуг.

Введение в APS

На данный момент, APS-стандарт поддерживается хостинг-панелями Parallels: Plesk, Small Business Panel, POA (parallels.com) и SysCP (syscp.org — open source проект). По имеющейся информации, ISPSystem (ispsystem.com), разработчик панели ISPManager, рассматривает возможность поддержки APS-стандарта.
Всего в APS-каталоге опубликованы более 200 наименований CMS и различных веб-приложений (как коммерческих, так и open source): apsstandard.org/app

Вкратце, порядок подготовки и использования APS-пакета следующий:

  1. Разработчик CMS (или другой «упаковщик») «пакует» веб-приложение по стандарту APS;
  2. Полученный APS-пакет проходит сертификацию и размещается в общедоступном каталоге;
  3. Хостинг-провайдер загружает пакет и предоставляет своим Клиентам;
  4. Пользователь получает возможность в панели управления хостингом установить «в один клик» веб-приложение.

Многим известен «комплект» fantastico и аналогичные средства автоустановки, зачем было изобретать что-то новое? Но отличия есть:

  • В APS-каталог может добавить свой продукт любой разработчик, достаточно разобраться со стандартом и пройти сертификацию пакета. Это обеспечивает также своевременность обновлений;
  • fantastico включает в себя 50 веб-приложений — в APS-каталоге уже более 200 наименований (есть и русскоязычные);
  • APS-стандарт позволяет из панели управления хостингом не только установить веб-приложение, но и сменить шаблон, установить плагин, сбросить пароль, выполнить обновление и т.п.;
  • APS-стандарт может использоваться и в Parallels Virtuozzo Containers, включая в себя не только веб-приложение, но и серверное программное обеспечение.

Преимущества использования APS-стандарта:

  • Для разработчика сервисов и веб-приложений – популяризация своего продукта;
  • Для хостинг-провайдера – расширение спектра услуг;
  • Для пользователя – упрощение установки: не надо загружать дистрибутив, разбираться с порядком установки – даже знать, что такое FTP, он получает работающий сайт или веб-сервис;
  • Для Parallels и других разработчиков хостинг-панелей – расширение рынка.

Разработчику — Подготовка APS-пакета

Первое, что нужно сделать, это изучить документацию APS-стандарта. Документация опубликована по адресу: apsstandard.org/isv/documentation
На заметку: В использовании стандартов есть различия, например, cтандарт APS 1.0 поддерживается в Parallels Plesk 9.x, APS1.1 – в POA (Parallels Operation Automation).
В этом году планируется выход Plesk 10, и уже через пару недель выйдёт POA 5.0 с поддержкой APS 1.2.

Архитектурной особенностью стандарта APS является декларативная модель описания приложения и минимизация объема кода «адаптеров», связывающих приложение с хостинговой системой. Такой подход был выбран, как более безопасный – чем меньше «чужого» кода исполняется на серверах провайдера, тем лучше.

Вкратце рассмотрим структуру APS-пакета.
APP-META.xml — файл описания пакета. Содержит описание версии, требования, changelog и т.п.,
так же генерирует интерфейс для ввода данных, необходимых для установки приложения. При установке APS-пакета могут быть предложены как типовые опции – логин и пароль и имя базы данных, логин и пароль к админ-панели веб-приложения, так и расширенные, например, выбор типа СУБД, шаблона отображения, регистрационные данные и т.п. Расширенное использование APS-пакета на примере установки python-фреймворка Django показано в статье: Автоустановка Django

Пакет так же содержит каталоги:
htdocs — файлы веб-приложения;
images – скриншоты установленного веб-приложения, выводятся при просмотре информации о пакете;
scripts — скрипты установки и конфигурирования приложения, в каталоге так же содержится дамп БД и SQL-запросы для смены логина/пароля из панели управления.

Общий порядок подготовки APS-пакета следующий:

  1. Из дистрибутива веб-приложения файлы копируются в папку htdocs;
  2. Копируется дамп БД и в таблицах, в которых хранятся учётные данные пользователей, логин/пароль/e-mail администратора заменяются на переменные — при установке приложения, введённые учётные данные будут записаны напрямую в БД;
  3. Подготавливается APP-META.xml.

Необходимости вносить изменения в код самого приложения нет.

При подготовке APS-пакета желательно иметь доступ к панели, поддерживающей стандарт APS.

Разработчику — Сертификация и публикация на apsstandard.org

Опишем последовательность сертификации и публикации в общедоступном каталоге APS-пакета веб-приложения на примере CMS Livestreet.

Доступ к средствам тестирования Вы можете получить, обратившись через: apsstandard.org/feedback

Основной инструмент тестирования, сертификации и размещения — Панель администратора пакетов «Packager administration panel»: apscatalog.com/packager/admin

Панель управления написана на Django, имеет достаточно простой интерфейс, ориентированный на большое количество пакетов.
Packager administration panel

Нажав ссылку «Upload new package», переходим к форме добавления пакета. Выбираем нужный пакет и жмём «Upload» для загрузки пакета. Обратите внимание на то, что при добавлении новой версии пакета необходимо изменять номер версии и добавлять changelog. В примере полное наименование пакета Livestreet 0.4.1-1, где номер версии пакета следует после дефиса (1).

После добавления пакета, проходит его автоматическое тестирование. Следить за текущим статусом тестов можно, периодически нажимая кнопку «Update test report». Процесс может занять длительное время. Так выглядят результаты прохождения тестов:

Отчёт о тестах APS

Раздел отчёта «Test report» отображает результаты тестирования по установке и конфигурированию приложений. В подразделе «Test steps» отображаются пройденные шаги тестирования, там же доступны лог-файлы и скриншоты тестов.

Отчёт подробнее

В случае неудачного прохождения теста, в колонке «Details» отображается сообщение об ошибке. Ошибка может быть в самом пакете, в приложении или на серверной стороне.

В техническую поддержку apsstandard.org можно обратиться через форму на сайте: apsstandard.org/feedback. Писать можно на русском или английском, отвечают достаточно быстро и дружелюбно. При неудачных тестах пояснят причину ошибки. При возникновении ошибок на стороне сервера перезапустят тесты.

После успешного прохождения всех тестов приложение будет опубликовано в APS-каталоге. Используемый в примере Livestreet, опубликован со статусом «Gold application», стандарт APS 1.0 по адресу:
http://www.apsstandard.org/app/#pkg_name=LiveStreet&pkg_vendor=livestreet.ru&pkg_ver=0.4.1&pkg_rel=1
или в разделе каталога Web – Blogs:
http://www.apsstandard.org/app/#category=Web%2FBlog

С момента публикации APS-пакета LiveStreet, за трое суток было произведено 125 загрузок из APS-каталога.

Хостинг-провайдеру — Загрузка APS-пакета

Как только приложение публикуется в APS-каталоге, оно становится доступным для всех сервис-провайдеров. Продемонстрируем, как провайдер может загрузить CMS Livestreet, и как в дальнейшем пользователь может его использовать — на примере Parallels Plesk.

Plesk

Переходим в раздел «Хранилище приложений» – «Каталог APS». Находим приложение в соответствующей категории или поиском по названию, выбираем для добавления и делаем доступным для установки всем пользователям. Затем достаточно нажать кнопку «Добавить в хранилище» и дождаться загрузки на сервер.

Список хостинг-провайдеров, прошедших APS-сертификацию, опубликован на сайте apsstandard.org/hsp.

Пользователю — Установка APS-пакета веб-приложения

Клиент сервис-провайдера заходит в Панель управления и выбирает домен, на котором планируется установить CMS Livestreet. В группе опций «Приложения и услуги» надо выбрать пункт «Веб-приложения» и нажать «Установить веб-приложение». Затем в списке доступных веб-приложений выбираем требуемый APS-пакет и нажимаем «Установить».
При установке конечный пользователь выбирает целевой каталог, вводит пароли для доступа к базе данных и административной части сайта. Специальных знаний автоустановка не требует.

Приложения расположены в каталоге по разделам: Управление контентом, Блог, Галерея, Электронная коммерция, Электронное обучение, Форум, Календарные планы, Управление проектом и т.п.

Установка Livestreet

Нажав кнопку «Установить», Вы получаете через несколько секунд готовое установленное приложение CMS Livestreet или любое другое из каталога.

Livestreet

Мы рассмотрели весь путь APS-пакета — от его создания, до установки пользователем. Разумеется, в статье не охвачены все технические моменты. Это только краткий обзор использования APS-стандарта, а не детальная инструкция по созданию пакетов и их использованию.

Источник: http://habrahabr.ru/company/komtet/blog/96745/

Оставьте комментарий