Alfresco — информационная платформа с открытым кодом, разработчиком которой выступает компания Alfresco Software Inc (Великобритания). Платформа не является системой электронного документооборота, но на ее основе можно самостоятельно или с помощью специалистов построить готовую систему.
Проекты по построению единой ECM-системы на базе Alfresco сегодня реализованы во многих странах: Франция, Швейцария, США, Великобритания, Бельгия, Япония, Мексика, Италия. По мировым меркам, это одна из наиболее распространенных систем электронного документооборота и управления проектами.
В России Alfresco также применима, ее используют многие крупные компании со сложными бизнес-процессами и разветвленной оргструктурой. Разработчики российской компании Citeck уже реализовали на Alfresco проекты различного характера в компаниях: BNP Paribas Cardif, General Electric, Unilever, DHL, Газпром космические системы, Райффайзен банк, Правительство Москвы и других.
Выбор в пользу Alfresco часто обусловлен 7 основными причинами :
Отличительная особенность системы от большей части продуктов с открытым кодом — это стабильность работы и возможность масштабирования под задачи бизнеса любого размера.
В целом Alfresco, это уникальная система, которая автоматизирует процессы управления контентом и охватывает полный жизненный цикл большинства типов документов: договоров и связанных с ними документов, первичной финансовой документации, входящей и исходящей корреспонденции, поручений и задач, приказов и распоряжений, документов по технике безопасности и охране труда, кадровых заявок и приказов, документации на тендеры и закупочного процесса .
Система умеет управляться с любым видом документов. В корпоративной практике они подразделяются на два типа данных: структурированные и неструктурированные.
Структурированные документы часто представлены в виде таблиц и записей, которые хранятся в учётных системах (1С, SAP, Oracle и других). К неструктурированным относится контент, выходящий за рамки общей структуры — набор файлов и папок, медиа и видеофайлы, расположенные на внешних носителях или в интернете. И управлением неструктурированным контентом занимается отдельный класс систем, а именно Enterprise Content Management (ECM), к которым и относится Alfresco.
Компания Citeck реализует проекты на базе ECM Alfresco более 7 лет на территории России и других странах постсоветского пространства.
Почему выбирают нас… Таких причин много, но есть три ключевые :
Описываемые версии систем: Citeck ECOS 3.2.a, Alfresco Community 5.1.f
.
Таблица 1. Сокращения
Сервер приложений
— программный компонент Java Enterprise Edition, позволяющий запуск и выполнение приложений Java.
Alfresco придерживается трехзвенной архитектуры (Рисунок 1):
Рисунок 1 – Структура звеньев Alfresco
Звено «Хранилище данных» состоит из хранилища файлов (File System) и базы данных (Relational DB). Хранилище файлов используется для хранения контента документов (файлов) и версий документов. Вся остальная информация (метаданные) хранится в БД. Схема базы данных Alfresco не является публичным API, часто изменяется от версии к версии Alfresco, и поэтому не должна быть использована при взаимодействии с Alfresco. Вместо этого, для взаимодействия с Alfresco рекомендуется использовать один из множества публичных сервисов (Embedded API, Remote API, см. ниже).
Звено «Сервер приложений» предоставляет расширенные сервисы для работы с документами. Вся бизнес-логика работы с данными сосредоточена на этом звене. Для работы с различными видами клиентов, сервер приложений предоставляет различные виды внешних протоколов, такие как CMIS, REST API, CIFS, IMAP и другие. С другой стороны, с хранилищем данных сервер приложений работает через соединение с СУБД (JDBC) и механизмы файловой системы ОС. Благодаря использованию этих механизмов в качестве хранилища данных можно использовать любые реализации СУБД и файловых систем, единственное существенное требование — наличие необходимых драйверов JDBC и ОС.
Звено «Клиентские приложения» представлено различными клиентскими приложениями Alfresco. Это могут быть как веб-клиенты в браузере, так и приложения для настольных и мобильных платформ и даже доступ через механизмы файловой системы (CIFS, FTP, WebDAV).
Описанная архитектура позволяет реализовывать различные виды документноориентированных приложений, таких как управление файлами (Document Management — DM), управление веб-контентом (Web Content Management — WCM), управление документами (Records Management — RM) и другие.
Сервер приложений Alfresco является веб-приложением Java и состоит из различных компонентов. На верхнем уровне структура сервера приложений представлена ниже (Рисунок 2).
Рисунок 2 – Структура сервера приложений Alfresco
Сервер приложений следует рассматривать как расширенную СУБД, предоставляющую широкий спектр сервисов работы с документами:
Эти сервисы предоставляются через ряд программных интерфейсов и протоколов:
Архитектура сервера приложений позволяет реализовывать различные виды модулей и расширений к стандартному набору интерфейсов:
Для реализации своих сервисов сервер приложений пользуется услугами смежных систем. В частности используются сторонние системы для:
Индексация и поиск – абсолютно необходимые функции в большинстве приложений Alfresco. В новых версиях Alfresco больше не использует подсистему Lucene и рекомендует использовать SOLR.
Подсистема поиска поддерживает ряд существенных для приложений характеристик:
Подсистемы аутентификации позволяют делегировать функцию проверки подлинности пользователей внешним системам. Наиболее часто при интеграции с инфраструктурой предприятия для этих целей используются сервисы службы каталогов, такой как Microsoft Active Directory. При такой интеграции, информация о пользователях импортируется из AD в Alfresco, а аутентификация проходит по одному (или нескольким) из протоколов LDAP, NTLM, Kerberos. Сравнение протоколов аутентификации приведено ниже (Таблица 2)
Таблица 2. Сравнение различных протоколов аутентификации
При использовании NTLM сервер Alfresco играет роль «человека посредине», по факту эксплуатируя уязвимость протокола. Поэтому поддерживается только NTLM версии 1. Протокол NTLM версии 2 не поддерживается при взаимодействии с Active Directory, поскольку аутентификация в сторонних сервисах не является назначением протокола NTLM. Рекомендуемым протоколом аутентификации при интеграции в инфраструктуру предприятия является Kerberos.
Преобразования контента используются для различных целей, в частности для генерации предварительного просмотра и иконок, печати, масштабирования изображений. Для преобразований офисных форматов (и PDF) используется LibreOffice, для преобразований изображений (и PDF) — ImageMagick, для преобразования PDF в SWF для предпросмотра — SWF Tools.
Указанные службы могут работать в виде служб Windows, но в поставке Alfresco по умолчанию это не предусмотрено.
Очень грубо требования Alfresco к системе можно вычислить следующим образом.
Для 50 одновременно работающих или 500 зарегистрированных пользователей:
1,5 GB JVM RAM 2x server CPU (or 1xDual-core)
Для 100 одновременно работающих или 1000 зарегистрированных пользователей:
1,5 GB JVM RAM 4x server CPU (or 2xDual-core)
Для 200 одновременно работающих или 2000 зарегистрированных пользователей:
2,5 GB JVM RAM 8x server CPU (or 4xDual-core)
Если предполагается разворачивать сервер Alfresco в виртуальной среде, то эти цифры следует умножать на два.
Объем БД зависит в основном от примерного объема карточек, например, количество документов 1000 х количество полей 20 х средний размер поля 10 байт х среднее количество версий 5 х фактор индексации 2 = 1000 х 20 х 10 х 5 х 2 = 2 000 000 байт = 2 Мб.
Если по документам ставятся процессы, ведется история или хранится другая дополнительная информация, это также следует учитывать.
Объем дискового пространства зависит от размера контента документов, например, количество документов 1000 х средний размер 1 Мб х среднее количество версий 5 = 1000 х 1 х 5 = 5 000 Мб = 5 Гб.
Размер дискового пространства для индекса (lucene, SOLR) вычисляется подобным образом, причем в несколько раз меньше (ориентировочно в 3 раза).
Если данные имена служб были заняты, то установщик выбирает аналогичные незанятые имена, например, alfrescoPostgreSQL-1 или alfrescoTomcatnuml.
При установке на Linux-системы создается единственная служба alfresco, которая запускает все необходимые компоненты Alfresco (по умолчанию PostgreSQL и Tomcat).
Компоненты Alfresco занимают по умолчанию следующие сетевые порты TCP (таблица 3).
Таблица 3. Сравнение различных протоколов аутентификации
Порт | Компонент | Протокол | Описание |
5432 | PostgreSQL | PostgreSQL | |
8080 | Tomcat | HTTP | Порт веб-приложений |
8443 | Tomcat | HTTPS | Порт веб-приложений |
8009 | Tomcat | AJP | |
8005 | Tomcat | Shutdown-порт | |
8000 | Java | Отладочный порт Java (по умолчанию выключен) | |
7070 | VTI | SharePoint | Поддержка онлайн-редактирования |
21 | Alfresco | FTP | Можно выключить в alfresco-global.properties |
445 | Alfresco | CIFS | Можно включить в alfresco-global.properties |
50500 | Alfresco | RMI | Также несколько других портов RMI 8100 LibreOffice |
8100 | LibreOffice | LibreOffice |
Если данные порты уже заняты другим, то при установке Alfresco можно указать другие порты для PostgreSQL, Tomcat и VTI, а порты Alfresco настроить в файле alfresco- global.properties. Если требуется указать другие порты после установки, это также можно сделать, необходимо обратиться к руководствам по настройке компонентов.
Alfresco распространяется в виде WAR-файла (WAR — Web Archive — формат архивов Java) или нескольких WAR-файлов, которые необходимо инсталлировать на сервер(ы) приложений Java (например, Apache Tomcat или JBoss Application Server). Расширения и модули, как правило, запаковываются внутрь веб-приложений, в то время как элементы конфигурации располагаются в отдельном месте — т.н. shared classpath (для Tomcat это папка tomcat/shared).
Alfresco поддерживает следующие варианты упаковки сторонних расширений:
JAR-файл (JAR — Java Archive) — это формат архивов Java, он поддерживается всеми серверами приложений Java. JAR-файлы устанавливаются в shared classpath или прямо в папку «WEB-INF/lib» веб-приложения. Однако в этом случае не гарантируется их целостность, поэтому рекомендуется эти файлы запаковывать в AMP-архивы.
AMP-файл — это формат модуля Alfresco (AMP — Alfresco Module Package), который также является переименованным ZIP-архивом со специальными соглашениями о внутренней структуре. При установке AMP-файла его содержимое становится частью WAR-файла.
Элементы конфигурации располагаются в shared classpath. В частности, основной конфигурационный файл alfresco — файл alfresco-global.properties располагается в корне shared classpath (для Tomcat это папка tomcat/shared/classes). Конфигурация других расширений располагается по пути classpath:alfresco/extension (для репозитория Alfresco) и classpath:alfresco/web-extension (для Alfresco Share). Часто используемые конфигурационные файлы приведены ниже:
Лог-файлы Alfresco в зависимости от версии Alfresco располагаются либо в корневой папке Alfresco, либо в папке tomcat/bin, либо в корне файловой системы (Linux). Alfresco генерирует по одному лог-файлу на веб-приложение. Соответственно, в стандартной инсталляции должны быть лог-файлы:
Помимо этого, свои журналы ведет Apache Tomcat, они располагаются в папке tomcat/logs:
Для всех вышеуказанных файлов журналов настроена ротация, каждый день создается и используется новый файл, однако старые файлы не удаляются. Если необходимо удалять и старые файлы, необходимо соответствующим образом скорректировать настройки Alfresco и Tomcat.
Модули расширения предназначены для добавления нового функционала в систему Alfresco. Для того чтобы обеспечить максимальное повторное использование функционала в самых различных областях применения используется трехуровневая структура:
В типовом внедрении системы участвуют модули ядра, один или несколько модулей приложений (можно и без них), и модули внедрения.
Инфраструктура Alfresco позволяет в модулях более специфичных уровней переопределять реализацию и конфигурацию модулей более общих уровней. В частности, в модулях внедрения можно переопределять модули приложений и модули ядра.
В состав ядра системы Citeck ECOS входят следующие модули:
Модули с суффиксом «-repo» предназначены для установки в веб-приложение alfresco.war (репозиторий Alfresco), модули с суффиксом «-share» предназначены для установки в вебприложение share.war (Alfresco Share — веб-интерфейс).
Модули с префиксом «1st-override-» предназначены для переопределения файлов Alfresco. Модули с префиксом «idocs-» содержат основной функционал ядра системы Citeck ECOS.
Среди функций, которые добавляет система Citeck ECOS к системе Alfresco, можно отметить следующие основные функции.
Журналы. Представляет собой возможность документно-ориентированного просмотра и поиска различных видов документов и других объектов в системе. Отличительная особенность журналов — это учет специфики различных видов контента и отображение только релевантных атрибутов в каждом конкретном случае.
Оргструктура. Представляет собой возможность моделирования структуры организации, в которой используется система через встроенный механизм групп Alfresco. Отличительная особенность — возможность помечать группы различными метками, соответствующими различными видам подразделений и должностных лиц. Благодаря использованию механизма групп, имеется возможность выдачи прав на подразделения и должностные лица, а также постановки задач должностным лицам.
Шаблоны. Шаблоны контента позволяют генерировать по заданному шаблону контент документа. Шаблоны карточек позволяют генерировать по заданному шаблону связанные документы, такие как листы согласования, историю доступа и т.п. Шаблоны уведомлений позволяют настраивать отправку почтовых уведомлений по заданным событиям. Шаблоны автонумерации позволяют генерировать номера документов по заданному шаблону. Также поддерживаются шаблоны в формате docx (MS Word 2007).
Расширенные возможности процессов. Возможности по автоматической выдаче прав на время задачи и их отъему после окончания задачи. Возможность приложения документов к задачам. Поддержка заместителей.
Жизненные циклы. Возможность простого описания жизненного цикла документов в виде совокупности состояний и переходов между ними. Отличительная особенность компонента жизненных циклов — это простота реализации и расширения жизненных циклов даже после их запуска. Реализованы базовые бизнес-процессы (согласование, подписание и т.п.), из которых можно составлять жизненные циклы документов.
Поддержка отчетности. Автоматическая выгрузка информации во внешнюю базу для упрощения построения отчетности с помощью сторонних средств.
Кейс-менеджмент. Возможность организовывать кейсы — специальные контейнеры с произвольными типами вложений.
Интеграция. Возможность синхронизировать справочники Alfresco с внешними источниками. Поддерживаются такие источники данных как SQL-совместимые БД, XML-файлы,простые файлы (для импорта контента). Возможна также выгрузка информации во внешние хранилища.
Карточка документа. Возможность составлять карточку документа из различных разделов (кардлетов), можно переставлять разделы и указывать произвольные условия их отображения.
Пользовательский интерфейс. Различные визуальные компоненты, расширяющие возможности Alfresco Share и повышающие удобство использования системой.
В состав модулей приложений входят следующие модули:
Модули приложений разворачивают в системе сайты (сайт договоров, сайт доверенностей и т.п.) и журналы для управления соответствующими видами документов, содержат определение моделей и форм для этих видов документов, определение специальных политик и предустановленных шаблонов, а также некоторые настройки по умолчанию, которые можно переопределять в модулях внедрения.
Сервис синхронизации позволяет синхронизировать данные в различных хранилищах данных. Среди таких хранилищ поддерживаются:
Сервис синхронизации оперирует следующими основными абстракциями:
Ниже приведена схема потоков данных при синхронизации (Рисунок 3). Преобразование происходит по следующей схеме:
Сервис синхронизации поддерживает загрузку связей объектов благодаря специальным реализациям Object Converter, которые позволяют находить и (или) создавать связанные объекты в соответствии с конфигурацией.
Для повышения скорости импорта/экспорта в сервисе синхронизации поддерживается многопоточная работа и объединение синхронизации нескольких объектов в одной транзакции. Можно регулировать максимальное количество одновременных транзакций (т.е. количество потоков) и максимальное количество объектов в транзакции.
Скачать описание Citeck ECOS и Alfresco.
По словам разработчиков системы, автоматизация управления документами с помощью «Логика: СЭД » на платформах Alfresco / МСВСфера Инфооборот приводит к росту продуктивности работы сотрудников, облегчению доступа к информации для принятия управленческих решений, улучшению исполнительской дисциплины, а значит, к общему повышению качества корпоративного и государственного управления.
На октябрь 2018 года система помогает решать следующие задачи:
Система легко адаптируется под эти и многие другие задачи, связанные с обработкой документов, при помощи встроенных настроек, разработки дополнительных модулей, интеграции с иными системами.
Система «Логика: СЭД» на платформах Alfresco / МСВСфера Инфооборот предназначена для управления корпоративным контентом и контент-ориентированными бизнес-процессами в средних и крупных коммерческих и государственных предприятиях, имеющих большое количество территориально-распределенных подразделений и множество контрагентов.
Эффекты от внедрения:
Система ILD помогает гарантированно определить источник утечки конфиденциальной информации на бумажных носителях. Алгоритм работы решения заключается в создании индивидуальных копий документа, с которым сотрудники работают в системе электронного документооборота. ILD запоминает несколько параметров документа: алгоритм преобразования, дату и время выдачи копии, а также идентификационные данные сотрудника. Таким образом, в случае утечки сведений ILD достоверно определяет сотрудника, по чьей вине она произошла. Подробнее об интеграции технологий можно прочитать .
Продукт переведен на версию 5.1 платформы Alfresco/МСВСфера Инфооборот. Эта ECM -платформа создана на свободном программном обеспечении (СПО) .
В версии 2.0. переработан механизм обработки карточек документов, добавлено редактирование файлов формата Microsoft Office , Open Office и LibreOffice непосредственно из карточки документа.
Добавлен ряд функций:
В этой версии системы реализованы 16 дополнений пользовательского функционала и 29 изменений в функционале настройки и администрирования системы.
Возможности последней версии платформы Alfresco, в частности более быстродействующая версия Java , современный поисковый движок и расширенное API дают возможность легко модифицировать решение под уникальные требования и добиваться на нем еще большей производительности, создают дополнительные ценности для пользователей. И „Логика бизнеса`, которая оперативно отразила в своем решении нововведения, повысила его конкурентоспособность. |
15 декабря 2015 года компании «Логика бизнеса » и «Национальный центр поддержки и разработки» заявили о выпуске решения для электронного документооборота на платформе «Логика СЭД » и «МСВСфера Инфооборот» .
В качестве основы для интеграции этих двух решений использовался механизм штрих-кодирования: карточке документа и документу присваивается единый штрих-код, который может печататься на наклейке (для поступающих документов) или на документе (для издаваемых в организации и отправляемых документов).
Документ содержит уникальный идентификационный номер (UNID). Его наличие помогает при поиске документа в СЭД . При потоковом сканировании штрих-код регистрируемого документа считывается сканером, после чего образ документа автоматически прикрепляется к соответствующей карточке. Впоследствии пользователь может найти документ с использованием сканера штрих-кодов.
«Потоковый ввод данных - важнейший компонент любых решений для управления документами. Поэтому выбор платформы для этой задачи является критически важным для эффективной работы с корпоративным контентом, - отметил Олег Бейлезон , главный ECM -архитектор "Логики бизнеса" . - Мы еще раз проанализировали представленные на рынке решения в этой области и пришли к выводу, что наиболее оптимальными остаются решения ABBYY FlexiCapture ».
«ABBYY FlexiCapture в несколько раз увеличивает скорость ввода данных из различных типов документов и позволяет значительно сократить количество ошибок при вводе. Решение легко интегрируется со многими корпоративными системами документооборота, в том числе и с СЭД на платформе Alfresco , что позволяет заказчикам максимально эффективно организовать работу с документами и данными», - заявил Дмитрий Шушкин , директор по корпоративным проектам ABBYY Россия .
Релиз сентября 2014 года системы «Логика СЭД» переведен на последнюю версию платформы Alfresco 4.2, которая предоставляет ряд существенных улучшений:
Функционал «Логики СЭД» претерпел следующие изменения:
На начало октября запланирован выход релиза 1.1.2, который будет включать:
(Enterprise Content Management), исходные тексты которой распространяются в рамках лицензии LGPL. Alfresco конкурирует с такими коммерческими системами, как Documentum и Microsoft SharePoint, отличаясь расширяемой модульной структурой, полной поддержкой стандарта OASIS CMIS 1.0 и в несколько раз обгоняющим конкурентов быстродействием. Код системы написан в аспектно-ориентированном стиле на языке Java с использованием компонентов Spring, Hibernate, Lucene и MyFaces. В качестве СУБД поддерживается использование MySQL и PostgreSQL.
Система Alfresco одна из самых распространенных на западе систем электронного документооборота и управления проектами. Во многом это объясняется открытостью кода (полный Open Source) и отличием от большинства продуктов с открытым кодом стабильностью работы и возможности масштабирования под задачи бизнеса любого размера.
Система Alfresco одна из наиболее распространенных на западе систем электронного документооборота и управления проектами. По большей части это объясняется открытостью кода (полный Open Source) и отличием от большей части продуктов с открытым кодом стабильностью работы и возможности масштабирования под задачи бизнеса любого размера. Это неудивительно, так-как "отцом" и основным проектировщиком системы Alfresco и по сегодняшний день является Джон Ньютон, один из руководителей и совладельцев компании Documentum - мирового лидера рынка систем электронного документооборота масштаба компаний.
С системой успешно работают подобные компании как Activision, American Stock Exchange, Cisco, Electronic Arts и.т.д. Система может трудиться почти на любых платформах и с любыми БД. Ряд систем Alfresco легкосправляются с нагрузкой млн. хранимых документов и десятков тыс. пользователей.
Малая известность системы в РФ является следствие того, что до последнего времени не было фирм способных предоставить профессиональные услуги по внедрению поддержку и обучению пользователей системы Alfresco.
Alfresco - СЭД с web-доступом. Это удобно так как:
Однако Американские и Европейские СЭД, в частности и Alfresco уже с 2009 года перестали делать основную ставку на web-интерфейс. Его помощь естественно есть, однако он применяется лишь для удаленного доступа к документам.
Так как когда человек располагается в офисе или филиале, объединенном в VPN сеть, нет ничего удобнее и легче чем трудиться с папками и файлами привычным ему образом - редактировать бумаги в офисных приложениях. Применение любых иных интерфейсов, даже web, вызывает понятное раздражение, снижение скорости работы и, как результат, саботаж введения.
Решение давно найдено и используется в Европейских и Американских СЭД! Предположим, что на Вашем рабочем столе есть 2 папки (Или иное число папок, это лишь пример):
"Бумаги для рассмотрения"
"Корпоративные бумаги"
Открываете I-ю. Там 3 документа. Вы знаете, что если они там, Вы обязаны вынести по ним решение. Открываем их в привычном Word двойным кликом. Вы можете не только лишь читать текст документа, однако открывать любые версии, читать комментарии, выносить решения и отсылать документ на рассмотрение произвольным лицам не выходя никуда из MS Word (MS Excel, MS Power Point). К тому же, там же Вы видите Ваши задачи, исходящие ивходящие.
Требуется сделать и запустить новый контракт на согласование? Нет ничего легче. Создавайте документ в MS Word и отправляйте прямо оттуда по стандартному маршруту. Или сперва создайте файл и просто скопируйте в папку "Корпоративные бумаги" / "Проекты договоров". Документ тут же сам внесется в СЭД и отправится по стандартному маршруту.
От Web-интерфейса тоже никто не отказывается. В web-интерфейсе Alfresco возможно исполнятьвсе перечисленные функции и немало более. Web удобен в командировках, для быстрого доступа с или ноутбука, для исполнения комплексных групповых операций с документами и задачами, формированию отчетов.
Community Edition целиком бесплатна, может оказаться скачена и поставлена в любой компании. Хотя система не имеет никакой помощи за исключением добровольной поддержки участников сообщества пользователей Alfresco. Однако невзирая на это редакция Community остается одной из наиболее распространенных вариантов систем электронного документооборота в Европе. Система поддерживает возможность размещения на серверов или кластере, этим являясь достоянным решением и для 10 и для 10 000 пользователей. Встроенные базы данных: MySQL и Postgre.
Enterprise Edition - промышленная редакция системы, которая работает под управлений мощных баз данных Oracle или MS SQL. Подобные системы сертифицируются Alfresco и юзеры систем обеспечиваются гарантией на стабильную работу системы, поддержку и обновления.
Основные особенности системы Alfresco
Оставьте свой комментарий!
Поиск по Хабру не нашел подробных статей по системе Alfresco. В данной статье попробую убить сразу двух зайцев: рассказать что представляет из себя система Alfresco и как мы используем ее в нашей работе.
Как хранятся документы в небольшой организации? Самое простое - на локальном диске. А если необходима совместная работа - пересылаются по почте, либо, самый популярный вариант, на сетевом диске. Еще прекрасный вариант - Google Docs, но не уверен что он широко используется в Российской практике.
Не знаю, какого размера должна достигнуть организация, чтобы в ней задумались о внедрении системы электронного документооборота, но думаю примерно это цифра в районе 50-100 сотрудников, работающих с документами.
При мысли о системе электронного документооборота первыми на ум приходят дорогие решения от известных вендоров, таких как Microsoft, EMC, 1С и т.д. Но есть и альтернатива закрытым решениям - система управления документами с открытым исходным кодом Alfresco . Или, если по-английски, то Open Source Enterprise Content Management System (ECM, CMS).
Конкуренты Alfresco - это закрытое ПО, такое как EMC Documentum, Open Text, Sharepoint. Сами разработчики Alfresco пишут о своих конкурентах, как о наследии 90-х годов, которое:
Именно в открытости системы я вижу ее основное преимущество: нет “lock-in” на какого то производителя, сама система бесплатна. Еще одним преимуществом Alfresco я вижу то, что она построена на современных Java технологиях, таких как Spring, JSF, Hibernate, Lucene; новые версии будут использовать Spring Surf. А я знаю, что большой серьезный бизнес любит системы на Java.
Работа пользователей с системой осуществляется через браузер. Возможно также работать с файлами через проводник Windows, как с обычной сетевой папкой (протокол CIFS) или через FTP. Мы работаем с английской версией, есть русская локализация.
Скриншот стандартной страницы Alfresco Document Management
Alfresco предоставляет возможность создавать, хранить, модифицировать документы и многое другое. Есть возможность создать документ прямо в системе, как пустой так и на основе шаблонов своей компании. Система позволяет искать по содержимому документов, поддерживает версионность документов. Хранится вся история изменений, всегда можно посмотреть кто что добавлял или удалял.
Alfresco ставится как на Windows, так и на *nix совместимую систему, необходим Java Runtime Environment . Поставка включает встроенный OpenOffice, для конвертации между различными типами документов, извлечения текстовых данных для индексации и возможности полнотекстового поиска. Также в комплекте идёт Tomcat, который при желании можно заменить на любой подходящий веб-контейнер .
Alfresco ведет свою собственную базу пользователей. Однако возможно авто-создание пользователей при первом входе или синхронизация с внешним источником: LDAP, Microsoft Active Directory, домен компании и т.д.
Поддерживаются принятые в индустрии ECM стандарты. Так, система хранения данных Alfresco плавно сдвигается от собственной реализации стандарта JSR-170 к доступу к данным через CMIS , снимая последнее ограничение - на использование поставляемого с Alfresco хранилища.
Система работает с документами любых форматов: Microsoft Office, Open Office, pdf и т.д. Если необходимого формата нет в списке поддерживаемых - можно добавить свой модуль конвертации в один из поддерживаемых, и будут построены цепочки конвертации во все необходимые на выходе форматы.
Преимущество Alfresco как открытой системы - полный доступ к исходным кодам, можно поменять любые части системы, при наличии хороших специалистов разумеется. Лицензия позволяет.
Система позволяет расширять свою функциональность с помощью модулей расширений. Модули могут содержать всё что угодно: и бизнес-логику, и стили страниц, и новые страницы, и расширения модели данных, и новые сервисы. Модули расширений могут работать с Alfresco через ряд протоколов, лучше всего поддерживается протокол REST . Пользовательский интерфейс предлагается реализовывать с помощью Spring Surf, на остальное уже нет ограничений, чаще всего используется Java, реже серверный JavaScript, Groovy, JRuby. Главное - чтобы была поддержка CMIS.
Можно полностью отказаться от стандартного веб-интерфейса и реализовать свой. Тогда Alfresco будет использоваться только в качестве хранилища.
Для интеграции с другим ПО, поддерживаются различные типы аутентификации, есть возможность соединять их в цепочки. Например пользователь может попасть в систему с помощью Single sign-on . Если пользователь пришел не авторизованный, то Alfresco попытается его авторизовать (спросит имя пользователя и пароль, или сертификат, в зависимости от того, как настроена система).
В Alfresco очень гибкая модель данных, много возможностей для её расширения, но это тема для отдельной статьи. Если вкратце, то стоит упомянуть что модель поддерживает множественное наследование (с помощью аспектов), причём динамическое, то есть в любой момент можно любому объекту добавить какой-либо аспект, и объект приобретает все свойства данного аспекта.
Доступ к данным и функциональности можно гибко настраивать. Система авторизации оперирует такими понятиями, как: объект данных, разрешение, пользователь, группа, роль. Роли назначаются пользователям и группам во время работы приложения, в том числе можно присваивать роли каскадно, на целое поддерево данных.
Существует большое количество готовых расширений к Alfresco.
Исходя из нашего опыта, сервера Intel Core 2 2,4 GHz с 8Gb памяти хватит для обслуживания до тысячи зарегистрированных активных пользователей. При увеличении количества пользователей нужно анализировать какие части системы наиболее нагружены. Система надёжно работает в кластере, обеспечивая целостность и актуальность данных, но нужна грамотная настройка, подробнее будет написано ниже.
Существуют примеры внедрения Alfresco в крупной некоммерческой организации в России с базой в 40 000 пользователей и более. Примеры зарубежных внедрений включают также варианты использования Alfresco с сотнями тысяч активных пользователей. Или с гораздо меньшим количеством пользователей, но при этом много-терабайтным хранилищем.
Alfresco была выбрана, как единственный вариант ECM системы на рынке, с хорошей enterprise поддержкой, реализацией протокола Sharepoint, наличием примеров внедрения с 1000+ пользователей. У Microsoft Sharepoint не было, насколько мне известно, хотя, возможно, она не подошла по другим критериям.
В настоящий момент в репозитории хранится ~2000 документов по 5-10 Мб.
Основные сделанные доработки:
Система уже вышла “на продакшн”. Есть ряд проблем с которыми пришлось столкнуться, некоторые пока что не решены.
Например, при запуске на локальной машине разработчика система работает достаточно шустро. Однако при запуске у клиента в кластере из 5 серверов приложений, система иногда начинает необоснованно тормозить. Проблему пока не смогли решить, хотя подключали к ней даже самих разработчиков Alfresco.
К сожалению, архитектура нашей системы построена так, что индексы поисковой системы (Lucene) хранятся на сетевом диске. А это серьезно противоречит рекомендациям разработчиков, часто сталкиваемся с тем что индексы рушатся.
Еще одна проблема с OpenOffice при конвертации и извлечении данных из документов. Даже последняя версия OpenOffice в серверном режиме одновременно может конвертировать только один файл. Попытка одновременной конвертации нескольких файлов приводит к непредсказуемому результату. Также OpenOffice имеет неприятное свойство отъедать много памяти с течением времени и переставать отвечать на запросы. Могу порекомендовать несколько способов:
В настоящий момент наш проект еще в стадии активной разработки. Несмотря на некоторые управленческие и технические ошибки при реализации именно нашего проекта, мне нравится сама система Alfresco, с ней приятно работать, верю в перспективность открытых систем для бизнеса.
Есть возможность использовать Alfresco в облаке. Например в Amazon AWS уже есть готовые instances с предустановленной Alfresco.
Гуляет слух, что Oracle положил взгляд на покупку Alfresco. Чем это грозит или светит для Alfresco пока неизвестно, время покажет.
Было бы очень интересно увидеть в комментариях ваши истории внедрения Alfresco.
Теги: