Archive Сентябрь 2018

Удаление Alfresco

Alfresco — система достаточно хрупкая, в чем неоднократно убеждались его администраторы. Ошибки при редактировании файлов конфигурации, добавление альфа-версий программных модулей, случайное удаление или перемещение подпапок или файлов — все это легко может привести к тому, что при перезапуске Web-интерфейс Alfresco Share примет оранжевый цвет и откажется вас пускать с ошибкой «Службы недоступны или неверный пароль». Поэтому перед внесением любых изменений в производственный сервер Alfresco рекомендуется очень тщательно проверять их на тестовом сервере. А для сервера, который используется для разработки и предварительного тестирования программных модулей, очень рекомендуется регулярное создание резервных копий — и быть готовым к регулярной переустановке этого сервера. Для Alfresco это нормально.

Как удалить проблемный сервер Alfresco? Эта задача технически состоит из двух частей:

1) нужно остановить и удалить службы postgresql и tomcat;

2) нужно стереть папку alfresco-community со всем содержимым.

Вторая задача не представляет никаких проблем что под Windows, что под Linux. А вот первая часть немного отличается в зависимости от платформы.

Вообще разработчики Alfresco под обе платформы предусмотрели официальный деинсталлятор. Под Windows деинсталлятор можно найти в меню Пуск: Пуск | Alfresco Community | Удалить службу Alfresco CommunityСсылается этот ярлык на файл C:\alfresco-community\serviceinstall.bat с параметром UNINSTALL. Под Linux ярлыка не предусмотрено, но деинсталлятор есть: он представлен файлом uninstall.bin в каталоге opt/alfresco-community. Запускать его нужно из этого каталога.

Конечно, в первую очередь при удалении Alfresco стоит попробовать официальный деинсталлятор. Но работает он не всегда стабильно. Если он замер минут на 10 на этапе «Остановка служб» или «Удаление служб», то нужно прерывать его работу и удалять Alfresco вручную.

При удалении Afresco вручную нужно сделать три простых шага:

1) первый шаг — остановить службы Alfresco.

Под Linux эта операция выполняется при помощи команды

/opt/alfresco/alfresco.sh stop

Под Windows у вас вариантов для остановки служб Alfresco больше:

  • можно воспользоваться командой Остановить службу Alfresco Community в меню Пуск | Afresco Community;
  • можно воспользоваться стандартной оснасткой Службы в Панели управления Администрирование;
  • можно в командной строке (ее нужно открыть с правами администратора) выполнить команды

net stop alfrescoTomcat

net stop alfrescoPostgreSQL

В любом случае службы должны быть остановлены, прежде чем можно будет переходить к следующему этапу.

2) второй шаг — удалить службы Alfresco.

Под Linux это можно сделать при помощи команды systemctl.

Под Windows проще всего эту операцию произвести при помощи меню Пуск | Alfresco Community | Удалить службу Alfresco Community.

3) третий шаг — стереть папку с файлами Alfresco (вначале подумайте, нет остались ли там какие-то нужные вещи типа созданных вами файлов AMP или JAR, настроенных файлов конфигурации и т. п.). Под Linux по умолчанию Afresco помещается в каталог /opt/alfresco-communityпод Windows — в папку C:\alfresco-community.

Все, система почищена от предыдущей установки Alfresco.

Сервер Alfresco: службы и файлы

Alfresco Community Services установлены на нашем компьютере. Что на нем в результате изменилось?

Во-первых, появились две службы: PostgresSQL и Tomcat. В Linux их статус можно посмотреть при помощи специального скрипта alfresco.sh. Отметим, что скрипт alfresco.sh кроме параметра status может принимать также параметры stop и start. При разработке программных модулей для Alfresco перезапуск служб необходим при добавлении нового модуля, так что этим скриптом приходится пользоваться постоянно.

В Windows эти службы называются Alfresco PostgreSQL и Alfresco Tomcat соответственно, и работать с ними можно как из стандартной консоли Services, так и из специальной утилиты, которую можно найти в меню Пуск: Пуск | Alfresco Content Services | Alfresco Content Services Manager Tool.

Как несложно догадаться, служба PostgreSQL отвечает за сервер баз данных для Alfresco, а Tomcat — это сервер приложений, в котором реализована логика Alfresco. Упрощенно говоря, служба Tomcat — это сам Alfresco и есть. Первой, конечно, должна стартовать служба базы данных, что реализовано при помощи зависимости служб.

Во-вторых, после установки Alfresco у нас появляются две папки на диске: /opt/alfresco-community под Linux и C:\alfresco-community под Windows (указан путь по умолчанию, в ходе установки вы можете выбрать другой путь). В этих папках и лежат программные файлы, контент, индексы и все прочее, что имеет отношение к Alfresco.

Про эти папки и их содержание надо рассказать отдельно, поскольку со многими из них приходится работать:

  1. \alf_data — в этой папке находятся все данные Alfresco:
  • \contentstore — это папка для хранилища Alfresco. Собственно говоря, здесь и хранятся те документы, которые вы помещаете в Alfresco. Если вы в нее заглянете, то увидите набор подкаталогов, в которых находятся файлы с расширением .bin — эти файлы и составляют виртуальную файловую систему Alfresco. При нормальной работе Alfresco эта папка будет самой большой и ее размер будет составлять многие гигабайты. Конечно, на нее пойдет и основная нагрузка при работе с Alfresco.
    По умолчанию эта папка помещается на тот же диск, что и программные файлы Alfresco и операционной системы (в Windows — диск C), а это обычно не совсем то, что нужно администратору Alfresco. Поэтому одна из первых послеустановочных задач в производственной среде — перенести эту папку на другой диск (обычно выделенный под хранилище Alfresco отказоустойчивый RAID-массив). Проще всего произвести такой перенес следующим образом:

1) остановить службу Tomcat, чтобы освободить открытые ей файлы хранилища;

2) перенести содержимое папки contentstore на RAID-массив

3) смонтировать RAID-массив как эту папку и запустить службу Tomcat.

Так можно сделать как в Linux, так и в Windows.

Можно поступить и по другому: внести изменения в файлы конфигурации вместо монтирования папки.

  • /contentstore.deleted — как понятно из названия, в эту папку помещаются удаленные пользователем документы, которые в течение определенного времени можно восстановить. Можно сказать, что эта папка является аналогом Корзины. Нагрузки на нее почти нет, большая отказоустойчивость ей тоже не требуется, а места она может занимать много. Поэтому некоторые администраторы переносят ее на отдельный диск (теми же способами, которые были описаны для contentstore);
  • /keystore — эта папка предназначена для хранения SSL-ключей для шифрования контента в хранилище, а также скриптов и некоторых дополнительных файлов, которые предназначены для работы с ключами шифрования. Эта папка маленькая по размеру и нагрузки не создает, но, возможно, вам потребуется перенести ее в какое-либо защищенное место в соответствии с политиками безопасности вашего предприятия;
  • /oouser — эта папка нужна для работы подсистемы Open Office/Libre Office в Alfresco, где эта подсистема используется для преобразования файлов. В этой папке хранятся настройки пользователя, от имени которого производятся преобразования, кэш преобразований, информация о заблокированных на время преобразований файлах и т. п. Выполнять какие-то действия с этой папкой приходится крайне редко;
  • /postgresql — в этой папке находится база данных PostgreSQL, которую Alfresco использует для хранения некоторых настроек и метаданных (программные файлы PosgresSQL устанавливаются в другую папку). В отличие от многих других систем документооборота, Alfresco документы в базе данных не хранит, и поэтому эта папка большой не будет. Не будет она создавать и нагрузку на диск. Но при выполнении резервного копирования хранилища очень рекомендуется добавлять в резервную копию и эту папку;
  • /solr4 — эта папка хранит в себе полнотекстовые индексы для поиска в документах в хранилище Alfresco, которые созданы модулем Solr (сами программные файлы этого модуля находятся в другом каталоге). Эта папка, как и contentstore, обычно занимает много места на диске (в большинстве случаев — примерно 30-40 процентов от размера хранилища) и создает большую нагрузку на дисковую подсистему. В нагруженных производственных системах эту папку часто переносят на отдельный RAID-массив по отношению к хранилищу (и, конечно, переносят с диска, на котором находятся программные файлы Alfresco и на которым полнотекстовым индексам делать нечего). Механизм переноса — такой же, как был описан для папки contentstore;
  • amps и amps_share — эти две папки предназначены для размещение программных модулей AMP (Alfresco Module Package), расширяющих функциональность Alfresco. Сразу после установки в них уже будут присутствовать файлы AMP, конкретный набор которых зависит от компонентов, выбранных во время установки (например, файл alfresco-googledocs-repo-3.0.3.amp появляется, если вы выбрали установку дополнительного модуля для работы с Google Docs). Файлы дополнительных программных модулей можно добавлять в Alfresco и напрямую (помещая их в соответствующие подпапки внутри каталога Tomcat), но удобнее делать это, предварительно упаковав их в формат AMP и поместив в папки amps или amps_share (для завершения установки, кроме копирования файлов AMP, потребуется еще запустить файл apply_amps.sh или apply_amps.bat из каталога /bin). Файлы AMP обеспечивают модульность добавления и удаления программных компонентов и существенно упрощают эту процедуру.
    В каталог amps_share положено помещать модули AMP, которые основаны на объектной модели Aikau и обеспечивают возможности работы с графическим интерфейсом (например, такие файлы AMP могут добавлять новые веб-страницы и дашлеты). С технической точки зрения, они добавляют новые элементы (расширяют) файл share.war.

В каталог amps помещаются файлы AMP, которые описывают дополнительную программную логику при работе с контентом (не ориентированы на работу с графическим интерфейсом). Такие файлы AMP основаны на типе проектов Maven, который называется Repository extension project (Проект расширения репозитария) и с технической точки зрения они расширяют пакет alfresco.war. Подробнее про это будет говориться в разделах про программирование в Alfresco;

  • /bin — в этой папке лежат несколько утилит, предназначенных для работы с пакетами AMP. Подробнее про эти утилиты будет говориться в разделе, посвященном развертыванию и удалению пакетов AMP;
  • /imagemagick — в этой папке лежат программные модули, необходимые для работы компонента ImageMagick, предназначенного для работы с файлами изображений, и, в частности, их переконвертации между форматами;
  • /java — в эту папку помещаются программные файлы Java Runtime Environment (если они устанавливаются вместе с Alfresco);
  • /libreoffice — папка для программных файлов LibreOffice, которые будут использоваться для конвертации документов различных форматов в хранилище Alfresco;
  • /licenses — папка, в которую помещаются лицензионные соглашения Alfresco;
  • /modules — папка, в которой находятся две подпапки: platform и share. Эти подпапки можно считать отчасти аналогами папок amps и amps_share, но в них положено помещать пакеты расширений Alfresco в более современном и более рекомендованном по сравнению с AMP формате JAR (по историческим причинам те пакеты расширений, которые идут в поставке Alfresco, все-таки используют устаревший формат AMP). Подробнее про работу с пакетами расширений в формате JAR будет рассказано в разделе про программирование под Alfresco;
  • /postgresql — в эту папку помещаются программные файлы сервера баз данных PostgreSQL, устанавливаемого вместе с Alfresco (сама база данных при этом находится в папке /alf_data/postgresql;
  • /scripts — в этой папке находится единственный файл setenv.sh (или setenv.bat), в зависимости от платформы, который устанавливает переменные окружения для папок Alfresco, GhostScript и ImageMagick и используется при запуске службы Alfresco Tomcat;
  • /solr4 — в этой папке находятся программные файлы компонента Solr, который ответственен за полнотекстовый поиск и создание полнотекстовых индексов;
  • /tomcat — в этой папке находятся программные файлы сервера Tomcat, программные модули, при помощи которых реализована сама система Alfresco (большая часть их находится в подкаталоге /webapps в формате архивов WAR), файлы конфигурации Afresco (в том числе главный файл конфигурации alfresco-global.properties, который находится в подкаталоге /shared/classes), логи Alfresco и многое другое. В эту папку придется обращаться постоянно.

Собственно говоря, две службы и этот набор папок и файлов в каталоге /opt/alfresco-community или C:\alfresco-community (в зависимости от платформы) и составляют то, что появилось после установки Alfresco на компьютере, больше ничего нет. И это надо учитывать при удалении Alfresco. Но про это — в следующем разделе.

Установка Alfresco под Windows

Установка бесплатного Alfresco Community Edition и платного Alfresco Content Services под Windows производится практически одинаково и не представляет никаких сложностей. В этом разделе будет показана установка бесплатного Alfresco Community Edition.

Установку Alfresco необходимо производить из под учетной записи с административными правами на компьютер Windows.

Пошагово процесс установки выглядит так:

  1. Скачиваем со страницы https://www.alfresco.com/products/community/download файл инсталлятора Alfresco. В текущей версии на момент написания этой книги он назывался alfresco-community-installer-201704-win-x64.exe и занимал примерно 800 Мб.
  2. Запускаем этот файл и в открывшемся окне Language Selection выбираем язык установки (см. рис. 1). Я выбрал русский язык.

Рис. 1. Окно Language Selection (Выбор языка)

3. На экране Добро пожаловать нажимаем Далее и затем в окне Тип установки выбираем тип установки (см. рис. 2).

Рис. 2. Выбор типа установки Alfresco Community Edition

В принципе, нас вполне устроит и вариант Простая установка, в котором для параметров будут выбраны значения по умолчанию. Но для того, чтобы эти параметры и значения показать, я выбираю пункт Дополнительно. Откроется окно Выбор компонентов.

4. Те компоненты, которые можно выбрать в окне Выбор компонентов, показаны на рис. 3.

Рис. 3. Окно Выбор компонентов при установке Alfresco

Отметим некоторые моменты, связанные с этими компонентами:

  • Java — это среда выполнения Java, необходимая для работы программных модулей Alfresco. Отметим, что с Alfresco идет «правильная версия» Java, которая необходима для работы текущей версии Alfresco. Если вы, например, в процессе обновления замените эту версию на более свежую или вообще попытаетесь использовать другую версию Java, могут возникнуть определенные проблемы (обычно они возникают не сразу и труднодиагностируемы, что особенно коварно). Поэтому рекомендуется внимательно следить за версией Java и отключить ее автообновление, если это разрешено политикой безопасности вашего предприятия;
  • PostgreSQL — это база данных, которая используется для хранения некоторых метаданных и настроек Alfresco. Сами документы в ней не хранятся и нагрузка на нее обычно невелика (да и размер базы данных очень скромный). В бесплатном Alfresco Community Edition можно использовать только бесплатные базы данных (PostgreSQL, MySQL, MariaDB), а в платном Alfresco Content Services — еще и коммерческие (Oracle, Microsoft SQL Server, IBM DB/2 и т. п.). В инсталляторе присутствует только PostgreSQL. Поэтому если вы хотите использовать любой сервер баз данных, отличный от PostgreSQL, его установку и настройку придется проводить вручную.

За все время работы мне ни разу не приходилось видеть, чтобы с Alfresco использовалась база данных, отличная от Postgres: как правило, возиться с установкой другого сервера баз данных нет никакой необходимости. Поэтому смело оставляем Postgres (ее можно установить изначально, а потом, после установки уже в случае необходимости перевести Alfresco на использование другой базы данных).

  • LibreOffice — набор библиотек LibreOffice, необходимый для конвертации разных форматов документов. Сами приложения LibreOffice установлены не будут, поэтому если вам потребуются LibreOffice Writer, LibreOffice Calc и т. п., их можно будет установить потом;

  • Alfresco Community — непосредственно само ядро системы документооборота Alfresco. Флажок напротив этого пункта снять нельзя;

  • Solr1 и Solr4 — это подсистемы Alfresco, которые обеспечивают возможность полнотекстового поиска для пользователей по документам в хранилище. Solr4 — это предлагаемая по умолчанию и наиболее рекомендованная версия системы полнотекстового поиска. Solr1 рекомендуется выбирать только для обеспечения совместимости со старыми версиями Alfresco;

  • Alfresco Office Services — это компонент, который позволяет приложениям, таким, как Word и Excel из Microsoft Office, обращаться к документам в хранилище Alfresco, используя те же протоколы, что и при обращении на Microsoft SharePoint Portal Server. В большинстве ситуаций рекомендуется его поставить: в этом случае в вашем распоряжении будет простой способ обеспечения взаимодействия приложений Microsoft Office и Alfresco. Проблемы с этим компонентом могут возникнуть в сертифицированных защищенных средах, поскольку этот модуль является проприетарным и с открытыми исходными кодами не поставляется;

  • Web Quick Start — это учебный Web-сайт, который будет для тестовых и учебных целей изначально предустановлен в вашей системе Alfresco (с готовым набором пользователей, документов, бизнес-процессов и т. п.). На серверах, предназначенных для целей разработки, тестирования и обучения, его вполне можно оставить в качестве образца. На производственных серверах этот компонент, конечно, не нужен;

  • Интеграция с Документами Google — это возможность установить компонент, отвечающий за взаимодействие с Google Docs. Этот программный модуль позволяет перемещать и копировать документы между хранилищем Alfresco и папками пользователя в Google Docs, а также использовать средства Google Docs для редактирования документов Microsoft Office и LibreOffice в хранилище Alfresco при доступе к ним пользователей через Web-интерфейс. В большинстве организаций сервер Alfresco не имеет прямого выхода в Интернет, и поэтому этот модуль работать не будет, но в некоторых ситуациях может и пригодиться.

5. На следующем экране, который называется Каталог для установки (см. 4), вы можете выбрать папку для размещения файлов Alfresco.

Рис. 4 Экран Каталог для установки Alfresco

В подпапки внутри этой папки по умолчанию будет помещено все, что устанавливается вместе с Alfresco:

  • само программное обеспечение Alfresco, сервера Tomcat, PostgreSQL и Solr вместе со всеми дополнительными программными модулями;
  • хранилище документов Alfresco и полнотекстовые индексы;
  • база данных PostgreSQL;
  • и многое другое.

Конечно, в большинстве случаев нам не нужно, чтобы все это вместе лежало на диске C. Однако инсталлятор не позволяет нам с самого начала разнести компоненты Alfresco по нужным нам дискам. Поэтому принимаем то, что предлагается по умолчанию, а перенос хранилища документов и полнотекстовых индексов на выделенные для них RAID-массивы произведем уже после завершения установки в качестве первых послеустановочных задач.

  1. На следующем экране, который называется Параметры сервера базы данных (см. рис. 5) вы можете настроить единственный параметр — номер порта, по которому будет производиться обращение к базе данных PostgreSQL.

  1. Рис. 5 Окно Параметры сервера баз данных инсталлятора AlfrescoПо умолчанию используется порт 5432, и менять его нужно только в одном случае: если этот порт занят на данном компьютере уже установленным другим экземпляром PostgreSQL, но это случается достаточно редко. Если Alfresco и используемый ими сервер PostgreSQL расположены на одном компьютере (как обычно и бывает), то этот порт открывать на брандмауэре не нужно.

7. Следующий экран установщика называется Конфигурация портов Tomcat (см рис. 6)

Про параметры, представленные на этом экране, необходимо поговорить подробнее:

  • Домен Web-сервера — это IP-адрес или имя хоста (которое должно разрешаться в IP-адрес через сервер DNS), на который будет отзываться сервер Tomcat, обслуживающий Alfresco (упрощенно можно считать, что сам сервер Alfresco). По умолчанию здесь предлагается использовать IP-адрес 127.0.0.1, что не совсем хорошо, поскольку этот адрес является адресом для обращения к самому себе, и с другого компьютера по нему будет не обратиться. Лучше всего в этом поле прописать реальный статический IP-адрес, присвоенный данному компьютеру, или, как в нашем примере, имя хоста, которое разрешается в данный IP-адрес через сервер DNS. Это имя инсталлятор запишет в создаваемый им ярлык Alfresco Share, через который можно будет получить доступ к Web-интерфейсу администрирования. Его же смогут применять пользователи при обращении к серверу Alfresco из Web-браузера;
    • Порт сервера Tomcat — этот порт, по которому будет производиться обращение к Web-интерфейсу Alfresco администраторами и пользователям. Этот номер также прописывается в ярлык Alfresco Share. Чтобы можно было производить обращение к других компьютеров, на брандмауэре на сервере Alfresco этот порт должен быть открыт. Менять его на другой обычно есть смысл только тогда, когда он уже занят другим работающим приложением. На некоторых предприятиях его меняют на стандартный для HTTP 80 порт, чтобы можно было обращаться на Web-сайт Alfresco без указания порта. Но опытные специалисты по Alfresco рекомендуют оставить здесь при установке порт 8080, а затем уже настроить перенаправление с порта 80 на 8080 средствами AJP (Apache JServ Protocol) или прописав такое перенаправление в файле /tomcat/conf/server.xml. Порт 8080 прошит во множестве конфигурационных файлов Alfresco и даже в некоторых программных модулях, поэтому лучше сохранить возможность обращения по этому порту;
    • Порт отключения Tomcat — это номер порта, по которому можно остановить службу Tomcat, отключив тем самым сервер Alfresco. Используется он очень редко, и изменять его большого смысла нет;
    • Порт Tomcat SSL — это порт, на котором Tomcat будет отзываться при обращении по протоколу HTTPS, когда все взаимодействие между клиентом и сервером шифруется. Большая часть серверов Alfresco, работающих в производственной среде, взаимодействует с пользователями именно по этому протоколу (чтобы сделать невозможным перехват данных при передаче по сети), однако сразу после установки включить протокол не получится: нужно сгенерировать сертификат, привязать его к серверу Tomcat, обслуживающему Alfresco, а также объяснить клиентским компьютерам, что этот сертификат — правильный, выдан доверенным центром сертификации и с ним можно работать. О том, как настроить Tomcat на использование протокола HTTPS, будет рассказано в отдельном разделе.
      Заметим также, что по умолчанию для HTTPS используется порт 443, и если вы хотите использовать обращение на Alfresco без указания порта, лучше настроить перенаправление 443 порта на 8443 (аналогично HTTP), оставив при этом возможность обращения и по порту 8443. Конечно, в инсталляторе при этом лучше оставить порт 8443, предлагаемый по умолчанию.
      Не забудьте также открыть порт 8443 в брандмауэре на сервере Alfresco.
    • AJP-порт Tomcat — это порт, по которому к серверу Tomcat, обслуживающему Alfresco, будут производиться обращения по протоколу Apache JServ Protocol. Чаще всего этот протокол для Alfresco используется для того, чтобы развернуть Web-сервер, непосредственно отвечающий на запросы клиентов, на отдельном компьютере (или нескольких компьютерах), сняв таким образом часть нагрузки с сервера Alfresco и при необходимости обеспечив балансировку нагрузки. Для наших целей оставим для этого порта значение, предлагаемое по умолчанию — 8009.

    8. На экране, который называется Порт сервера LibreOffice (см. рис. 7), вам будет предложено выбрать порт, на котором будет отзываться сервер LibreOffice (для целей Alfresco будем считать, что это специальный программный модуль, ответственный за конвертацию файлов). Порт, используемый по умолчанию (8100) меняется крайне редко, обычно только тогда, когда он уже занят другим приложением.

Рис. 7 Экран Порт сервера LibreOffice инсталлятора Alfresco

9. Следующий экран называется Порт сервера FTP (см рис. 8). Как понятно по названию, здесь определяется порт, на который будет отзываться встроенный в Alfresco сервер FTP. Через протокол FTP клиенты могут обращаться к документам в хранилище Alfresco (добавлять документы, скачивать их к себе для открытия и т. п.) Протокол FTP — не самый рекомендованный протокол для взаимодействия Alfresco с клиентами, но он поддерживается и в некоторых ситуациях может пригодиться. Инсталлятор Alfresco по умолчанию предлагает использовать стандартный порт 21 протокола FTP, и обычно менять значение, предлагаемое по умолчанию, не нужно.

Рис. 8 Экран Порт FTP инсталлятора Alfresco

10. На следующем экране, который называется Пароль администратора (см. рис. 9), вам потребуется указать пароль учетной записи Admin — единственной учетной записи, которая создается в Alfresco по умолчанию установщиком и которая обладает полными правами на сервер Alfresco. Конечно, вы потом сможете добавить и другие административные учебные записи, но для этого вам потребуется эта изначальная учетная запись Admin. Каких-либо требований по сложности пароля администратора Alfresco не предъявляет, но лучше, чтобы пароль соответствовал вашим корпоративным стандартам.

Рис. 9. Экран Пароль администратора инсталлятора Alfresco

11. На следующем экране, который называется Конфигурация запуска служб (рис. 10), вам необходимо выбрать режим запуска служб: ручной или автоматический, когда службы Alfresco стартуют автоматически при запуске операционной системы. Конечно, в большинстве случаев выбирается автоматический режим запуска.

Рис. 10 Экран Конфигурация запуска служб инсталлятора Alfresco

12. Затем вы увидите экран Программа готова для установки, на котором можно нажать на кнопку Далее и начнется непосредственно установка Alfresco на ваш компьютер. Сама установка занимает обычно 5-10 минут.
13. После завершения установки вам будет показано окно, аналогичное представленному на рис. 11.

Рис. 11 Завершение установки Alfresco
Если вы оставите флажок Запустить Alfresco Community и нажмете Завершить, то запустятся службы Alfresco и система будет готова к работе. Проверить работоспособность Alfresco можно, например, если в меню Start найти папку Alfresco Community и щелкнуть в ней по ярлыку Alfresco Share. Откроется окно броузера с загруженной страницей входа Web-интерфейса Alfresco (см. рис. 12).

Рис. 12 Окно входа Alfresco
Обратите внимание на цвет фона в этом окне. Если он голубой, то Alfresco работает без проблем. Если цвет фона оранжевый, это значит, что у служб Alfresco зафиксированы какие-то ошибки, которые желательно проверить по журналам событий и устранить.
14. В окне входа нужно ввести имя пользователя Admin и тот пароль, который вы определили в ходе установки Alfresco. После этого откроется Web-интерфейс Alfresco (см. рис. 13).

Рис. 13 Окно Web-интерфейса Alfresco

Выбор и настройка операционной системы для Alfresco

Alfresco версии 5.2, которая была текущей на момент написания этого раздела, поддерживает следующие операционные системы:

  • Red Hat Enterprise Linux 7.2 x64

  • Windows Server 2012 R2 x64

  • CentOS 7 x64

  • Ubuntu 16.04 LTS x64

  • SUSE 12.0 SP1 x64

  • Oracle Solaris 11.3 x64

Что можно сказать по этому поводу?

Большая часть известных автору развертываний Alfresco в производственной и тестовой средах на российских предприятиях и организациях производится на CentOS. Причина проста: для бесплатной Alfresco использовать платный Windows Server не совсем логично (а, кроме того, нужно учитывать и то, что Alfresco часто развертывается в рамках программы импортозамещения). А из дистрибутивов Linux разработчики Alfresco совершенно очевидно ориентируются на Red Hat Enterprise Linux. Учитывая, что Red Hat Enterprise Linux является платным, а CentOS — это, упрощенно говоря, бесплатный клон Red Hat, выбор CentOS в качестве оптимальной платформы при развертывании Alfresco представляется вполне обоснованным. Но ничего не мешает использовать для развертывания Alfresco и другие дистрибутивы Linux, в том числе сертифицированные ФСТЭК ALT Linux и ROSA Linux. Развертывание Alfresco и работа с ним на этих платформах практически не отличается от работы с Alfresco на CentOS. В данном курсе мы будем ориентироваться на CentOS 7.

Для целей разработки же чаще всего Alfresco устанавливается на привычный Windows, при этом, как правило, на клиентские операционные системы (Windows 7, 8, 10). Файлы AMP и JAR, в которые обычно упаковываются созданные разработчиками программные модули, в Alfresco под Windows работают точно так же, как и под Linux, а предварительные тесты/проверки работоспособности проще проводить на своем собственном компьютере. Заметим, что добавление программных модулей чаще всего требует рестарта служб Alfresco (а если программный модуль оказался с ошибками, то Alfresco просто не запустится без его удаления), и в этой ситуации лучше, чтобы разработчики работали с разными тестовыми серверами Alfresco и не мешали друг другу.

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

С точки зрения необходимых для развертывания Alfresco компонентов операционной системы официальный список выглядит так:

  1. Среда выполнения Java (Java Runtime Environment, JRE)
  2. Сервер приложений (Tomcat)
  3. База данных (PostgreSQL)
  4. LibreOffice (только некоторые библиотеки, необходимые для конвертации документов в хранилище, полный LibreOffice)
  5. ImageMagick (этот программный продукт необходим для конвертации между форматами изображений в хранилище Alfresco)
  6. GhostScript (для работы с форматами Postscript и PDF)

Заметим, что все эти программные продукты включены в инсталлятор Alfresco и устанавливаются в ходе его работы совершенно автоматически, с требуемым набором компонентов и необходимыми настройками. Но про Java необходимо уточнить некоторые моменты.

Для Alfresco очень рекомендуется, чтобы версия Java точно соответствовала той, которая принята в качестве текущей для данной версии Alfresco. Например, для версии Alfresco 5.2, которая рассматривается в данной книге, текущей версией является, согласно документации, Java 1.8.0_111, что означает: Java 8 Update 111. Официально в документации написано, что требуется абстрактная Java 8 (без номера конкретного апдейта)но, как показывает опыт, если версия Java не будет точно соответствовать данной версии Alfresco, то, например, при добавлении своих программных модулей можно нарваться на неприятные сюрпризы.

При развертывании Alfresco в производственной среде достаточно проконтролировать, чтобы перед установкой других версий Java на этом компьютере не было. Установщик сам добавит требуемую версию Java на данный компьютер в процессе установки Alfresco. А после установки лучше запретить автоматическое обновление Java. Эта рекомендация является, конечно, неофициальной (производитель Java компания Oracle официально рекомендует производить регулярное обновление Java), но следование ей, как показывает опыт, может уберечь вас от загадочных и труднодиагностируемых проблем.

При развертывании Alfresco на компьютере для разработчиков лучше заранее установить Java в составе Java Development Kit (JDK) требуемой версии (например, Java SE Development Kit 8, Update 111и так же отключить автоматическое обновление Java. Дополнительные компоненты, которые входят в состав JDK, пригодятся вам в процессе разработки. Если же вам необходимо на данном компьютере использовать несколько версий Java, не забудьте указать использование правильной версии Java в средствах разработки под Alfresco, таких, как Spring Tool Suite (STS).

Рекомендуется также, как для любых серверов, настроить протокол TCP/IP на сервере Alfresco на использование статического IP-адреса (вместо DHCP) и, при необходимости, открыть на брандмауэре порты 8080 (HTTP для Tomcat) и 8443 (HTTPS для Tomcat). По этим портам будет производиться обращение на ваше сервер Alfresco с удаленных компьютеров.

Подведем итоги. Перед установкой Alfresco в производственной среде достаточно чистой операционной системы (и после завершения установки неофициально рекомендуется отменить автоматическое обновление Java). Перед установкой Alfresco на компьютер разработчика рекомендуется установить требуемую версию Java в составе JDK и так же отключить автоматическое обновление Java. Больше ничего делать не нужно — все прочие компоненты будут добавлены в ходе работы установщика Alfresco.

Выбор оборудования под Alfresco

Мы выбрали версию Alfresco, которую будем развертывать, продумали варианты с лицензированием. Следующая наша задача — подобрать подходящее оборудование.

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

Надо сказать, что нагрузка на сервер Alfresco практически полностью зависит от количества ваших пользователей и их активности. Заранее эти моменты просчитать обычно довольно сложно. Но симулировать нагрузку от определенного количества пользователей, выполняющих определенные действия на сервере, и посмотреть, как с этой нагрузкой справляется определенная конфигурация оборудования, вполне возможно. Для этих целей рекомендуется использовать специальное программное обеспечение с открытым исходным кодом, которое называется Alfresco Benchmark. Найти его можно здесь:

https://github.com/AlfrescoBenchmark/alfresco-benchmark

Далее посмотрим на необходимое Alfresco оборудование по компонентам.

С точки зрения центрального процессора Alfresco требуется 64-разрядный процессор с минимальной тактовой частотой 2.5 ГГц. В принципе, тактовая частота при установке не проверяется, но при меньших значениях могут возникнуть проблемы с производительностью. Основной код Alfresco работает внутри виртуальной машины Java, которая хорошо распараллеливается на множество потоков, поэтому многопроцессорность и многоядерность приветствуется (с учетом того, что платная версия лицензируется по количеству процессоров).

С точки зрения оперативной памяти минимальное допустимое значение — 4 Гбайт. При меньшем количестве оперативной памяти Alfresco не отказывается устанавливаться, но начинает выдавать при установке предупреждающие сообщения.

По опыту заметим, что 4 Гбайт оперативной памяти маловато даже для тестовой среды. Работать с таким количеством оперативной памяти очень некомфортно. Для тестового сервера лучше использовать 8 Гбайт оперативной памяти (такого же количества вполне хватит на рабочий сервер, обслуживающий несколько десятков пользователей). А вот для рабочего развертывания от 100 пользователей лучше начинать с 16 Гбайт оперативной памяти и потом добавлять ее по мере необходимости.

Многие специалисты отмечают бережное обращение Alfresco с оперативной памятью: при прочих равных условиях ей обычно требуется меньше оперативной памяти, чем конкурирующим системам документооборота.

Жесткий диск — эта подсистема, к которой Alfresco предъявляет наибольшие требования, как с точки зрения размера, так и с точки зрения производительности. Отметим некоторые моменты, связанные с работой подсистемы жесткого диска для Alfresco:

  • основная нагрузка идет на тот диск, на котором расположены файлы хранилища Alfresco (нагрузки на диски, где лежат программные файлы Alfresco и операционной системы и база данных PostgreSQL, практически нет). При этом по умолчанию файлы хранилища Alfresco помещаются на тот же диск, что и программные файлы Alfresco. Поэтому одна из первых послеустановочных задач — перенести файлы хранилища Alfresco на другой диск (например, на выделенный для этой цели RAID-массив);
  • если вы развернули сервер Alfresco в виртуальной среде, диск для хранилища документов рекомендуется отставить физическим, напрямую подключив физический диск к виртуальному серверу (без промежуточного уровня в виде файлов виртуальных дисков в формате VMDK, VHD и т. п.). Это немного, но ускорит работу хранилища;
  • необходимый размер жесткого диска можно примерно прикинуть, исходя из размера дисковых квот для одного пользователя и количества пользователя (плюс обязательный резерв в 25-30 процентов минимум). Кроме того, надо учесть, что практически во всех хранилищах Alfresco используется полнотекстовое индексирование Solr, а на полнотекстовые индексы требуется еще 30-40 процентов дискового пространства (от того, которое занимает хранилище с документами). При этом полнотекстовые индексы вполне можно (а если у вас наблюдаются проблемы с производительностью дисковой подсистемы, то и нужно) поместить на отдельный диск/RAID массив.

Подробно про пороговые значения счетчиков производительности дисковой подсистемы и оптимизацию производительности будет рассказано в отдельном разделе. Пока же просто заметим, что при составлении бюджета на развертывание Alfresco на RAID-массиве под хранилище документов лучше не экономить.

К сетевой подсистеме каких-либо особых требований Alfresco не предъявляет. Основное взаимодействие с пользователями обычно идет по протоколам HTTP/HTTPS, а эти протоколы устойчиво работают и с низкой полосой пропускания. Если же низкая пропускная способность сети обусловлена объективным причинами (например, часть пользователей подключены по спутниковому каналу), есть смысл при развертывании Alfresco подумать про использование терминального доступа.

Лицензирование Alfresco

Одно из главных преимуществ Alfresco заключается в бесплатности этого программного продукта, а также в том, что этот программный продукт относится к категории продуктов с открытым исходным кодом. Поэтому платные версии Alfresco на предприятиях можно встретить не так часто. Тем не менее во время обучения вопросы по лицензированию платных версий Alfresco задают достаточно часто. Поэтому рассмотрим эти вопросы в этом разделе.

Первое, что нужно сказать — Alfresco официально не раскрывает информацию о стоимости своих программных продуктов. Оставьте заявку на сайте, после этого отдел продаж Alfresco запросит у вас полную информацию по вашему предприятию и предложит вам ценовые условия. Понятно, что в такой ситуации стоимость и условия лицензирования могут поменяться в любой момент, поэтому информация в этом разделе предоставляется «как есть», исходя из ситуации на момент написания этого раздела.

https://www.alfresco.com/platform/pricing

Принципы лицензирования Alfresco Content Services достаточно сильно отличаются от принципов лицензирования других систем документооборота. Если чаще всего системы документооборота лицензируются по количеству пользователей, то для Alfresco Content Services количество пользователей не имеет значение. Лицензирование Alfresco Content Services производится:

1) на процессор (количество ядер в процессоре при этом значения не имеет)

2) на определенное время.

Годовая лицензия на процессор для Alfresco стоит примерно 15 тыс. долларов США. Как уже говорилось, главное, что вы при этом получаете — возможность использовать отказоустойчивый кластер Alfresco (поскольку для него нужно минимум два сервера, минимальная стоимость лицензий для такой конфигурации будет примерна равна 30 тыс. долларов в год), дополнительные утилиты администрирования и поддержку Alfresco. Стоит оно того или лучше использовать бесплатный вариант Alfresco Community Edition — принимать решение вам.

Система продуктов Alfresco

Для тех, кто впервые сталкивается с Alfresco, иногда бывает непросто разобраться, что стоит за теми или иными названиями, и, соответственно, бывает сложно понять, что нужно скачивать и устанавливать. В этом разделе мы постараемся представить систему продуктов Alfresco наиболее понятным образом.

Весь набор программных продуктов называется Alfresco Digital Business Platform — платформа цифрового бизнес Alfresco. Этот набор разделяется на две основные группы продуктов:

  1. Alfresco ECM (Enterprise Content Management). В эту группу входят продукты, непосредственно относящиеся к системе документооборота:
  • Alfresco Community Edition — бесплатная система документооборота Alfresco, которая и устанавливается в большинстве случаев;
  • Alfresco Content Services — платный вариант системы документооборота (отличия представлены в предыдущем разделе). Alfresco Content Services, в свою очередь, могут быть представлены вам в нескольких вариантах (Starter Edition, Business Edition и Enterprise Edition) с разным набором возможностей. Здесь возможности этих редакций рассматриваться не будут, это можно сделать самостоятельно, зайдя на страницу https://www.alfresco.com/platform/pricing.
  • Alfresco Governance Services (также используется название Alfresco RM, от Records Management) — специальный платный вариант системы документооборота Alfresco, нацеленный на использование в государственных органах США и гарантированно соответствующий стандарту безопасности DoD 5015.02. С технической точки зрения этот вариант отличается прежде всего заранее предустановленной и настроенной системой аудита (откуда и название Records Management — управление записями аудита);
  • Alfresco One — облачный вариант Alfresco (который можно использовать не только для чисто облачного, но и для гибридного развертывания, когда сервера в облаке Alfresco сосуществуют с серверами Alfresco на предприятии). В этом случае вы можете арендовать мощности хранилищ Alfresco в облаке и обращаться к ним через Интернет.
  1. Alfresco BPM (Business Process Management)В эту группу входят программные продукты, относящиеся к управлению бизнес-процессами:

    • Activity — бесплатный (и с открытым исходным кодом) программный продукт, представляющий из себя ядро для работы с бизнес-процессами (объектами workflow). При скачивании его с сайта Alfresco вы будете переведены на сайт Activity;

    • Alfresco Process Services — платный программный продукт, построенный на ядре Activity. Он отличается дополнительными функциональными возможностями по сравнению с Alfresco, а также наличием мощного графического средства визуальной разработки бизнес процессов. Эта система изначально заточена под интеграцию с Alfresco, и, в частности, в ней с самого начала присутствует большое количество действий, нацеленных на работу с документами в хранилище Alfresco.

Заметим, что самое базовое ядро для работы с бизнес-процессами прошито изначально внутрь продуктов Alfresco ECM (Community Edition и Content Services). Элементарные возможности работы с workflow доступны изначально «из коробки» после установки системы документооборота Alfresco. А вот для дополнительных возможностей (которых достаточно много) вам уже потребуется дополнительно развернуть либо Activity, либо полнофункциональные Alfresco Process Services.

Продукты, которые перечислены выше, представляют основу системы Alfresco. Но, как любая система с открытым исходным кодом, для Alfresco предусмотрено огромное количество расширений и дополнительных средств (утилит, средств разработки и т. п.). некоторые из них можно найти в официальном каталоге дополнений Alfresco (https://addons.alfresco.com/), другие придется разыскивать в Интернете. Некоторые их этих дополнений будут рассмотрены в следующих разделах.

Отличия бесплатной и платной версии Alfresco: Alfresco Community Edition и Alfresco Content Services

Прежде, чем приступать к развертыванию системы документооборота Alfresco, необходимо принять решение о том, какая редакция Alfresco будет у вас использоваться и какой набор модулей вам нужен.

Главный выбор нужно сделать между бесплатной и платной версиями. Бесплатная версия называется Alfresco Community Edition и свободно доступна для скачивания по ссылке:

https://www.alfresco.com/products/community/download

Платная версия называется Alfresco Content Services и так же доступна для скачивания по ссылке:

https://www.alfresco.com/platform/content-services-ecm/trial/download

Но работать эта версия будет уже в пробном режиме и только в течение 30 дней с момента установки. При этом проверяются настройки даты в операционной системе компьютера, на котором установлены Alfresco Content Services.

Alfresco Content Services разделяются еще на три редакции (editions): Starter Edition, Business Edition и Enterprise Edition. Подробно вдаваться в различия между ними мы не будем (просмотреть эти отличия можно самостоятельно на странице https://www.alfresco.com/platform/pricing), вся приведенная ниже информация об отличиях между бесплатной и платной версиями относится к самой полной полной платной версии Alfresco Content Services Enterprise Edition.

Ранее платный вариант Alfresco, который сейчас называется Alfresco Content Services, назывался Alfresco Enterprise. По старой памяти это называние кое-где сохранилось и в документации, и в программном коде/названии папок, и на форумах.

Конечно, платная и бесплатная редакция отличаются друг от друга не только ценой (про лицензирование будет рассказано в следующих разделах), но и функциональными возможностями. Ниже представлен список того, чем отличаются платный Alfresco Content Services от бесплатного Alfresco Community Edition:

  • техническая поддержка от производителя, пакеты обновлений и хот-фиксы;
  • доступ к дополнительной базе знаний Alfrescoдоступной только подписчикам платной версии;
  • возможность использования коммерческих серверов баз данных, таких как Oracle, Microsoft SQL Server и IBM DB2. В бесплатной версии могут использоваться только бесплатные СУБД (PostgreSQL, MySQL, MariaDB). Отметим, что Alfresco хранит на сервере баз данных только некоторые настройки и метаданные, хранение самого контента в виде документов производится не в базе данных (как это сделано, например, в SharePoint), а в виртуальной файловой системе. Именно на диски, где размещены файлы виртуальной файловой системы, и идет основная нагрузка при работе Alfresco. На сервер баз данных нагрузки практически нет, поэтому бесплатный PostgreSQL, устанавливаемый вместе с обеими версиями Alfresco по умолчаниюпрактически во всех случаях вполне удовлетворяет всем потребностям. Смысла приобретать для Alfresco еще и лицензии на Microsoft SQL Server или Oracle обычно нет никакого;
  • возможность использования альтернативных серверов приложений. По умолчанию при установке Alfresco устанавливается сервер приложений (его также называют сервером бизнес-логики) Tomcat, на который завязана вся программная логика (и все программные модули) системы документооборота. При использовании платного Alfresco Content Services вы получаете возможность установить вместо Tomcat другие серверы приложений — JBoss, Oracle WebLogic Server или IBM WebShere. Однако при использовании любого другого сервера приложений, кроме Tomcat, вы получаете дополнительную головную боль как при конфигурировании Alfresco, так и при разработке дополнительных программных модулей (поскольку вся документация и все примеры ориентированы именно на Tomcat). Кроме того, наличия Tomcat требует предустановленная в Alfresco система полнотекстового поиска Solr. Поэтому примеров применения альтернативных серверов приложений для Alfresco в производственной среде я пока не встречал;
  • возможность создания отказоустойчивых кластеров средствами Alfresco. Это отличие реализуется, помимо всего прочего, при помощи архитектурного отличия между платным Content Services и бесплатным Community Edition: в платной версии реализован постоянный кэш тикетов URL, а в бесплатной — нет. За счет постоянного кэша в некоторых ситуациях переключение между узлами кластеров происходит совершенно прозрачно для пользователей, без какого-то влияния на их работу. Для многих предприятий именно функциональные возможности, связанные с обеспечением отказоустойчивости Alfresco и возможностью создания кластеров, являются самым важным отличием между платной и бесплатной версией. Однако заметим, что чаще всего сервер Alfresco устанавливается в виртуальную среду и у вас есть возможность обеспечить его работу в отказоустойчивом кластере средствами среды виртуализации (например, VMWare или Hyper-V). Стоит ли возможность создавать отказоустойчивые кластеры Alfresco покупки платной лицензии — решать вам;
  • возможность использовать шифрованные хранилища документов и, таким образом, производить шифрование как содержимого документов, так и метаданных. При применении этого функционала используются два алгоритма шифрования. При помещении любого документа в шифрованное хранилище генерируется симметричный ключ (при помощи которого и производится шифрование), а сам симметричный ключ шифруется при помощи асимметричного ключа RSA. Таким образом, обеспечивается и высокая производительность при помощи симметричных ключей, и высокая защищенность при помощи ключей асимметричных. Однако заметим, что встроенный функционал шифрования Alfresco Content Services ФАПСИ/ФСТЭК не сертифицирован и по этой причине в организациях, в которых требуется сертифицированное защищенное хранение данных, лучше использовать дополнительные сертифицированные средства защиты. Кроме того, при использовании платных Alfresco Content Services вы получаете возможность применения шифрования и при работе с мобильных клиентов (например, смартфонов) средствами Alfresco Mobile app;
  • возможность использовать дополнительные средства для работы с медиа-контентом (аудио и видеофайлами). Для этой цели в Alfresco используется дополнительный программный модуль Alfresco Media Management (устанавливается вместе со службой очередей ActiveMQ). В результате пользователи получают возможность просматривать медиафайлы, хранящиеся на сервере Alfresco, прямо из Web-броузера (средствами HTML5), обрезать видеофайлы и проводить минимальное редактирование, вставлять в видеофайлы комментарии по меткам времени, прописывать специальные метаданные для видеофайлов и т. п;
  • поддержка JMX. JMX (Java Management Extensions) — это специальная технология, которая позволяет подключаться к управляющим классам (реализованным по стандарту Managed Java Bean, MBean). С практической точки зрения это означает, что вы можете использовать для администрирования Alfresco готовые JMX-совместимые приложения (например, jManage или MC4J) или создать свое Java-приложение, использующее классы JMX;
  • возможность использования политик хранения (storage policies)По смыслу политики хранения больше всего напоминают секционирование (partitioning) в базах данных. Они точно так же, основываясь на некоторых атрибутах документов, позволяют прозрачно для пользователя разнести их по разным хранилищам. Например, документы за текущий год можно автоматически помещать в хранилище на быстром диске, а документы за предыдущие годы (которые относятся к архиву и быстрый доступ к которым не требуется) — в хранилище на другом диске, с меньшей производительностью;
  • возможность применения встроенного коннектора JOD (JOD Connector) для массового преобразования документовJODConverter (от Java Open Document) — набор библиотек, предназначенных для быстрого массового преобразования документов между разными форматами (например, между форматами Microsoft Office и Open Office и наоборот). На многих предприятиях есть требования, чтобы в системе документооборота документы хранились в едином формате, что упрощает доступ к ним из различных приложений (и различных версий этих приложений). В этой ситуации предустановленный JOD Connector может оказаться полезным. Заметим, что в бесплатном Community Edition возможность преобразования документов тоже встроена изначально (для этой цели используются библиотеки Open Office), но этот Open Office Connector, в отличие от JOD Connector, более ориентирован на преобразование отдельных документов и менее удобен при массовых преобразованиях;
  • возможность применения для преобразования документов Alfresco Transformation Server. Alfresco Transformation Server — это дополнительный программный модуль, который, как понятно из названия, предназначен для преобразования документов (например, так же, как и JOD Connector, он умеет преобразовывать документы Microsoft Office в документы Open Office). Отличительной особенностью Alfresco Transformation Server является то, что
    • его можно разворачивать на отдельном компьютере по отношению к серверу Alfresco, снимая таким образом нагрузку с сервера;
    • в нем для обращения к документам Microsoft Office используются «родные» библиотеки Microsoft, что гарантирует корректное извлечение из них контента.
  • возможность использовать синхронизацию с облачным хранилищем Alfresco (эта технология называется Hybrid Sync, старое название, которое тоже иногда используется — Enterprise to Cloud Sync). При внесении любых изменений в хранилище Alfresco на сервере на предприятии эти изменения тут же реплицируются в хранилище в облаке Alfresco (обратное тоже верно). Соответственно, в дополнение к хранилищу Alfresco на предприятии в нашем распоряжении появляется его копия в облаке на серверах Alfresco. Эту облачную копию можно использовать:

    • для обеспечения отказоустойчивости;
    • для организации доступа клиентов из Интернета, чтобы не было необходимости пробрасывать им VPN-доступ на сервера Alfresco во внутренней сети предприятия.

  • возможность использовать программный модуль Alfresco Desktop Sync для высокопроизводительной синхронизации пользовательского контента между хранилищем на сервере Alfresco (или облачным хранилищем Alfresco One) и локальным диском на компьютере пользователя. Такое решение позволяет пользователям при необходимости работать со своими документами в режиме оффлайн — без подключения к серверу. При следующем подключении документы на локальном диске будут синхронизированы с хранилищем Alfresco;
  • возможность использовать дополнительные средства для работы с отчетами в Alfresco. Система аудита, фиксирующая вход пользователей в систему, их обращение к документам, внесение изменений и т.п., изначально включена в поставку и платного Content Services, и бесплатного Community Edition. Чтобы она заработала, достаточно ее настроить через файлы конфигурации. Однако просмотр журналов аудита встроенными средствами не очень удобен. Намного удобнее дополнительные средства отчетов для Alfresco, из которых чаще всего используется средство под названием A.A.A.R (Alfresco Audit Analysis and Reporting). Однако для того, чтобы использовать полные возможности работы с отчетами в A.A.A.R и некоторых других средствами, необходима платформа Pentaho Enterprise, которая, в свою очередь, требует наличия платных Content Services;
  • возможность использовать классы Delegating Event Publisher для организации реакции на события сервера Alfresco. Delegating Event Publisher — это специальная библиотека, которая позволяет регистрировать события сервера Alfresco (например, вход определенного пользователя в систему или выполнение каких-либо действий в определенной папке или с определенным документом) и, соответственно, обеспечивать немедленное реагирование на эти события;
  • возможность использования набора дополнительных административных средств, которые появляются для администратора в Web-интерфейсе Alfresco Share сразу после установки платных Alfresco Content Services;
  • возможность применения «из коробки» набора дополнительных программных модулей:
    • Outlook Integration — этот модуль позволяет сохранять их Outlook сообщения напрямую в хранилище Alfresco;

    • Amazon S3 — этот модуль позволяет пользователям через Alfresco обращаться к своим документам в облачном хранилище Amazon S3;

    • Kofax — дополнительный программный модуль, предназначенный для работы с факсами и распознавания символов;

    • SAML (Security Assertion Markup Language) — специальный протокол, предназначенный для организации единой точки входа (Single Sign-On) для разных приложений на вашем предприятии. При использовании соответствующего программного модуля, входящего в состав платных Alfresco Content Services, вы можете организовать аутентификацию пользователей при входе в систему Alfresco, через Single Sign-On.
  • возможность использования «телеметрии», когда платный Alfresco Content Services через определенные интервалы передает информацию о своей работе на сайт Alfresco, что должно упростить работу служб поддержки Alfresco, когда возникнет потребность к ней обратиться.

Вот и все различия, которые есть между платной Alfresco Content Services и бесплатной Alfresco Community Edition. Вам принимать решения о том, стоят ли они того, чтобы платить примерно 15 тыс. долларов в год. Заметим только, что:

  • Alfresco позиционируется как бесплатная система, поэтому подавляющее большинство предприятий используют бесплатный вариант Alfresco Community Edition;

  • в некоторых ситуациях в дополнение к бесплатной Alfresco Community Edition рекомендуется также иметь где-нибудь на тестовом виртуальном компьютере также и платную Alfresco Content Services в пробном варианте. Например, в платной версии можно внести изменения в настройки при помощи дополнительных Web-утилит, которых нет в бесплатной версии, посмотреть, как изменились файлы конфигурации, а потом воспроизвести эти изменения в своей бесплатной версии. Иногда это удобнее, чем перерывать документацию и форумы в поисках необходимых настроек.