28.05.2007

Конец войны форматов?

Microsoft опубликовала пресс-релиз, в котором заявила, что проголосовала за включение Open Document Format в перечень стандартов ANSI. Полный пресс-релиз можно найти здесь: http://www.microsoft.com/presspass/press/2007/may07/05-16ANSIVotePR.mspx

О чем вообще речь? Почему это важно?

Сегодня одно из основных применений компьютера – работа с офисными программами. Все офисные программы работают с некоторыми документами, будь это текстовые документы, электронные таблицы, презентации или что-либо еще. Все документы при этом хранятся в своих форматах. До недавнего времени фактическими стандартами были форматы, разработанные компанией Microsoft (.doc, .xls, .ppt и т.д.)

Сегодняшним требованиям эти форматы уже не удовлетворяют, и явно назрела необходимость их замены. С этим согласны все. Кандидатов на роль нового стандарта два – Open XML, разработанный Microsoft, и Open Document, разработанный консорциумом OASIS.

Подавляющее большинство крупных компаний (IBM, Sun, Red Hat, Novell и т.д.) поддерживают ODF. И причиной этому далеко не только то, что Open XML разработан Microsoft.

Ведь что мы имеем сегодня? Все документы во все государственные учреждения требуется предоставлять в форматах .doc и .xls, в форматах, которые являются закрытыми. Эти форматы - интеллектуальная собственность корпорации Microsoft. Таким образом, неявно создается режим наибольшего благоприятствования одной компании.

Более того. Что делать, если компания однажды решит перестать поддерживать эти форматы? Ведь у многих документов срок хранения измеряется десятилетиями. Каким образом гарантировать, что документы вообще можно будет прочитать, если форматы, в которых они хранятся, закрыты?

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

Какова ситуация сегодня?

Open Document уже сейчас принят как стандарт ISO, и его поддержка реализована во многих офисных пакетах. Основной из них – OpenOffice, который существует как для Linux, так и для Windows. Фактически, Open Document уже становится стандартом. Например, правительство штата Массачусетс объявило о полном переводе документооборота на Open Document.

Теперь Open Document принят и как стандарт ANSI. Таким образом, Open Document теперь окончательно признан международным стандартом хранения документов.

Что наиболее интересно – позиция Microsoft. Компания проголосовала за формат-конкурент. Очевидно, что сделано это с целью сохранить лицо в проигрышной ситуации – Open Document в любом случае был бы принят как международный стандарт, с Microsoft или без нее.

Но теперь важно, будет ли Microsoft реализовывать поддержку Open Document в своих продуктах в полном объеме. Microsoft давно известна своим вольным отношением к стандартам, что регулярно приводит к проблемам при длительной эксплуатации ее продуктов. В частности, совместимость собственных офисных форматов Microsoft между разными версиями MS Office оставляет желать лучшего – форматирование искажается практически всегда.

Применение единого открытого международного стандарта ODF позволит избавиться от проблем совместимости и упростить жизнь пользователей.

22.05.2007

Шоу «Очень страшные патенты»

Microsoft в очередной раз заявила, что Linux и сопутствующее открытое ПО нарушают патенты, принадлежащие Microsoft. На этот раз прозвучала цифра – 235 патентов, из них 42 касаются ядра Linux, 65 графической подсистемы, 45 офисных программ, 15 e-mail клиентов и 68 относятся к другим программам.

Но ни один патент не был назван. Почему? Чего добивается корпорация?

На этот вопрос очень хорошо ответил Эбен Моглен в своей речи на саммите Red Hat. Оригинал речи можно найти по адресу http://en.wikisource.org/wiki/The_%E2%80%9CBe_very_afraid%E2%80%9D_tour. Мы же изложим основную идею.

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

Если вы начнете судиться с кем-либо из разработчиков, это будет крайне долго и дорого, сомнительно для репутации и, как показал пример SCO, скорее всего, ни к чему не приведет.

Но можно ведь просто ходить вокруг, приговаривая: «А у нас есть патенты... Много патентов... И кое-кто кое-какие из них нарушает... И однажды кому-то из-за этого будет плохо... Лучше не используйте эти программы.»

Это ведь гораздо проще и эффективнее, чем судиться, не правда ли? Кроме того, если судиться, то ведь придется на самом деле показать, к каким патентам вы апеллируете.

Итак, запугивание гораздо эффективнее, чем предметные претензии, так?

Но тут появляется еще один фактор. Те технологии, которые так хочется приструнить, используются в государственных учреждениях и крупнейших мировых корпорациях. И в один прекрасный день эти люди могут придти к вам и сказать: «Знаете, а ведь те, кого вы запугиваете, это на самом деле мы. Инам кажется, что лучше бы вам быть потише».

Поэтому перед тем как начинать свое шоу «Очень страшные патенты» неплохо предусмотреть что-нибудь, чтобы избежать подобной ситуации. Например, выбрать дистрибутив Linux, который вы считаете для себя неопасным, и сказать, что к пользователям этого дистрибутива вы никаких претензий иметь не будете.

Получается очень простая схема. Крупным корпорациям можно ответить: «Просто используйте вот эту сборку вместо той, что используете сейчас». И в то же время можно продолжать запугивать сообщество разработчиков, выбивая тем самым почву из-под ног конкурентов. Удобно, не правда ли?

Что самое интересное (вот это сюрприз!), Microsoft начала очередное шоу «Очень страшные патенты» ровно после заключения соглашения с Novell. Интересно, не правда ли?

28.04.2007

Open source для создания web 2.0 приложений и web-сервисов

В марте Red Hat и Exadel объявили о сотрудничестве. Основные продукты компании Exadel – Exadel Studio Pro, Rich Faces и Ajax4jsf. Все это – инструменты для создания Web 2.0 приложений и web-сервисов, основанные на открытой среде разработки Eclipse.

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

На основе Exadel Studio Pro планируется выпустить полностью интегрированную с продуктами JBoss и готовую к использованию среду разработки – Red Hat Developer Studio. Выпуск запланирован на середину лета.

Что это дает? Потенциально это открывает для open source новый рынок.

Не секрет, что на сегодняшний день корпоративные приложения и порталы основаны большей частью на коммерческих Java-платформах и .NET, решений на открытых платформах заметно меньше. Причина этого очень проста – выбирается та платформа, создавать приложения под которую проще, для которой есть интегрированный инструментарий для разработки. В больших проектах по созданию и внедрению бизнес-приложений под нужды конкретного заказчика производительность, гибкость, безопасность и прочие плюсы open source часто отходят на второй план, а основным аргументом становится именно простота разработки.

Создание законченной среды разработки Red Hat Developer Studio, ориентированной именно на приложения бизнес-логики, интеграция продуктов MetaMatrix – эти факты позволяют говорить о том, что open source все увереннее выходит на новый для себя рынок и имеет достаточно неплохую основу для того, чтобы преуспеть на нем.

25.04.2007

Red Hat приобретает MetaMatrix

Что такое MetaMatrix?

MetaMatrix – компания-пионер в области интеграции источников данных и управления метаданными. Компания работает в этой области с 1999 года, является одним из старейших участников рынка.

Чем занимается MetaMatrix? Зачем нужны ее продукты?

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

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

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

Какие возможности дают продукты MetaMatrix?

Основная их задача – позволить клиентам плавно перейти к сервис-ориентированной архитектуре IT, сохранить все накопленные данные и обеспечить единое унифицированное представление данных, в каком бы виде они изначально не находились.

Каковы планы Red Hat в отношении MetaMatrix?

После завершения сделки команда MetaMatrix вольется в подразделение Red Hat, которое занимается продуктами JBoss. Объединенная команда будет работать над интеграцией продуктов JBoss и MetaMatrix с тем, чтобы предоставить клиентам лучшее ПО промежуточного уровня.

Все продукты MetaMatrix на сегодняшний день являются коммерческими с закрытыми исходными текстами. После завершения сделки и решения необходимых формальных вопросов все исходные тексты будут открыты под лицензией GPL.

Где можно найти дополнительную информацию?

По этой ссылке: http://www.redhat.com/promo/next/faq.html

31.03.2007

Виртуализация с Xen. Живая миграция

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

Для демонстрации использовались 2 сервера и 2 клиента. Виртуальная машина, с которой велась трансляция, мигрировала между серверами. Один клиент использовался в качестве управляющей станции, со второго собственно демонстрировалась трансляция. Клиентов, в принципе, можно объединить в одного. Соединены все машины были через обычный 100 Mbit Ethernet.

Далее используются следующие имена машин:

xen_host_1 - первый физический сервер
xen_host_2 - второй физический сервер
virt_server - виртуальный сервер

Подготовка демонстрации

  1. Установите на xen_host_1 и xen_host_2 Red Hat Enterprise Linux 5 с поддержкой виртуализации.
  2. Установите на xen_host_1 в виртуальную машину virt_server паравиртуализованный Red Hat Enterprise Linux 5.
  3. После установки отредактируйте /etc/xen/virt_server, приведите его к следующему вид:
    #vnc=1
    #vncunused=1
    sdl=1
    Это необходимо, чтобы можно было осуществить живую миграцию данной виртуальной машины.
  4. Теперь необходимо настроить xen на xen_host_1 и xen_host_2 таким образом, чтобы он позволял осуществить миграцию между двумя физическими серверами. Для этого внесите следующие изменения в /etc/xen/xend-config.sxp на обоих машинах:
    #(xend-unix-server yes)
    (xend-relocation-server yes)
    (xend-relocation-port 8002)
    (xend-relocation-address '')
    (xend-relocation-hosts-allow '')
    #(xend-relocation-hosts-allow '^localhost$ ^localhost\\.localdomain$')
    После этого перезапустите xen
    service xend restart
  5. Теперь нам необходимо, чтобы оба физические сервера видели общее хранилище, на котором находятся данные виртуальной машины. Кроме того, необходимо, чтобы оно было смонтировано по одинаковому пути. Это требуется потому, что при миграции виртуальной машины ее файловая система не копируется, так как это требовало бы слишком много времени даже в случае быстрой сети.
    В нашем распоряжении не было внешнего накопителя, но это не стало препятствием. Мы использовали NFS.
    На xen_host_1 (на котором установлен virt_server) в /etc/exports добавьте строку:
    /xen *(rw,sync,no_root_squash)
    После этого перезапустите NFS и убедитесь, что сервис стартует автоматически:
    service nfs restart
    chkconfig nfs on
  6. Смонтируйте созданную папку на xen_host_2:
    mount xen_host_1:/xen /xen
  7. Запустите виртуальный сервер на xen_host_1
    xm create -c virt_server
  8. Установите сервер потокового видео на virt_server. Мы использовали gnump3d. Для установки скачайте с http://www.gnump3d.org/ архив gnump3d-2.9.9.9.tar.bz2 (620k), распакуйте и скомпилируйте его.
    tar xjvf gnump3d-2.9.9.9.tar.bz2
    cd gnump3d-2.9.9.9/
    make install
  9. Включите трансляцию. По умолчанию сервер настроен на трансляцию содержимого директории /home/mp3/.
    mkdir /home/mp3
    cd /home/mp3
    wget -c http://www.redhat.com/v/ogg/TruthHappens.ogg
    gnump3d &

Теперь все готово к демонстрации. На клиентской машине нам потребуется любой видеоплеер, поддерживающий http. Мы использовали totem.

Демонстрация

  1. Запустите просмотр трансляции на клиенте. В случае totem для этого нажмите 'Movie', затем 'Open Location' и введите http://virt_server:8888/TruthHappens.ogg
  2. Остановите виртуальный сервер. Для этого на xen_host_1 выполните
    xm pause virt_server
    В течение некоторого времени после остановки виртуальной машины (как правило, нескольких секунд) клиент будет продолжать показывать ролик из буфера плеера. После того, как буфер закончится, трансляция прервется. Теперь Вы знаете размер буфера в секундах. :)
  3. Снимите виртуальный сервер с паузы. Для этого на xen_host_1 выполните
    xm unpause virt_server
  4. Вновь запустите трансляцию на клиенте.
  5. Выполните живую миграцию сервера без остановки трансляции. Для этого на xen_host_1 выполните
    xm migrate -l virt_server xen_host_2
    Процесс занимает несколько десятков секунд. Следить за миграцией можно с помощью команды xm list на обоих физических серверах. Трансляция при миграции не рвется. Клиент никак не замечает, что виртуальная машина переносится на другой физический сервер. Так как Вы только что измерили размер буфера плеера, можете быть уверены, что все честно. :)