В настоящее время многие крупные производители ПО имеют в свой линейке продукты, распространяемые под лицензиями, в той или иной степени совместимыми с принципами открытого исходного кода. Список этих производителей содержит как признанных апологетов этого подхода (Red Hat, Apache Software Foundation, Mozilla Foundation), так и производителей, которых исторически можно отнести к его противникам (Oracle, Microsoft, Nokia, Samsung). Более того, на самом деле можно долго оспаривать следующий факт, но продукты с исходными кодами практически полностью покрывают нужды большинства обычных и корпоративных пользователей, и к настоящему моменту в стороне остались лишь компьютерные игры и специализированные решения уровня крупного предприятия. Да-да, мир открытого ПО содержит в себе даже ERP- и CRM-системы. Может показаться удивительным, откуда берутся ресурсы для развития этого ПО, но на самом деле программное обеспечение с открытым исходным кодом далеко не обязательно является бесплатным.
По большому счету единственное, что неукоснительно кочует по всем Open Source лицензиям, – это то, что при распространении подобного ПО лицензиат имеет возможность получить исходный код продукта. Будет ли он раздавать оригинальное ПО бесплатно или за деньги, не является в принципе вопросом лицензии, которая, что, в общем, логично, обсуждает лишь получаемые права. Именно поэтому большинство компаний, строящих бизнес на программных продуктах с открытым исходным кодом, к настоящему моменту, как правило, выбрали модель, при которой существует несколько версий ПО, обладающих разными возможностями, условиями поддержки и распространяемыми на разных условиях, в том числе и бесплатно.
Но не буду растекаться мыслью по древу, предлагаю пробежаться по функционалу продуктов мира Open Source, решающих задачи, в том числе описанные в нашем номере. При этом сфокусируюсь на кратком обзоре функционала и сравнении бесплатных и платных версий рассматриваемого ПО.
Открытый исходный код – возможность самостоятельно локализовать или обойти ошибку для знающих, бесплатные версии ПО – возможность легкого старта разработки и постепенного перехода на продвинутые версии продуктов в случае необходимости использования расширенной функциональности и/или обеспечения требуемого уровня поддержки
Pentaho
Первым вендором Open Source, решения которого хотелось бы упомянуть, является компания Pentaho Corporation. Список ее продуктов включает и BI-приложения, реализованные на базе собственной BI-платформы Pentaho BI Platform, и OLAP-продукты, построенные на базе своего OLAP-сервера Pentaho Analysis Services. Я остановлюсь на продукте Pentaho Data Integration (PDI).
PDI в линейке продуктов Pentaho отвечает за выполнение задач ETL (Extract, Transform, Load), причем он является классическим представителем систем этого класса, выполняющим преобразование данных до загрузки их в целевую БД. Впервые познакомиться с ним удалось в процессе решения относительно простой задачи переноса данных между БД в MS SQL и Oracle. И вроде бы и БД была маленькой, и преобразований практически никаких не выполнялось, но штатный продукт Microsoft, предназначенный для решения этих задач, – Data Transformation Services – не удалось заставить работать с приемлемой производительностью. Это был странный результат, но именно благодаря ему нам удалось познакомиться с Pentaho Data Integration, а точнее с его Community Edition редакцией – Kettle, распространяемой бесплатно. Как оказалось, Kettle предоставляет базовый функционал, характерный для больших ETL-систем. Это приятный и внятный интерфейс, позволяющий разработчику с использованием подхода drag and drop визуально описывать планируемые трансформации данных, и широкая поддержка различных СУБД и файловых структур в качестве источников и приемников.
В качестве дополнительного бонуса есть платформенная независимость, получаемая благодаря реализации Kettle на Java, и отдельный API-интерфейс, который позволяет использовать функционал этого продукта в своем ПО. До версии 4.1 включительно продукт распространялся с лицензией GNU LGPL версии 2.1 и выше, а начиная с 4.2 – с лицензией Apache License версии 2.0.
Дополнительно, за деньги, Pentaho Corporation предоставляет расширенную лицензию, позволяющую использовать функционал, привычный для больших ETL-систем:
- встроенные средства отладки;
- расширенные средства мониторинга;
- встроенные средства планирования запусков, включая возможность определения дат их начала и окончания, периодов повторения (ежедневно, еженедельно и т.д.);
- средства обеспечения корпоративной безопасности, позволяющие разграничить совместный доступ к репозитарию заданий посредством ролевой модели, интегрированной с Microsoft Active Directory или другими службами каталогов;
- встроенная система контроля версий, отслеживающая изменения заданий на преобразование данных, установку и снятию блокировок на них и позволяющая контролировать совместную разработку заданий несколькими разработчиками.
В общем и целом продукт оставил положительное впечатление, а пакеты от Pentaho, в которые он входит, выглядят еще более привлекательно. Они покрывают в той или иной степени практически все требования по системам BI и отчетности, которые существуют на данный момент у ИТ-специалистов.
Talend
Следующий вендор, заслуживающий упоминания, – это Talend. Его основная специализация – продукты в области интеграции данных (Talend Open Studio for Data Integration & Talend Enterprise Data Integration), приложений (Talend Open Studio for ESB & Talend Enterprise ESB) и управления данными (Talend Open Studio for MDM & Talend Enterprise MDM). Я рассмотрю продукт Talend MDM в его бесплатной версии Talend Open Studio for MDM. Как следует из названия, он позволяет строить решения класса MDM. При этом Talend MDM не относится к продуктам, решающим задачу управления данными в фиксированной предметной области. Решение позволяет разработчику самостоятельно определить модель данных в выбранной области, при этом он имеет возможность использовать в качестве базы существующие модели, предоставляемые сообществом разработчиков, работающих с Talend. К тому же он может:
- добавить поля сущностей модели данных;
- расширить сущности, используя функционал наследования и полиморфизма;
- доопределить правила контроля содержимого полей с помощью регулярных выражений и списков.
По большому счету единственное, что неукоснительно кочует по всем Open Source лицензиям, – это то, что при распространении подобного ПО лицензиат имеет возможность получить исходный код продукта
После определения бизнес-модели Talend MDM позволяет сформировать и модифицировать базовый пользовательский интерфейс, предоставляющий возможность искать, изменять и добавлять данные, определяемые моделью, импортировать и экспортировать их, а также строить их иерархию. Все это дополняется обычным для такого рода систем и входящим в поставку инструментарием для профилирования, удаления дубликатов, стандартизации, очистки и разрешения конфликтов с использованием данных других систем. Ну и конечно, не стоит забывать о собственном инструментарии для интеграции с внешними продуктами, включающем интеграцию, построенную на базе прикладных протоколов JMS, HTTP, FTP, веб-сервисов и CDC (Change Data Capture) в пакетном режиме и режиме реального времени. Все это доступно бесплатно в продукте, распространяемом по лицензии GPL v2 Open Source License, что несколько ограничивает стороннего разработчика во встраивании компонент в его решение, однако в общем и целом не мешает широко использовать Talend MDM по назначению.
Платная версия Talend Enterprise MDM дополнительно включает:
- расширенные средства мониторинга и диагностики;
- более широкие средства контроля и слияния записей;
- Framework BPM, позволяющий определить расширенные бизнес-процессы обработки данных, их согласования и очистки, слияния и удаления дубликатов с вовлечением в эти процессы конечных пользователей и их групп.
Это, а также бесшовная интеграция с другими продуктами Talend позволяют рекомендовать Talend Enterprise MDM для построения MDM-решений в компаниях из самых разных областей.
Apache
Ну и последним вендором, которого хотелось бы упомянуть, является Apache Foundation и его пакет Apache ServiceMix. Пакет представляет собой интегрированную среду, построенную поверх целого набора продуктов Apache Foundation. Его компоненты и функционал:
- система доставки сообщений, построенная на Apache ActiveMQ;
- маршрутизация сообщений – на базе Apache Camel;
- поддержка SOAP и REST веб-сервисов – на базе Apache CXF;
- поддержка BPEL – на базе Apache ODE;
- бесшовная интеграция всех этих компонент – на базе ядра Apache ServiceMix NMR и OSGI среды исполнения Apache Karaf.
В общем и целом Apache ServiceMix представляет собой Open Source реализацию того, что в мире ИТ сейчас очень модно называть Enterprise Service Bus. При этом каждый отдельный компонент обладает внушительной собственной функциональностью. Для примера можно взять Apache ActiveMQ, обладающий обширной функциональностью Message Broker. Это в том числе полная поддержка спецификаций JMS 1.1 и J2EE 1.4, возможность интеграции с различными серверами приложений, использования различных БД для хранения данных, применения разных транспортных протоколов (TCP, SSL, UDP, JXTA, in-VM и т.д.).
Наша компания использует Open Source решения при реализации проектов для телеком-операторов, компаний сектора финансов и страхования и т.д.
Все это доступно в высокопроизводительных и масштабируемых конфигурациях, поддерживающих балансировку нагрузки, резервирование и многие другие вещи, которые так необходимы в корпоративном сегменте.
Коммерческую поддержку продуктов, входящих в Apache ServiceMix, выполняет компания FuseSource Corp., которую поглотила компания Red Hat. Ее решения Red Hat планирует использовать для расширения функционала продуктов линейки JBoss.
Подводя общий итог, хотелось бы сказать, что по историческим причинам использование решений, построенных на программном обеспечении с открытым кодом, не очень распространено у российских корпоративных заказчиков. Отмечу, что это ожидаемо, ведь уровень доверия к сообществу, отвечающему за разработку этого ПО, обычно недостаточен из-за кажущегося отсутствия единой точки принятия решения в области развития, сопровождения и определения ценовой политики для подобных продуктов. Но на самом деле реальность выглядит по-другому: за большинством таких решений стоят крупные вендоры, способные обеспечить и круглосуточную поддержку в режиме 24x7x365, и доработки под заказ, и исправление дефектов в соответствии с SLA. В этой картине мира открытый исходный код – возможность самостоятельно локализовать или обойти ошибку для знающих, бесплатные версии ПО – возможность легкого старта разработки и постепенного перехода на продвинутые версии продуктов в случае необходимости использования расширенной функциональности и/или обеспечения требуемого уровня поддержки. А всё вместе – это новое измерение свободы.