ОБЗОРЫ
Можно, только осторожно
Специалисты eWeek Labs полагают, что программы с открытым исходным кодом можно было бы использовать гораздо шире, но подходить к этому нужно с осторожностью. Если, скажем, на Web-серверы и серверные операционные системы вы вполне можете положиться, то предложения об использовании средств планирования ресурсов предприятия (ERP) и управления отношениями с клиентами (CRM) требуют внимательного изучения. А может, и вообще на них пока лучше не рассчитывать. Аналитики eWeek Labs сопоставили стоимость, функциональность и уровень комфортности традиционных приложений и программ с открытым кодом (сравнительная характеристика которых приведена в таблице).
Открытые коды для корпоративного применения
КАТЕГОРИЯ | ДОСТОИНСТВА | НЕДОСТАТКИ | ЦЕНОВОЙ АНАЛИЗ | РЕЗЮМЕ | ОСНОВНЫЕ ИГРОКИ |
Средства разработки | Инструментальные программы с открытым кодом способствуют развитию сообщества разработчиков; наличие мощного инструментария для открытых платформ способствует их быстрому развертыванию на предприятиях | Традиционные инструменты зачастую быстрее учитывают новые возможности современных платформ; нередко и сами приложения, разработанные с помощью инструментария с открытым кодом, разрешается распространять только в рамках лицензии с открытым кодом | Большая экономия в расчете на рабочее место при использовании инструментария с полностью открытым кодом, которая, однако, может быть сведена на нет из-за меньшей по сравнению с более мощными коммерческими комплектами производительности труда разработчика | Некоторые предложения стоит внимательно изучить; необходимо обращать внимание на кросс-платформные возможности, выбор языков программирования, а также особенности лицензирования | Apple, Borland, IBM, сообщества, развивающие Linux и Java |
СУБД | Проверенная на практике производительность; поддержка многопользовательского режима и стабильность; наличие механизма транзакций; поддержка стандарта SQL и протокола доступа к базам данных; высокая производительность в ИС нижнего уровня | Слабость функций администрирования и настройки; отсутствие таких аналитических средств, как OLAP и интеллектуальный анализ данных; отсутствие или ограниченность поддержки ряда важных технологических возможностей | Такие продукты можно развертывать бесплатно; быстрее всего экономия проявляется там, где нужно большое количество лицензий на доступ к базе данных; найти специалистов по поддержке MySQL довольно просто | Широкий выбор продуктов для проектов малого и среднего масштаба с использованием одиночных серверов, а также для встроенных и отраслевых систем, где не требуется ни тиражирование, ни регулярное дистанционное администрирование | MySQL, PostgreSQL, Firebird (на основе InterBase корпорации Borland), SAP DB |
ПО корпоративного управления | Такие программы с открытым кодом хорошо подходят для небольших проектов и компаний | Ограниченная функциональность; непроверенность на практике; относительно небольшие сообщества пользователей; бедный выбор программных продуктов | Экономия при покупке вполне может быть сведена на нет затратами на заказную настройку и обучение персонала | Функции ERP, CRM и бухгалтерского учета можно найти лишь в немногих пакетах с открытым кодом | ComPiere, Nola, SQL-Ledger Accounting, GNU Enterprise, Double Choco Latte |
Корпоративные службы каталогов | Соответствие стандартам; многоплатформная поддержка; полный набор функций; высокий уровень безопасности | Отсутствие графического административного инструментария; большие затраты времени и усилий при администрировании сложных продуктов | Эти продукты распространяются бесплатно, но необходимую для работы с ними подготовку администраторов нельзя назвать ни простой, ни дешевой | OpenLDAP - достойная альтернатива коммерческим корпоративным службам каталогов; BIND уже хорошо показал себя в Интернете; правда, конфигурирование обоих этих продуктов требует специальной подготовки | OpenLDAP, BIND |
Web-серверы | Высокий уровень безопасности, производительности и масштабируемости Web-продуктов с открытым кодом проверен на практике | Отсутствие удобных пользовательских интерфейсов для управления серверными компонентами, а также графических средств разработки для ряда языков программирования | Системы с открытым кодом этой категории, возможно, не столь удобны, как коммерческие, но подготовка персонала для работы с ними и стоимость развертывания обычно очень малы | Вся Всемирная паутина создавалась на основе серверов и языков с открытым кодом, и с тех пор популярность таких технологий только возросла | Apache, Perl, PHP, Python |
Средства обеспечения безопасности | Очень широкий охват различных областей; доступность конечному пользователю дополнительных функций и средств тестирования, которые почти не предлагаются производителями стандартных средств такого рода | Потенциально высокая опасность ошибок со стороны начинающих менеджеров, ответственных за безопасность; значительная вероятность нанесения серьезного вреда сети | И для коммерческих продуктов такого рода, и для систем с открытым кодом крайне важна подготовка персонала, но затраты на нее в любом случае окажутся намного ниже того, во что может обойтись ущерб, нанесенный сети неопытным новичком | В основе инфраструктуры безопасности большинства компаний уже сейчас лежат открытые коды, поскольку именно они чаще всего используются при создании приложений и услуг безопасности | Nmap, OpenSSH |
Средства сетевого управления | В этой области продукты с открытым кодом обеспечивают полную детализацию управления | Чрезмерно растянутый цикл разработки; необходимость привлечения консультантов | Ввод таких продуктов в эксплуатацию требует привлечения консультантов и наличия собственных специалистов по Linux, что составляет главную статью расходов в этой области | Обязательно включите системы сетевого управления с открытым кодом в список приоритетов бюджета следующего года. Не забудьте только пополнить свою команду талантливым знатоком Linux | OpenNMS, NetSaint, GxSNMP, Mon |
Средства разработки
Питер Коффи
Существует три определения понятия инструмента с открытым кодом. Самое простое из них включает в эту группу все программы с открытым кодом независимо от того, предназначены ли они для работы на открытых или запатентованных платформах. В качестве примера можно привести Waba (www.superwaba.com) - инструментарий с открытым кодом и Java-подобным языком для устройств на базе Palm OS и Windows CE (см. www-106.ibm.com/developerworks/wireless/library/wi-tip13.html).
А участники проекта Tigris (www.tigris.org) пытаются в полной мере использовать дух сотрудничества, присущий сообществу разработчиков программ с открытым кодом, для того чтобы повысить общий уровень инструментальных средств независимо от целевых платформ.
Ко второй группе можно отнести средства разработки с открытым кодом, как бесплатные, так и коммерческие, предназначенные для создания ПО, распространяемого также с открытым кодом. Его библиотеки и другие ресурсы можно без каких-либо отчислений применять в создаваемых программистами продуктах. Корпорация Borland Software, например, свободно распространяет версию своего инструментария Kylix Open Edition. Его исходные тексты полностью открыты, а библиотеки подпадают под условия GNU GPL (General Public License). Подробнее об этом можно узнать по адресу: www.borland.com/kylix.
“Мы считаем, что должна иметься принципиальная возможность сделать любой исходный текст приложения открытым, - заявил Майкл Суиндел, директор Borland по средствам быстрой разработки приложений, в недавнем разговоре с представителем eWeek Labs. - Именно поэтому все библиотеки Kylix строились с учетом обоих вариантов”.
Пока Kylix использует только лежащий в основе Delphi объектный язык Pascal корпорации Borland, однако уже версия Kylix 3 будет поддерживать и C++. Правда, этой среде разработки сразу же придется вступить в конкуренцию с KDevelop (www.kdevelop.org) - инструментарием GNU GPL C/C++, уже доступным для Linux с оболочкой K Desktop Environment, равно как и для Windows и Mac OS X.
И наконец, коммерческий инструментарий может быть предложен в версии, позволяющей создавать закрытые приложения для платформ, распространяемых с открытым исходным текстом. Такой подход сочетает низкую стоимость развертывания узлов на основе ПО с открытыми кодами (например, кассовых терминалов или киосков самообслуживания) с доступом к базам данных высокого уровня и другим корпоративным ресурсам. Здесь особой популярностью пользуется уже упоминавшийся инструментарий Kylix в профессиональной (Kylix Professional Edition) и корпоративной (Kylix Enterprise Edition) редакциях.
“Проблемы с Internet Information Services корпорации Microsoft стали мощным стимулом корпоративных разработок для платформ с открытым кодом”, - заявил Суиндел, нисколько не злорадствуя, но и не чувствуя угрызений совести из-за того, что Borland активно использует открывшиеся возможности. Заложенные в Kylix функции разработки Web-сервисов, размещаемых на Apache, встретили самый теплый прием.
Очень полезными оказались и возможности Delphi по переносу приложений, разрабатываемых в среде Windows. Однажды, как вспоминает вице-президент Borland Саймон Торнхилл, когда нужно было портировать Delphi-проект из Windows на Linux, консультант отвел на это неделю, а в действительности перенос занял всего два часа.
Многие воспринимают термин “открытые коды” как синоним Linux, но это далеко не так. Известна, например, операционная система с открытым кодом Darwin (developer.apple.com/darwin), ставшая основой Mac OS X фирмы Apple Computer. В качестве другого крупного проекта с открытым кодом можно назвать потоковый мультимедиа-сервер на основе развиваемой Apple технологии Mach. Правда, Apple выдвигает весьма противоречивые условия лицензирования (с ними можно ознакомиться по адресу: www.opensource.apple.com/apsl), поэтому командам разработчиков необходимо очень внимательно разобраться во взаимоотношениях между инструментарием, который они применяют, и возможностями лицензирования, которыми они хотят воспользоваться.
Системы управления базами данных
Тимоти Дик
Две основные СУБД с открытым кодом - MySQL и PostgreSQL - уже имеют большие сообщества пользователей и богатые онлайновые ресурсы. Они прошли проверку временем и обеспечиваются коммерческой технической поддержкой. Образовались уже и группы разработчиков, специализирующихся на этих базах данных.
Инструментарий MySQL, Control Center, который готовит к выпуску MySQL AB,
предложит улучшенные функции администрирования баз данных
MySQL не столь универсальна, как PostgreSQL, поскольку в ней отсутствуют такие важные функции SQL, как подвыбороки, представления, ссылочная целостность (внешние ключи), хранимые процедуры и триггеры.
В то же время, как показало проведенное в eWeek Labs эталонное тестирование серверов баз данных (специальный отчет по нему можно найти на узле www.eweek.com/links), MySQL работает очень быстро и полностью поддерживает уровни изоляции транзакций через SQL. Благодаря высокой производительности эта СУБД отлично подходит на роль кэша базы данных, а то и самой базы данных для интерактивных проектов, например для оперативной генерации Web-страниц. Кроме того, MySQL хорошо работает и в среде Windows, и в системах Unix.
PostgreSQL, со своей стороны, обеспечивает почти полное соответствие стандарту SQL-92, включая все основные его функции, которых недостает MySQL. Предусмотрена также поддержка хранимых процедур (а также триггеров) на нескольких языках и самых современных возможностей проектирования БД. В частности, допускается наследование структуры базы данных и индексирование по результату выполнения функции. Наличие геометрических функций и индексов очень полезно при работе с картографической информацией.
Для PostgreSQL предлагается программный Windows-клиент, однако развернуть сервер в этой среде довольно сложно, так как понадобится еще пакет Cygwin фирмы Red Hat, содержащий библиотеки эмуляции Unix для Windows. В результате эта СУБД чаще всего находит применение в среде Unix. Основной коммерческой версией PostgreSQL является Red Hat Database фирмы Red Hat.
Недавно в мире программ с открытыми кодами дебютировали еще две СУБД - Firebird (на основе Interbase 6.0 корпорации Borland) и SAP фирмы SAP AG. Но новичками их не назовешь: оба производителя имеют богатую историю коммерческих разработок.
Новые СУБД отличаются высокой функциональностью - предлагают полную поддержку SQL, транзакций, хранимых процедур и триггеров. Правда, они еще не успели “обзавестись” организованными сообществами разработчиков открытых кодов, да и выбор онлайновых ресурсов для них весьма ограничен.
После публикации исходного текста InterBase 6.0 корпорация Borland от дальнейших планов в этом направлении отказалась. Код очередной версии InterBase 6.5 перестал быть открытым, т. е. Firebird и InterBase стали теперь совершенно различными продуктами.
При создании всех упомянутых выше СУБД основное внимание уделялось реализации лишь базовых функций SQL, поэтому они не в состоянии конкурировать с самыми известными коммерческими продуктами. Программы с открытым кодом уступают лидерам рынка по целому ряду очень важных показателей: им недостает возможностей онлайновой аналитической и интеллектуальной обработки, они не могут использоваться для реализации крупных хранилищ данных, в них не поддерживается кластеризация для повышения производительности, отсутствуют средства для хранения XML-документов и обработки запросов к ним, они несовместимы с Enterprise JavaBean. Нет также модулей расширения для нестандартных типов данных, шлюзов доступа к внешним источникам и поддержки распределенных транзакций.
Графический инструментарий администрирования есть, но он довольно примитивен и не может идти ни в какое сравнение с коммерческими продуктами такого типа, предлагающими богатый выбор функций конфигурирования, управления, мониторинга и настройки. В результате сопровождение СУБД с открытыми кодами обходится дороже.
ПО корпоративного управления
Тимоти Дик
Когда дело доходит до систем управления ресурсами предприятия (ERP) и управления отношениями с клиентами (CRM), мир открытых кодов не может порадовать чем-либо существенным. Один из немногих продуктов здесь - Compiere фирмы ComPiere, который предназначен для малых и средних организаций и сочетает в себе функции ERP и CRM.
Он поддерживает различные языки и валюты, позволяет использовать разнообразные схемы бухгалтерского учета, налогообложения и распределения затрат. Для Compiere имеются клиенты Windows и HTML, предусмотрены в нем и возможности анализа корпоративных данных. Кроме того, фирма-производитель предлагает различные виды платной поддержки своего детища.
Compiere - пакет планирования ресурсов предприятия и управления отношениями с клиентами для малых и средних организаций
Еще одну ERP-систему с открытым кодом под названием Value готовит к выпуску фирма Emryn International and Aastha (sourceforge.net/projects/value). Продукт еще не выпускается, но с его бета-версиями можно ознакомиться уже сейчас.
Из бухгалтерских пакетов с открытым кодом рынок предлагает только Nola (выпускается с октября 2001 г.) и SQL-Ledger Accounting (в июле отметил свое двухлетие).
Общий дефицит корпоративного ПО с открытым кодом подтолкнул фонд Free Software Foundation к разработке собственного комплекта бизнес-приложений GNU Enterprise. Целью этого проекта является создание многоязычного и многовалютного программного обеспечения с открытыми исходными текстами для управления финансами и бюджетом, электронной коммерцией, кадровой службой, проектами, исследованиями и разработками, цепочками поставок, производством и сбытом, а также средств анализа бизнес-информации. Что ж, амбиций инициаторам этого проекта не занимать!
Работа пока находится на ранней стадии. В начале июня команда GNU Enterprise выпустила обновленную версию инструментария для проектирования форм и соответствующую среду исполнения (с его помощью можно создавать приложения для Unix и Windows). В этот пакет среди прочего вошли первые версии (0.0.1) генератора отчетов и сервера приложений.
Все имеющиеся на сегодняшний день компоненты находятся на стадии альфа-тестирования (а то и не дошли до нее), а полноценные приложения пока вообще не реализованы.
Приложение Double Choco Latte помогает следить за заказными работами и ходом выполнения проектов
В дополнение к общей инфраструктуре прикладных систем проект GNU Enterprise предусматривает создание приложения под названием Double Choco Latte. Предназначенное для управления проектами в области поставок, контроля сроков и заявок, само оно в эту инфраструктуру не входит. Раньше разработка этого приложения велась независимо, однако в марте была включена в проект GNU Enterprise.
Корпоративные службы каталогов
Тимоти Дик
Пакеты с открытым кодом уже набрали солидную критическую массу и оказывают заметное влияние на рынок корпоративных служб каталогов и DNS.
По мере роста популярности стандарта LDAP (особенно после того, как Novell и Microsoft отказались от своих запатентованных решений в пользу этой технологии) увеличивался интерес к OpenLDAP - LDAP-серверу с открытым кодом, в основу которого положена оригинальная разработка мичиганского университета (именно здесь был предложен этот протокол).
OpenLDAP поддерживает LDAP 3 (последнюю версию спецификации), предлагает надежные функции безопасности и управления доступом, позволяет производить репликацию по схеме главный - подчиненный, применяемую в отказоустойчивых системах (предусмотрена здесь и функция тиражирования с несколькими главными узлами, однако она пока имеет статус экспериментальной; коммерческие LDAP-серверы, в числе которых и Sun Open Net Environment Directory Server фирмы Sun Microsystems, в этом отношении обошли OpenLDAP).
Directory Administrator упрощает администрирование OpenLDAP
В OpenLDAP, к сожалению, нет графических средств администрирования, хотя их можно найти во многих дополнительных продуктах сторонних производителей.
Directory Administrator Мануэля Амадора, скажем, скрывает всю “начинку” LDAP под пользовательским интерфейсом, очень похожим на инструментарий администрирования служб каталогов Windows 2000 или Novell. Эта утилита прилагается к ряду дистрибутивов Linux.
Популярностью пользуется также более низкоуровневый инструментарий под названием GQ, который в дополнение ко всем возможностям редактирования содержимого каталогов предлагает и функции модификации схем.
Интерфейс GQ OpenLDAP позволяет управлять как содержимым, так и схемами LDAP-каталогов
Практически все организации для разрешения адресов хост-систем применяют сегодня серверы DNS (Domain Name System). В этом качестве им хорошо подойдет уже завоевавшая известность реализация такого сервера BIND (Berkeley Internet Name Domain) с открытым кодом. Полнофункциональную версию продукта BIND 9.2 можно смело развертывать в качестве основного DNS-сервера предприятия.
Web-разработка
Джим Рапоза
Вопрос о том, подходят ли программы с открытым кодом для инфраструктуры Web, не должен вызывать никаких сомнений: такие продукты уже легли в основу Web-приложений очень многих компаний. Даже если ваша организация пока не совсем готова перевести на них существенную часть Web-архитектуры, будьте уверены: многие ваши конкуренты и партнеры это уже делают.
О программах с открытым кодом зачастую судят по Web-серверу Apache, который уже получил широчайшее распространение в Интернете и славится своей гибкостью, масштабируемостью и (несмотря на недавно вскрытые бреши в системе защиты) безопасностью. Кроме того, Apache является стандартным Web-сервером в большинстве систем Linux и Unix, включая Mac OS X.
Хотя львиная доля внимания уделяется Apache, существует и много других Web-серверов с открытым кодом. Назовем только Roxen фирмы Roxen Internet Software, Red Hat Content Accelerator фирмы Red Hat, Xitami корпорации Itamax и Jigsaw консорциума W3C.
Такое же обилие не менее популярных предложений можно наблюдать и в области разработки Web-приложений. Здесь лидирует язык Perl Ларри Уолла. Появившийся на свет еще до рождения Всемирной паутины, он с самого начала разрабатывался как переносимый и стал едва ли не идеальным для выполнения многих простых задач. Программистам этот язык по сей день помогает составлять сценарии для Web-страниц и реализовывать такие функции, как доступ к базам данных. В результате, даже несмотря на сильную конкуренцию со стороны других языков, Perl по-прежнему используется во Всемирной паутине.
Перечисление всех других языков разработки с открытым кодом, применяемых при создании Web-приложений, заняло бы слишком много места, поэтому назовем только несколько из них - PHP, Python, Tcl и Pike.
Но разработка Web-приложений программированием не ограничивается. И тут мы вновь встречаемся с открытыми кодами: некоторые из наиболее распространенных серверов приложений также входят в эту группу ПО. Это - Java-серверы Tomcat и Jboss, а также сервер приложений Zope на базе языка Python.
Средства обеспечения безопасности
Джим Рапоза
Во многих отношениях инструментарий такого рода можно считать самым важным агентом влияния из мира открытых кодов. Специалисты, считающие, что они совершенно не используют продукты Open Source, зачастую бывают просто поражены, узнав, как широко последние применяются в защитных инфраструктурах их компаний. Даже если они полагаются только на коммерческие приложения и услуги, можно с большой уверенностью утверждать, что те основаны на средствах защиты с открытым кодом.
Инструментарий обеспечения безопасности с общедоступными исходными текстами находит самое широкое применение - от сканеров портов наподобие Nmap до систем проверки уязвимости вроде давно известного SATAN (Security Administrator’s Tool for Analyzing Networks). Последний, когда-то воспринимавшийся многими как орудие хакеров, получил новое название SARA (Security Auditor’s Research Assistant).
Даже простое перечисление инструментальных средств с открытыми кодами, которые присутствуют сегодня на рынке, заняло бы раза в два больше места, чем весь наш обзор. Дело в том, что очень многие исследователи и компании делают исходные тексты своих программных сканеров и аудиторов совершенно открытыми. И достаточно самого беглого взгляда на предлагаемый здесь ассортимент, чтобы заключить: при обеспечении безопасности от программ с открытым кодом никуда не деться и компаниям волей-неволей приходится использовать их в предназначенной для этого инфраструктуре.
Когда администратору нужно разобраться, что происходит в сети, он обычно обращается к услугам таких традиционных утилит Unix, как давно известная Tcpdump. Но поскольку этот инструмент не приспособлен для обнаружения опасного трафика, был разработан широчайший спектр других программ для слежения за сетевыми злоумышленниками. Самая известная и, по-видимому, широко используемая из них - система обнаружения вторжений Snort.
Тем же, кто хочет заблаговременно вскрыть потенциальные проблемы в собственных системах, сообщество открытых кодов предлагает множество средств аудита и сканирования. Программа Nmap, например, всегда подскажет администратору, какие порты активны в данный момент, а более совершенные приложения наподобие SARA и Nessus просканируют всю сеть и покажут известные им уязвимые места и бреши в системе безопасности.
Ну а самые смелые администраторы всегда могут прибегнуть к услугам ряда потенциально опасных программ с открытым кодом и получить доступ ко многим возможностям из арсенала хакеров. С помощью таких средств можно провести самое изощренное тестирование инфраструктуры безопасности. Инструментальная программа Nemesis, в частности, позволит имитировать многие типы атак, проводимых посредством вставки и генерации пакетов.
Очень многие приложения дают пользователям возможность шифровать информацию и защищать свои системы. Их спектр простирается от средств защиты отдельных сеансов вроде OpenSSH до инструментов управления межсетевыми экранами, например Firewalk. Нашей любимой программой из этой области является LaBrea, помогающая бороться с сетевыми “червями”.
Сетевое и системное администрирование
Камерон Стардевант
Что касается управления сетями и системами, то здесь в поле зрения попадают в первую очередь такие самодостаточные системы, как Unicenter фирмы Computer Associates International, OpenView компании Hewlett-Packard и Tivoli корпорации IBM.
Однако их производители, похоже, делают все возможное (разве только не рассылают письменные предложения), чтобы потенциальный пользователь решил присмотреться к альтернативным системам с открытым кодом. Очень высокая цена, постоянно растущие расходы на консультантов и техническое обслуживание - все это приводит к тому, что подобные закрытые системы становятся не программным (software), а “складируемым” (shelfware) обеспечением.
Программа NetSaint Этана Галстэда наглядно демонстрирует наиболее важные из выявленных проблем
Присмотритесь и вы к претендентам из мира открытых кодов. Здесь вы найдете приложение OpenNMS, разработанное одноименной группой (www.opennms.org), пакет Nagios (раньше он носил название NetSaint) Этана Галстэда (www.nagios.org), программу-демон мониторинга услуг Джима Троки под названием Mon.
Мы в eWeek Labs с успехом применяли NetSaint для мониторинга своей системы награждения eXellence Awards и всей сети. Установлена в нашем центре и утилита OpenNMS. Оба этих продукта подают предупреждающие сигналы, информируют о производительности и позволяют проводить простую диагностику точно так же, как и упомянутые выше закрытые системы сетевого администрирования. А производительности программ с открытым исходным текстом вполне хватает для решения широкого круга задач.
Одно из основных слабых мест ПО с открытым кодом связано с недостаточной его масштабируемостью, однако и OpenNMS, и Nagios уже работают в этом направлении.
В Nagios, к примеру, предусмотрена поддержка резервных и распределенных серверов мониторинга, благодаря чему корпоративный пользователь может получать информацию из удаленных офисов, надежность связи с которыми оставляет желать лучшего. А на форуме разработчиков OpenNMS недавно обсуждались технические аспекты мониторинга 10 тыс. устройств. Конечно, такая цифра может показаться всего лишь каплей в море аппаратных систем крупной корпорации, однако она свидетельствует: процесс пошел в нужном направлении.
Таким образом, приемлемая цена и постоянно растущие ряды консультантов делают инструменты управления с открытым кодом достойными внимания больших организаций ИТ.
(Окончание следует)