|
|
(не показаны 4 промежуточные версии 1 участника) |
Строка 1: |
Строка 1: |
− | == Kamaelia: Работа по сети ==
| + | #REDIRECT [[LXF86:Kamaelia]] |
− | | + | |
− | '''''Майкл Спаркс''' расскажет, как запустить децентрализованное whiteboard-приложение, используя
| + | |
− | его новый каркас, а затем расширить его до мультимедиа-вещания и так далее.''
| + | |
− | | + | |
− | Kamaelia – это открытый каркас общего назначения для разработки программ. Вы скажете: ну вот, еще один... Но Kamaelia имеет отличие: она работает с распределенными сетями в стиле BitTorrent для поддержки общего доступа к информации в децентрализованной [peer-to-peer] сети в режиме реального времени. Приложения, разрабатываемые с помощью Kamaelia, умеют мгновенно доставлять информацию, через LAN или интернет, потенциально | + | |
− | неограниченному числу машин.
| + | |
− | | + | |
− | Эта технология возникла благодаря исследованиям BBC в сфере сетевой передачи мультимедийного контента, но стала применяться и в других областях. Она включает компоненты для работы с Freeview (свободное цифровое наземное телевидение в Великобритании) и инструменты обработки мультимедиа, и позволяет разработчикам легко и просто использовать Pygame, OpenGL, сетевые возможности, видеокодек Dirac, Vorbis, Speex и множество других инструментов в одной и той же системе.
| + | |
− | | + | |
− | Данный урок покажет, как пользоваться whiteboard-приложением, написанным для решения реальных проблем команды Kamaelia. [Whiteboard – приложение, позволяющее пользователям, объединенным сетью, рисовать на одной «доске». В русском языке встречаются термины «белая доска», «разделяемый блокнот», «разделяемая калька». Мы будем говорить «блокнот», – прим. перев.] Наша команда разбросана по разным местам и нуждается в системе совместной работы,
| + | |
− | поддерживающей и звук, и эскизы, и просто работы – а это может пригодиться многим открытым проектам. Некоторые из возможностей системы описаны во врезке «Что предлагает наш блокнот», справа. Интересно? Тогда займемся.
| + | |
− | | + | |
− | === Часть 1. Установка ПО ===
| + | |
− | | + | |
− | Kamealia разработана для SUSE Linux, с использованием Python 2.4. Она должна работать под любым дистрибутивом Linux; но вашу конфигурацию мы вряд ли проверяли – обратная связь с командой разработчиков приветствуется (http://kamaelia.sourceforge.net/Contact.html). Kamaelia должна работать с любой версией Python, начиная с 2.2.2, но мы рекомендуем 2.4. Для установки Kamaelia требуются два основных пакета: ядро системы, называемое Axon; и библиотека компонентов и инструментов Kamaelia. После них устанавливайте любые дополнительные зависимости для желаемых специфических функций (примеры см. во врезке «Зависимости Kamaelia», справа). Для удобства я предполагаю, что вы выполняете установку как root. Кстати, вы можете считать Axon аналогом ядра Linux, а Kamaelia – базовой инсталляцией; все остальные файлы – необязательные дополнения.
| + | |
− | | + | |
− | ==== Добавляем ингредиенты, по очереди ====
| + | |
− | | + | |
− | Axon. Сначала установите Axon, чтобы обеспечить базовый коммуникационный каркас для компонентов. Распакуйте, перейдите в каталог и запустите инсталлятор:
| + | |
− | tar zxf Axon-1.5.1.tar.gz
| + | |
− | cd Axon-1.5.1
| + | |
− | python setup.py install
| + | |
− | | + | |
− | Kamaelia. Затем установим репозиторий компонентов. Распакуйте еще один архив, перейдите в каталог и запустите инсталлятор:
| + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | ----
| + | |
− | === Наш эксперт ===
| + | |
− | '''Майкл Спаркс'''
| + | |
− | ведущий инженер BBC Research и лидер открытого проекта Kamaelia. Данный урок и интервью отражают его личное мнение как лидера проекта Kamaelia, а не мнение BBC относительно чего бы то ни было.
| + | |
− | | + | |
− | === Что предлагает наш «блокнот» ===
| + | |
− | * Простейшие функции рисования.
| + | |
− | * Поддержка многостраничности с навигацией.
| + | |
− | * Каждый «блокнот» может быть клиентом, сервером или сразу и клиентом, и сервером. Если вы подключите свой «блокнот» к моему, а я изменю страницы, вы увидите эти изменения. Все, нарисованное в одном «блокноте», становится видимым на всех подключенных к нему. Поскольку любой «блокнот» может быть и сервером, и клиентом, он является децентрализованным в своей основе. Каждый подключившийся к любому серверу в сети сможет получить все, что предоставляется остальными.
| + | |
− | * Поддержка звука с использованием аудиокодека Speex (оптимизированного для разговора и для кодирования с очень низкой частотой дискретизации). То есть можно поговорить с любым из подключенных в данный момент.
| + | |
− | * Сессии могут быть записаны для последующего воспроизведения. Пока запись воспроизводится, вы можете использовать «блокнот» как обычно – как и все подключенные к вашей whiteboard-сети.
| + | |
− | * Поддержка MP3.
| + | |
− | * Консоль с командной строкой.
| + | |
− | * Экспериментальная возможность заставить «блокнот» нумеровать локально сохраненные страницы полусинхронным образом.
| + | |