Философия выбора лучшего все чаще ведет LeapFrog Enterprises к ПО с открытым кодом

Изготовитель детских развивающих игрушек и электроники LeapFrog Enterprises (Эмеривилл, шт. Калифорния) работает над расширением своих интернет-операций, чтобы обслуживать новую серию учебных продуктов, активно использующих Web-технологии. В то же время эта компания, планирующая свою инфраструктуру, опираясь на стратегию выбора лучшего, приступила к переориентации собственной деятельности с целью расширения области применения ПО с открытым исходным кодом. До начала нынешнего года сайт LeapFrog.com концентрировал внимание в основном на информации о продуктах и интернет-торговле. В ближайшие полтора года LeapFrog собирается его переработать, обогатив рядом новых сервисов. И эти инициативы, по словам Юджина Сьюраны, директора LeapFrog по системной инфраструктуре, будут во многом строиться на открытом исходном коде (ОИК).

В частности, компания переходит от хостинга большинства своих Web-сайтов по модели сторонних услуг ASP к использованию собственных центров обработки данных на платформах RHEL (Red Hat Enterprise Linux) и Apache Tomcat Application Server, к которым будут добавлены новые Web-функции.

“Компания начала работать с ОИК еще до того, как я сюда пришел, однако лишь недавно, где-то в последние полгода, внедрение ОИК в главные бизнес-приложения стало более явным, — говорит Сьюрана. — К концу нынешнего года практически всё, что вы будете видеть в Интернете от LeapFrog U.S., так или иначе будет использовать ОИК”.

Хотя выбор ОИК-компонентов зачастую неочевидная, а то и весьма нелегкая вещь, в LeapFrog считают, что этот путь оптимален.

Но, конечно, добавляет Сьюрана, окончательный выбор — ОИК или фирменное приложение — зависит от конкретных проекта и компании. “Свой подход к разработкам мы называем философией выбора лучшего. Более крупные компании обычно очень осторожны и стараются использовать то, что привычно и проверено, но к разработчикам, с которыми сотрудничает LeapFrog, больше подходит девиз “Старое и проверенное хорошо, когда это помогает делу”. Мы не увлекаемся ОИК или другими новыми технологиями, если они не набрали достаточной критической массы и импульса, чтобы вселять определенную уверенность в их перспективах”.

Wicket и Fly

Когда LeapFrog стала строить инфраструктуру представления для своего первенца из новой серии продуктов с использованием Web — “компьютера в авторучке” Fly Fusion Pentop Computer, ее расчет на лучшее был связан с ОИК.

Описывая устройство Fly Fusion, которое LeapFrog поставляет с июля нынешнего года, Сьюрана говорит: “В сущности, это ручка, в которую встроен компьютер, умеющий распознавать, что вы пишете на бумаге. Он обеспечивает функционирование ряда приложений, однако устройство также может взаимодействовать с Интернетом, используя ваш настольный ПК как шлюз”.

Благодаря этому в отличие от Fly Pentop версии 2005 г. “вы можете, — продолжил свою мысль Сьюрана, — загружать в ручку новый контент, приложения и т. д. прямо из Интернета, без покупки нового картриджа памяти с предустановленным ПО”.

Настольное приложение для Fly Fusion (которое вопреки использованию ОИК-ПО на серверах LeapFrog работает только в Windows) обслуживает Pentop точно так же, как приложение Apple iTunes работает с музыкальными плейерами Apple iPod: программа подключает пользователей к Web-сайтам, видимым только с помощью такого приложения, и пользователи могут из них загружать интересующий их контент.

Ключевую роль в доставке контента из его Web-хранилища играет Wicket, ОИК-инфраструктура функционирования Web-приложений на базе Java, которая зародилась еще в 2004 г. и недавно вышла из статуса Apache Incubator, став полноценным проектом Apache Foundation.

Прежде чем начинать игру...

Перед тем как ваша компания возьмется встраивать ОИК-компонент в корпоративную инфраструктуру, важно разобраться, станет ли этот проект достаточно надежным и стабильным решением. Вот ряд пунктов, на которых стоит заострить внимание, учитывая опыт Юджина Сьюраны из LeapFrog.

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

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

Лидеры ОИК-проектов нередко пересматривают и публикуют свои рабочие планы, учитывая обратную связь с сообществом и запросы пользователей.

Лицензии на сам продукт и его сторонние субкомпоненты должны быть совместимы с целями вашего бизнеса.

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

Коммерческая организация должна быть в хорошем финансовом состоянии, застрахована и обеспечена обязательствами.

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

Источник: Юджин Сьюрана.

Сьюрана и его команда считают, что Wicket идеально соответствует определению выбора лучшего: “Это одна из тех технологий, которые реально работают. Если взглянуть на другие Java-технологии для Web-сайтов с открытым исходным кодом или коммерческие, вы увидите мешанину конфигурационных XML-файлов, Web-страниц и тегирования, а это ведет к настоящей неразберихе”.

Wicket же в противоположность этому позволяет, по мнению Сьюраны, “существовать с одной-единственной моделью на базе Java, требующей минимального координирования с тем, что делает Web-браузер. Всю вашу работу Wicket неявным образом выполняет за вас. И это очень важно, так как ускоряется срок выхода конечного продукта”.

Для LeapFrog такая ускоряющая роль Wicket оказалась очень существенной. “Мы смогли завершить Java-проект Web-сайта примерно за 90 дней, — вспоминает Сьюрана. — Если мы бы использовали любую другую технологию того же профиля, то на ту же самую работу у нас наверняка ушло бы не три, а шесть месяцев. Для нас это хороший пример того, как ОИК-продукт с обширным сообществом пользователей, пользующийся достаточным авторитетом у осведомленных специалистов, может реально ускорять практическую работу”.

Соединяя открытое и закрытое

Конечно, стратегия выбора лучшего, которой придерживается LeapFrog, не сводится к предпочтению ОИК-вариантов. Когда компания стала выбирать CMS-систему (система управления контентом) для своих Web-проектов, она просмотрела не только несколько ОИК-решений, включая Alfresco и Magnolia, но и группу приложений с закрытым кодом.

Компания хотела, чтобы CMS строилась на Java, так как это позволило бы быстро запустить такую систему в дело, используя опыт команды LeapFrog в Java-разработках. Сьюрану и его группу также интересовал вариант CMS, согласованный со стандартом Java Content Repository. Хотя Magnolia и Alfresco проходили по этим параметрам, у них были другие недостатки. Так, при проверке Magnolia команда Сьюраны столкнулась с проблемами интеграции CMS с коммерческой СУБД LeapFrog. А в случае Alfresco специалисты пришли к выводу, что на интеграцию этого решения уйдет слишком много времени и сил.

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

“Коммерческое приложение, — подчеркнул Сьюрана, — имело явные преимущества, и главным предметом для беспокойства были лишь интерфейсы взаимодействия между коммерческим ПО и остальными частями инфраструктуры. LeapFrog не хотела, чтобы они тоже становились фирменными, так как это могло бы привязать компанию к конкретному производителю и ограничить свободу выбора будущих решений”.

Для того чтобы фирменная CMS хорошо ужилась с остальной инфраструктурой LeapFrog, Сьюрана и его команда обратились к другому ОИК-проекту — Mule ESB (Enterprise Service Bus — шина сервисов предприятия).

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

Аналогично Wicket одним из главных плюсов внедрения Mule, считают в LeapFrog, является экономия времени. “На интеграцию двух систем с написанием кода, тестированием и т. п. обычно уходит, — рассказывает Сьюрана, — не меньше месяца, а при помощи Mule их можно связать менее чем за неделю, потому что вам не надо менять характер работы этих систем. Вы только добавляете модуль их взаимных коммуникаций — это единственная вещь, которая требует разработки, тестирования и дополнительной отладки”.

Способность приложения к взаимодействию с Mule — и, если идти дальше, с Wicket, с поисковой ОИК-системой Apache Lucene и с другими инфраструктурными компонентами — для LeapFrog была первостепенным критерием при выборе CMS.

“Если система, — говорит Сьюрана, — по каким-то причинам не сможет работать, мы просто ее полностью удалим и поставим взамен что-то другое, позаботившись только об интерфейсах взаимодействия новой системы с Mule и ничего не меняя во всей остальной среде”.

Вместе с ОИК-сообществом

Хотя LeapFrog оценивает ОИК-ПО и фирменные продукты по одинаковым стандартам, в компании считают, что ОИК-проекты ставят уникальные задачи, но одновременно предоставляют и уникальные возможности для их решения.

По мнению Сьюраны, необходимым фактором для уверенного внедрения ОИК-компонента ПО в среду компании, является проект с развитой экосистемой разработки и обслуживания. “LeapFrog нуждается в наличии организаций, поддерживающих пользователей ОИК-продукта или предоставляющих какие-то гарантии по его работоспособности”, — считает он.

Большим плюсом для дела, в чем убедился Сьюрана по опыту своих контактов с сообществом Mule, является возможность прямого участия компаний в интересующих их ОИК-проектах.

“Углубляя свои познания о Mule, я втянулся в жизнь его сообщества, — продолжил свой рассказ Сьюрана. — Взял на себя хостинг одного из каналов IRC-сетей по тематике ESB, а в прошлом году я выступал на ряде конференций по ESB вообще и по Mule в частности. Информируя других людей, мы приглашали некоторых из них участвовать в проекте, а это, в свою очередь, активизировало совместную деятельность, еще более расширяло круг участников и повышало полезную отдачу”.

Участие в ОИК-сообществе также оказалось отличным средством для привлечения и найма новых кадров.

LeapFrog оценивает “синергию” с проектом OLPC

Юджин Сьюрана, директор по системной инфраструктуре LeapFrog (Эмеривилл, шт. Калифорния), уделяет главное внимание созданию инфраструктуры, которая позволит реализовать инициативы компании по Web-функциям своих продуктов, однако в силу своего статуса он также вовлечен в дела организации One Laptop Per Child (OLPC). Этот мобильный компьютер и действующий на нем ОИК-интерфейс Sugar привлекают внимание многих членов ИТ-сообщества, включая и автора этой статьи.

“LeapFrog как образовательная компания “понимает” OLPC и сознает важность этого проекта. Его представители с нами контактировали, и сейчас мы думаем над возможностями совместной деятельности, — говорит Сьюрана. — Это еще один пример осведомленности LeapFrog о происходящем в мире открытого исходного кода и ее стараний внести вклад в дела ОИК-сообщества и одновременно извлечь пользу для собственного бизнеса”.

Сьюрана уделил немало время тестированию одного из революционных XO-ноутбуков OLPC и участвует — в свои свободные часы — в работе по отладке стека сетевого ПО детского ноутбука.

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

Сетевые коммуникации. XO сконструирован с расчетом на возможности Wi-Fi, и этот фокус, судя по словам Сьюраны, похоже, оказался плодотворным. “ГИП-элементы работы в сети пока еще рыхловаты, однако сетевые компоненты “железа” XO — аппаратная инфраструктура поддержки сети — по моему, лучше, чем на моем MacBook, — говорит Сьюрана. — С помощью OLPC я могу поймать точку беспроводного доступа, которая не видна из MacBook”.

Приложения. Сьюрана возлагает большие надежды и на приложения XO. “Эти приложения очень полезны. Что касается использования ноутбука как походного ПК, то я недавно его опробовал на конференции в Барселоне, где был докладчиком. Я мог делать заметки и сохранять их в Word — ПО поддерживает все вообразимые стандартные форматы”, — с удовлетворением отмечает он.

Это не значит, что XO впишется в любую среду. “Явная проблема состоит в том, что его клавиатура предназначена для маленьких рук. Если вы раньше печатали вслепую, то заметите, что теперь вам приходится смотреть на клавиатуру, потому что ваши руки для нее великоваты. Однако Web-браузер XO просто отличный; он базируется на Gecko, использующем основу Mozilla Firefox. ... Практически это то же, что и Firefox”, — говорит Сьюрана.

Разумеется, в конечном счете XO сделан для детей, чтобы предоставить им новые возможности, и ноутбук, по мнению Сьюраны, достиг этой цели: “К тому он преподал всем нам интересный урок. Большинство компьютерных фанатов станет жаловаться на отсутствие мыши и всяческих принадлежностей нормального ГИП, однако у XO есть совершенно реальная аудитория, и ноутбук прекрасно ей подходит”.

Джейсон Брукс

“Мы интенсивно взаимодействуем с сообществом, и LeapFrog видит в этом не только плюс для всего дела, но и отличный канал для подбора кадров, — говорит Сьюрана. — Если я иду на конференцию и рассказываю о том, что мы делаем, люди со стороны могут это оценить и сказать: отлично, LeapFrog — очень неплохое место работы. Это создает атмосферу заинтересованности, и, может быть, сам человек, услышавший эту информацию, или знакомый его знакомого, желающий создавать ОИК, в итоге придет к нам работать, и мы будем ему рады. Ряд сотрудничающих с нами консультантов — это люди, с которыми я поначалу познакомился через IRC”.

ПК и будущие проекты

Если говорить об основной массе ПК сотрудников LeapFrog, то здесь ОИК-ПО используется куда меньше, чем в серверном зале. “На клиентской территории доминирует Windows — это очень любимая ОС в корпорациях ”, — поясняет Сьюрана.

Однако на столах Web-разработчиков LeapFrog дела обстоят по-другому. По словам Сьюраны “добрых 85—90% деятельности этой команды происходит под Linux. А то, что не делается под Linux, делается под Mac OS X. И подрядчики, и мои штатные программисты LeapFrog — все предпочитают среду из породы Unix. Фактически мы переходим на Windows лишь тогда, когда надо протестировать или создать что-то, что взаимодействует с внешним интерфейсом, а это очень маленькая часть работы”.

Но даже если люди осуществляют свои проекты на Linux- и Unix-системах, в их распоряжении всё равно должны быть Windows-машины. “Главное, почему нам нужно Windows-ПО, —убежден Сьюрана, — это Microsoft Exchange Server и Outlook. Поскольку эти продукты — факт нашего бытия и нет приличных способов соединить их с Linux, людям будет очень сложно от них отказаться”.

В настоящее время на главных серверах LeapFrog используется RHEL, но как к потенциальным альтернативам компания также присматривается к Canonical фирмы Ubuntu и к Solaris от Sun Microsystems. “Red Hat в чем-то хрупкая и в чем-то не очень удобная система, а в Ubuntu мы нашли массу очень полезных функций, которые, похоже, помогут в общем системном администрировании”, — полагает Сьюрана, однако при этом добавляет, что любые подобные изменения должны более тщательно анализироваться в кооперации с группой ИТ-инфраструктуры LeapFrog.

Интерес же Сьюраны к Solaris как к альтернативе RHEL связан с его прошлым опытом тестирования, когда он был корпоративным архитектором в Walmart.com. “Solaris в целом еще стабильнее, чем Linux, и имеет более предсказуемое поведение при больших нагрузках, и мы надеемся, что эта система принесет очень много пользы”, — поясняет Сьюрана.

В дальнейшей перспективе LeapFrog планирует развертывание обогащенных Web-приложений с использованием платформы OpenLaszlo. Сьюрана, его команда также изучают возможности построения Web-приложений посредством Google Web Toolkit. Этот пакет, рекламируемый Google как инфраструктура для построения AJAX-приложений (Asynchronous JavaScript and XML) на языке Java, видится хорошим подспорьем для Java-центрического коллектива разработчиков LeapFrog.