Сравнение 3 бесплатных решений для управления информацией о товарах (PIM систем)

image

На рынке доступно множество коммерческих решений для управления информацией о товарах (PIM). И есть 3 бесплатных решения с открытым исходным кодом: Akeneo, Pimcore и OpenPIM, которые вы можете использовать для внедрения системы PIM в своей компании. Я собираюсь сравнить эти 3 решения друг с другом.



1. Akeneo


image

У Akeneo есть бесплатная версия и коммерческая корпоративная версия. Вы можете увидеть сравнение этих версий на https://www.akeneo.com/compare-editions/.

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

1.1. Модель данных

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

Для PIM систем очень важно уметь поддерживать различный набор атрибутов в зависимости от типа продукта, например, MP3-плеер имеет другой набор атрибутов, чем футболка.

Akeneo использует для этого объекты «Families». Таким образом, каждое семейство определяет набор атрибутов, необходимых для этого типа продукта, и каждый продукт имеет ссылку на свое собственное семейство. Товар может принадлежать только к одному семейству.

Атрибуты в Akeneo могут иметь разные значения для разных языков и каналов. Поддержка атрибутов сделана вполне хорошо и позволяет решать различные бизнес задачи.

1.2. Иерархии

Иерархия, к которой может принадлежать продукт, в Akeneo называется категориями. Вы можете иметь сколько угодно иерархий. Но категории в Akeneo очень простые. Вы не можете назначить атрибут для категории, а также нельзя ограничить, может ли продукт быть связан только с одним или несколькими узлами категорий и т.д.

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

1.3. Пользовательские объекты

Часто в PIM требуется хранить не только информацию о товаре, но и некоторые другие объекты, например Бренд или Магазин (где этот товар находится) и т.д. Эти дополнительные объекты могут иметь свои собственные атрибуты.

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

1.4. Зависимости

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

Akeneo поддерживает только отношения между продуктами (поскольку пользовательские объекты не поддерживаются). Вы можете определить «Association Type» и использовать его для связи между продуктами.

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

1.5. Варианты

Варианты представляют собой один и тот же товар, но с некоторыми разными атрибутами (когда все остальные атрибуты одинаковы). Например, у вас может быть футболка разных цветов и размеров.

Akeneo поддерживает варианты, вы можете создать «Family Variant», который определяет, какие атрибуты отличаются https://help.akeneo.com/pim/serenity/articles/manage-your-families.html#manage-family-variants. Также у Akeneo хорошая поддержка вариантов в интерфейсе пользователя.

Ограничение состоит в том, что для различных продуктов можно контролировать только 3 уровня вариаций.

1.6. Активы

Активы — это изображения, видео или файлы, связанные с товарами. Это очень важная информация, которая обычно хранится в системах PIM.

Бесплатная версия Akeneo имеет очень ограниченную поддержку файлов. У вас может быть только поле, куда вы можете поместить изображение или файл. Если вам нужно больше изображений, вам нужно создать больше полей. Вы не можете прикреплять к ним атрибуты, и у вас не может быть для них никакой структуры.

1.7. Импорт/Экспорт

Akeneo имеет возможность импортировать и экспортировать данные из файлов CSV, Excel и XML. Но вы не можете сопоставить столбцы вашего файла с моделью данных Akeneo. В Akeneo есть набор предопределенных конфигураций импорта/экспорта, поэтому вы должны указать правильные имена столбцов для загрузки или экспорта данных. Также вы не можете трансформировать данные на лету, что часто бывает необходимо при интеграции с различными источниками.

Таким образом, возможности Akeneo по импорту и экспорту весьма ограничены.

1.8. Полнота продукта и качество данных

Akeneo имеет хорошую поддержку для определения полноты продукта (это часть качества данных товаров). Вы можете определить, какие атрибуты требуются для каждого типа продукта (семейства) и для каждого канала. Также UI имеет хорошую поддержку для отображения этой информации.

Akeneo поддерживает некоторые аспекты качества данных товаров, например, тип атрибута предотвращает некоторые ошибки пользователя, определение полнота продукта также хорошо. Но опять же, поддержка настраиваемой проверки качества очень ограничена. Вы должны программировать на низком уровне, если хотите определить свою собственную логику качества (а это бывает очень часто в реальном бизнесе).

В коммерческой версии есть поддержка механизма правил, что хорошо, но для бесплатной версии такой поддержки нет.

1.9. Пользовательская логика и расширение интерфейса пользователя

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

Akeneo поддерживает это только с помощью низкоуровневого PHP-кода. Вы можете определить свою собственную логику и формы, но это требует знаний фреймворка PHP и занимает много времени.

1.10. Заключение

Бесплатная версия Akeneo имеет довольно большие ограничения, которые могут помешать ее использованию в реальном бизнесе. Ограниченная работа с файлами или отсутствие пользовательских объектов и возможности легко определять настраиваемую логику может помешать многим компаниям использовать бесплатную версию. Поддержка иерархий и отношений также слишком просты, чтобы удовлетворить все потребности бизнеса.

В коммерческой версии Akeneo большинство этих проблем решено. Кроме того, у Akeneo есть хорошее сообщество и сеть партнеров для поддержки. Поэтому я бы рекомендовал использовать коммерческую версию Akeneo, если бизнес готов за нее платить (это недешево). А если вы ищете бесплатное решение PIM, я бы не рекомендовал использовать Akeneo.

2. Pimcore


image

Pimcore — это не только решение PIM, но и MDM. Он также имеет возможности DAM (Asset Management). Pimcore также позиционирует себя как платформу цифровой коммерции и клиентских данных, поэтому имеет множество функций. В нашем обзоре мы будем рассматривать только PIM.

У Pimcore также есть бесплатная и коммерческая версии — https://pimcore.com/en/platform/subscription. Но функциональность PIM и DAM, на которой мы фокусируемся, существует во всех редакциях.

2.1. Модель данных

Pimcore имеет все необходимые возможности для определения атрибутов, связанных с товарами. Для этого они используют классы объектов. Более того, вы определяете не только сами атрибуты, но и структуру пользовательского интерфейса, как они будут отображаться.

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

Единственная потенциальная проблема, которую я вижу здесь, заключается в том, что система генерирует классы PHP для каждого класса объектов, который вы создаете, поэтому у нас есть реальный PHP-код, стоящий за всем этим пользовательским интерфейсом, и иногда вам необходимо пользоваться подобной информацией в пользовательском интерфейсе, например задавать «имя класса PHP » или «Родительский класс». Поэтому, если вы далеки от программирования, то вам может быть сложно определить модель данных.

2.2. Иерархии

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

2.3. Пользовательские объекты

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

Так что и в этой области у Pimcore возможностей больше, чем у Akeneo.

2.4. Зависимости

Вы можете определить различные типы отношений между любыми объектами в системе https://pimcore.com/docs/pimcore/current/Development_Documentation/Objects/Object_Classes/Data_Types/Relation_Types.html.

Это позволяет вам создавать необходимые логические связи между вашими данными. Единственный недостаток, который я вижу, — это невозможность создания атрибутов для этих зависимостей.

2.5. Варианты

Pimcore имеет встроенную поддержку вариантов. И специализированный интерфейс для них. Я не нашел никаких проблем с этой функциональностью.

2.6. Активы

Pimcore позиционирует себя как полнофункциональное DAM-решение (помимо PIM и других решений). Так что в этой области он может даже больше, чем нужно для PIM.

2.7. Импорт/Экспорт

Возможности Pimcore по импорту/экспорту также ограничены. Эта поддержка лучше, чем у Akeneo, потому что вы можете сопоставить данные столбца CSV или XSL с классами объектов, но это сопоставление очень простое. Вы не можете использовать преобразование и делать какие-либо вычисления на лету.

Форматы XML или JSON напрямую не поддерживаются, это тоже минус.

2.8. Полнота продукта и качество данных

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

В целом, Pimcore имеет хорошую поддержку качества данных. У вас есть возможности и для определения типов полей, и для использования вычисляемых полей для дополнительной проверки и использования workflows для определения вашего процесса. У вас также есть возможности отчетности и дашбордов, которые помогут вам визуализировать эти данные.

2.9. Пользовательская логика и расширение интерфейса пользователя

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

2.10. Заключение

Pimcore — большое решение, и не только для PIM. У него больше функций, чем у бесплатной версии Akeneo, но вам придется приложить гораздо больше усилий для реализации проекта, потому что система довольно сложна в изучении и настройке.

Я бы не рекомендовал Pimcore для малого бизнеса из-за его сложности и использования большого количества PHP под капотом. Pimcore — ваш выбор, если вы — средняя или крупная компания, которая ищет комплексное решение для PIM, DAM, электронной коммерции, MDM и CDP. Кроме того, вы должны помнить, что вам нужны ресурсы с хорошим знанием PHP для реализации своего проекта, если вы хотите реализовать его самостоятельно.

3. OpenPIM, англоязычная версия


image

OpenPIM — полностью бесплатное решение. У него нет коммерческой версии, но при необходимости вы можете получить коммерческую поддержку.

3.1. Модель данных

OpenPIM имеет широкие возможности для определения модели данных, схожие с Pimcore. Вы можете определить свой тип и привязать к нему необходимые атрибуты.

Система имеет множество различных типов атрибутов, которые вы можете использовать. Наследование данных напрямую не поддерживается, но может быть легко реализовано с помощью Действий — https://openpim.ru/docs/admin/guide/03_Actions.html.

3.2. Иерархии

OpenPIM использует тот же подход, что и Pimcore. Вы можете определить свои собственные типы и использовать их как иерархии (в дополнение к типам, которые используются для продуктов). Затем вы можете использовать отношения, чтобы связать структуру с продуктом или любыми другими данными.

Когда пользователь работает со структурами в Pimcore или Akeneo, он может создавать их по своему усмотрению без какого-либо контроля. Если вы хотите ограничить, какие уровни и как будут создаваться, вам придется использовать собственный PHP-код. У OpenPIM здесь больше возможностей, вы можете определить ограничения с помощью конфигурации без какого-либо программирования.

3.3. Пользовательские объекты

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

Хранение дополнительной информации — важный аспект всех PIM систем и OpenPIM имеет всю необходимую функциональность для этого.

3.4. Зависимости

Зависимости используются для логической связи ваших данных — детали в документации. Но здесь вы также можете назначить атрибуты и зависимостям, это больше, чем могут сделать Akeneo или Pimcore.
Вы также можете ограничить количество таких зависимостей, что позволяет моделировать отношения «один к одному», «один ко многим» и «многие ко многим».

3.5. Варианты

OpenPIM не имеет встроенной поддержки вариантов. Их можно легко смоделировать в модели данных, используя типы и отношения. Таким образом, вы можете легко сохранить эту информацию, но нет специального интерфейса пользователя для вариантов, поэтому вам придется использовать обычный интерфейс для работы с ними. Это менее удобно, чем у Akeneo или Pimcore.

3.6. Активы

Бесплатная версия Akeneo не имеет хорошей поддержки активов, Pimcore — это полнофункциональный DAM, поэтому он поддерживает даже больше, чем необходимо. OpenPIM стоит посередине. Он имеет поддержку активов из коробки, поэтому вы можете загружать и связывать файлы и изображения с любым объектом, вы можете создавать структуры для своих активов и добавлять для них необходимые атрибуты. Но вы не можете генерировать файлы производные от существующих (например изображения с другим разрешением или форматом) как в системах DAM. Обычно, для PIM систем этого достаточно, но Pimcore, конечно, имеет больше возможностей в этой области.

3.7. Импорт/Экспорт

OpenPIM имеет отличную поддержку импорта и экспорта, поскольку использует полнофункциональный бесплатный инструмент ETL — Talend. Подробности смотрите на https://openpim.ru/docs/admin/guide/02_ImportExport.html.

Таким образом, вы можете импортировать данные из любых источников: CSV, Excel, XML, текстовые файлы, базы данных, веб-службы и т.д. И вы также можете экспортировать данные во все эти источники.

3.8. Полнота продукта и качество данных

Так же, как и в Pimcore OpenPIM не имеет готовой функциональности полноты продукта, но это легко реализовать через Действия. Это потребует некоторых навыков программирования, но не настолько, насколько это необходимо для Pimcore, потому что здесь вы можете задать небольшую логику на javascript, которая будет выполняться при некоторых событиях, и это позволит вам определить логику полноты продукта.

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

Это лучшая поддержка импорта/экспорта из всех трех решений.

3.9. Пользовательская логика и расширение интерфейса пользователя

Как я уже писал, основная возможность определять настраиваемую логику — это Действия. Это небольшой код javascript, который может выполняться при наступлении некоторых событий, таких как создание или сохранение данных и других. Вам по-прежнему нужны знания в области программирования, но это намного проще, чем писать собственный PHP-код. В результате вы можете создать свою собственную логику с меньшими затратами времени и усилий.

Недостатком является то, что вы не можете определить свой собственный пользовательский интерфейс, если вам это нужно. Вы можете создать только кнопку, которая будет выполнять некоторые предопределенные действия. Это может быть достаточно для некоторых случаев, но конечно не для всех.

3.10. Заключение

Я бы порекомендовал OpenPIM малым и средним компаниям, которые хотят внедрить PIM-решение самостоятельно, не платя дополнительных денег компаниям-партнерам за помощь в этом процессе.

Его легко изучить и использовать. У него есть некоторые ограничения, такие как невозможность определить настраиваемый пользовательский интерфейс, но в большинстве случаев он покрывает все потребности для реализации PIM системы.

OpenPIM не очень подходит для крупных компаний, потому что в нем отсутствуют некоторые функции, которые требуются таким предприятиям, такие как workflows, порталы поставщиков и т.д., Но он хорош для малого и среднего бизнеса.
Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 15

    0
    А можно ли использовать эти системы, как продуктовый каталог для Интернет-магазинов? То есть не делать хранение товаров в отдельном движке, скажем, opencart, а использовать PIM, и просто доделать всякие страницы типа «О магазине», «Корзина» и пр?

    Вопрос связан с тем, что я последнее время думаю, что хорошо бы кроме интернет-магазина иметь еще возможность строить лендинги с подтягиванием продукта, а часть продуктов вынести на другие типа сайтов, например, оптовый. То есть иметь один мастер-истоник продуктов со сквозными id. Кажется, из того, что я прочел — PIM может решить такую задачу?
      0
      Да, PIM системы для этого и созданы чтобы являться центральной системой где хранится и создается вся продуктовая информация. Затем уже когда информация создана и проверена (PIM может делать проверки автоматически) она выгружается (экспортируется) в другие системы, такие как веб сайты, маркеплейсы и т.д.

      Иметь систему для интернет магазина все равно надо, но в ней теперь можно иметь только нужную информацию. Например для оптового магазина можно иметь специальные цены, условия поставки и т.д., а для розницы этого не надо. Маркеплейсы требуют чтобы товар был в нужной для них категории (а они разные для каждого маркетплейса) поэтому можно иметь все типы категорий в PIM и выгружать уже нужную в каждый маркетплейс и т.д.

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

        Более того, PIM системы в первую очередь предназначены для мастер-данных, не для операционных. То есть цены там вести можно, но — не супер идея.
          0
          Согласен полностью. Только немного не так бы сказал, управлять ценами в PIM не стоит (если есть другие варианты), то есть источником цен обычно PIM не является, это обычно ERP. Но цены это очень важная часть продуктовых данных, поэтому без них никуда. Часто их импортируют из других систем, затем добавляют в продуктовую информацию все что надо и выгружают уже готовую информацию.
          Хотя на моей практике в примерно половине внедрений PIM где я участвовал цены были именно в PIM (так что это не догма)
            0
            Тут самый главный вопрос в том, насколько часто цены меняются. Экспорт мастер-данных из PIM — процесс тяжёлый, зато его на условную «витрину» достаточно делать раз в сутки или того реже, и то — только изменения. Если окей менять цены с такой частотой, то да, можно их гонять по маршруту ERP -> PIM -> витрина.

            Если есть необходимость менять чаще — то без вариантов придётся заводить 2 параллельных потока: мастер-данных (из PIM) и цен (из ERP) в тот самый кэш товаров, и уже оттуда агрегированные данные показывать покупателям.
              0
              согласен. У нас цены часто не менялись, поэтому выгружали их из PIM.
        0
        А как выглядит типовая интеграция MDM и PIM? С точки зрения процесса.
          0
          PIM считается частью MDM. То есть PIM это Product MDM, есть еще например Customer MDM, Location MDM и т.д.

          MDM это система которая получает данные из нескольких источников, очищает их, убирает дубликаты. В классических MDM системах происходит процесс матчинга (то есть нахождения потенциальных дубликатов) потом идет merge (слияние) когда генерируется так называемая «золотая запись» (то есть наиболее правильная информация о той сущности с которой работает MDM)

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

          То есть PIM это такой специфичный MDM который имеет дополнительную функциональность которая не нужна для других сфер где работает MDM.

          И часто PIM системы это еще и MDM (опять же для крупных и сложных проектов). Тот же Pimcore еще и MDM. Еще например Stibo (одна из известных PIM систем) это и PIM и MDM и т.д.

          Ну и если в компании есть какой-то MDM и его надо интегрировать с PIM то интеграция делается как и со всеми другими системами через обмен файлами или напрямую через API
          0
          По первым двум PIM-системам, поставить их на сервер еще не каждый сможет.
          По третьей не нашел системные требования. Ставить из докера как бы можно, но хотелось бы котролировать весь процесс.
          Ну и последнее. Я бы рекомендовал мелкому и среднему бизнесу все-таки обратить свое внимание на данную систему demo.atropim.com (ранее она развивалась под брендом TreoPIM).
          Гибкая, легкая в установке (через композер), можно создавать любые свои сущности с разными типами связи. Есть допмодули, но они к сожалению платные и довольно дорогие.
            0
            согласен про устновку, я помучался с установкой Akeneo и Pimcore…

            Докер удобен для тех кто не хочет заморачиваться. Идея как раз дать PIM чтобы его было легко использовать не тратя время на посторонее.

            Если хочется запустить OpenPIM без докера то могу рассказать как (напишите в личку). Можете глянуть в исходники, там все просто. UI сделан на Vue и может быть скомпилирован и выложен через любой HTTP сервер (в докере используется Nginx). Сервер это node.js (express) его тоже легко запустить. надо только подправить .env файлы для конфигурации этих двух частей.

            Что касается системных требований к OpenPIM, то надо иметь запущенным 3 компонента: HTTP сервер, node процесс и postgres SQL. Все это легко запустится даже на 1 Гб памяти, процессор мало важен.
              0

              У нас получилось завернуть PIMCore в Docker Swarm, на самом деле это тот еще квест оказался, даже если он на первый взгляд работает — при обновлении или редеплое он легко случайно превращается в тыкву.


              Причина отмечена в статье — PIMCore генерирует PHP классы на основании данных в внесеных пользователями системы в БД. Из за этого добится не ломающего деплоя оказалось очень тяжело, и некоторое время часть проблем приходилось решать просто прокликиванием настроке в пользовательском интерфейсе (при сохранении классы перегенерировались и сохранялись на диск).


              И таких заморочек там много. Поэтому для поиграться я бы не рекомендовал запускать его в докере (штатные Dockefiles что идут в комплекте большей частью бесполезны)


              А вот сетап через композер на сервере достаточно безпроблемен и легок для изучения системы.

              0

              А как у этих систем с API? Хотя бы для простого получения данных

                0
                конечно есть, у всех. У Akeneo и Pimcore есть REST API. У OpenPIM — graphgl.
                Вытаскивать данные вообще без проблем.
                  0

                  Это кардинально меняет дело, если есть возможность внедрить в существующую систему как отдельный независимый сервис, а не файлики экспортить/импортить.

                    0

                    Pimcore deprecated REST API. В следующей версии его уже не будет.
                    Вместо него они представили DataHub, который собственно предоставляет GraphQL к данным внути PIM

                Only users with full accounts can post comments. Log in, please.