Язык Java готов к интеграции компьютеров и телефонии
Из-за отсутствия промышленного стандарта для систем интеграции компьютеров и телефонии (CTI - Computer Telephony Integration) сетевые администраторы, желавшие использовать одну сеть для передачи и управления как голосом, так и данными, оказывались привязанными к частным решениям для одной платформы.
Однако вскоре положение изменится.
Независимый от платформы переносимый программный интерфейс JTAPI (Java Telephony API - API телефонии для Java), разработанный фирмой Sun Microsystems в тесном взаимодействии с IBM, корпорацией Intel и фирмами Lucent Technologies, Northern Telecom и Novell, должен дать возможность использовать Java для связи телефонов, компьютеров и других устройств через Internet.
JTAPI еще относительно молод - Sun представила спецификации API в ноябре - и поэтому реализован пока не слишком широко. Ожидается, что число реализаций возрастет, как только станут доступны ориентированные на конкретные платформы варианты JTAPI для различных CTI-серверов, которые сегодня поставляются. Многие партнеры Sun по разработке JTAPI уже выделили ресурсы для создания серверов на его основе, однако реальных продуктов пока очень мало.
В марте Sun выпустила свой первый пакет сервера JTAPI под названием JavaTel. Он представляет собой версию JTAPI для серверов телефонии на базе ОС Solaris, работающую на платформе SunXTL.
Lucent Technologies уже включила JTAPI в опирающуюся на интерфейс TSAPI (Telephony Services API - API служб телефонии) систему Passageway Telephony Services - сервер телефонии на базе ПК, который связывает пользователей ЛВС с мини-АТС организации. Комплект разработки серверного ПО Passageway для JTAPI должен выйти чуть позже, а в третьем квартале планируется начать поставки окончательной версии продукта.
Хотя CTI-сервер корпорации NexPath не использует JTAPI напрямую, он показывает, чего можно добиться при объединении Java и CTI. Клиентское ПО NexPath TelOper работает с любым Web-браузером, совместимым с Java, и позволяет пользователям обращаться из браузера к голосовой почте, чтобы прослушать, удалить, скопировать или сохранить голосовые сообщения. С помощью программы просмотра можно также задать параметры проведения конференции или передачи звонков, а телефонные книги могут поддерживаться как на ПК, так и на сервере.
Управление системой осуществляется из программы просмотра. Более того, поскольку Java не зависит от платформы, одно и то же клиентское ПО можно использовать на ПК, Mac и Unix-системах.
“Под капотом” JTAPI
В действительности JTAPI состоит из нескольких программных интерфейсов. Базовый API обеспечивает основные функции поддержки модели звонка и зачаточные возможности телефонии, например позволяет инициировать звонки и отвечать на них. Стандартные расширения API включают функции, необходимые для применения в конкретных областях телефонии: приложениях для центров обработки звонков и работы с мультимедиа-потоками, которые связаны со звонком (например, для того, чтобы направить по телефонной линии аудиоданные из дискового файла или с микрофона).
Разработчики, знакомые с Java, могут использовать библиотеки классов JTAPI для выполнения базовых операций (начала, ответа и разрыва телефонного звонка), а также более сложных функций, например передачи звонков, организации конференций между несколькими участниками и управления центром обработки звонков, т. е. многих задач, для решения которых применяются традиционные мини-АТС.
Главное преимущество JTAPI состоит в том, что он может служить надстройкой над другими API телефонии (например, TAPI, TSAPI и SunXTL), выступая в качестве интегрирующего начала, независимого от платформы. В результате разработчики смогут использовать JTAPI для создания новых приложений телефонии, которые опираются на унаследованные системы, или с помощью Java добавлять новые функции в соответствии с потребностями пользователей.
Кроме того, поскольку JTAPI представляет собой один из программных интерфейсов Java, его можно использовать в сочетании с другими API, что еще больше расширяет возможности создаваемых Java-аплетов телефонии. Например, связав функции JTAPI с мультимедиа-интерфейсом Java Media API, разработчики смогут ввести в приложения телефонии поддержку видеоконференций.
Более того, поскольку Java-аплеты могут выполняться в большинстве браузеров Web, то клиент компании, просматривая ее узел Web, сможет позвонить в отдел продаж или технической поддержки. Для этого нужно будет просто щелкнуть на кнопке, которая загружает и запускает Java-приложение телефонии.
Система JTAPI состоит из трех частей. Во-первых, существует клиентское приложение JTAPI, которое можно создавать в любой системе разработки Java и распространять на ПК, и тонкие клиенты как аплет или приложение Java.
Во-вторых, система имеет сервер CTI, содержащий реализацию JTAPI или среду времени выполнения для него. Наконец, сервер телефонии должен быть подключен к телефонной подсистеме. Последнее требование не является уникальным для JTAPI - оно присуще всем серверным системам CTI.
Пока в качестве клиентов могут выступать либо настольные системы, либо тонкие клиенты (сетевые компьютеры). В будущем JTAPI будут поддерживать также Java-телефоны и другие ручные устройства.
В случае настольных клиентов ПК должен включать реализацию Java времени выполнения, один или несколько аплетов JTAPI и телефонное оборудование (например, карту телефон-факс) с соответствующими драйверами API (XTL, TSAPI или TAPI).
В случае тонкого клиента аплет JTAPI должен загружаться с сервера. Скорее всего, этот же сервер будет выполнять и роль сервера телефонии, который взаимодействует с мини-АТС, используя стандартные API (например, TAPI или TSAPI).
Одна из особенностей JTAPI состоит в том, что благодаря опоре на Java интерфейс автоматически оказывается готов к работе в сетях TCP/IP, тогда как TSAPI, например, первоначально разрабатывался для NetWare.
Чтобы помочь в разработке приложений телефонии на основе Java, Sun недавно организовала службу Java Telecom Objects Network, которая включает наборы инструментов и демоверсии поддерживающих Java коммуникационных приложений, а также образовательную и маркетинговую информацию.
Делая Java открытым стандартом
Sun также активно пытается помочь признанию Java и связанных с ним API в качестве открытого стандарта. Хотя первоначально JTAPI создали Sun и ее партнеры, сейчас компания передала дальнейшую разработку JTAPI организации Enterprise Computer Telephony Forum (Форум корпоративной компьютерной телефонии) - промышленной группе, созданной для развития рынка технологий CTI. Рабочая группа ECTF отвечает за создание версий JTAPI после версии 1.1 (последней версии, выпущенной Sun).
Во многих отношениях JTAPI можно рассматривать как “великого интегратора”. Во-первых, этот API образует надстройку над другими, более старыми интерфейсами компьютерной телефонии (например, TAPI и TSAPI), помогая сделать разработку приложений телефонии независимой от ОС и платформ.
Во-вторых, JTAPI, будучи набором библиотек классов Java, предлагает разработчикам приложений телефонии средства создания действительно межплатформных решений, которые смогут найти применение не только на ПК и сетевых компьютерах, но и на таких новых телефонных устройствах, как Java-телефоны, личные цифровые секретари (PDA) и другие карманные устройства (когда они появятся на рынке).
Sun также облегчает для разработчиков введение функций поддержки Java в телефоны и родственные устройства связи. Представленный компанией в начале апреля на конференции JavaOne интерфейс EmbeddedJava ориентирован на телефоны, PDA и аналогичные небольшие вычислительные устройства. Кроме того, благодаря приобретению Lucent лицензии на Java для ее операционной системы Inferno и соглашению о помощи в создании EmbeddedJava разработчики получат небольшую защищенную ОС, которая обеспечит поддержку Java на других вычислительных устройствах, помимо ПК.
Дейв Косиур