Новая платформа компании Groove Networks превращает одноранговую технологию в важный компонент бизнес-среды.

Электронная почта и Web намного упрощают координацию бизнес-функций, проникая за географические, корпоративные и национальные границы. Но этого уже мало — возникающий сейчас мир глобальных коммуникаций нуждается в новом промежуточном программном обеспечении, — для связи людей и приложений в разных организациях, а не только в пределах одной. Здесь-то на сцену и выходит Groove, новая одноранговая (P2P) платформа компании Groove Networks для организации сотрудничества. Эта система позволяет создавать разделяемые рабочие области на локальных ПК, открывая путь к беспрепятственному взаимодействию сквозь корпоративные границы и межсетевые экраны. Пользователям не надо беспокоиться о получении разрешения и прибегать к помощи или совету централизованной группы управления или поддержки.

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

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

ВВЕДЕНИЕ В GROOVE

Groove использует ресурсы (информационное наполнение, человеческий интеллект, процессорные возможности и память), размещенные на локальных ПК, и этим напоминает одноранговые приложения, подобные Napster. Но от Napster, ICQ, Popular Power, Freenet, AIMster и прочих она отличается тем, что создавалась в равной мере и как инструмент для бизнеса, и как персональное средство. Такие продукты, как Microsoft NetMeeting, White Pine CU SeeMe и IBM/Lotus Sametime, также предназначены для корпоративного применения, но Groove — это платформа для приложений, в то время как другие — только приложения.

Поставляемая версия Groove содержит несколько приложений на базе Groove: календарь, блокнот, менеджер контактов, чат и дискуссионные форумы. Но главная ее ценность — в продуктах, разработанных сторонними производителями. И в этом направлении старт был многообещающим. В феврале 2001 г. на Web-сайте Groove был приведен список из 120 партнеров, которые планируют создавать и поддерживать приложения Groove для бизнеса.

Что же касается применения Groove для совместной работы, то важным преимуществом платформы может оказаться возможность доступа к существующим централизованным ресурсам, таким, как каталоги. Например, чтобы оперативно сформировать специальную группу, необходимо создать список и связаться с ее потенциальными членами, для чего каталог окажется весьма полезным. Помимо того, что каталоги содержат базовую информацию: имена, номера телефонов и адреса электронной почты — они могут хранить данные о группах и их специализации. Эти данные автоматически используются при формировании групп Groove. К примеру, можно указать, что все менеджеры в бухгалтерском отделе имеют доступ к конкретной разделяемой области Groove.

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

Объединение с информационными системами предприятия требует наличия «премиального» (premium) клиента Groove, называемого также управляемым клиентом. К моменту написания данной статьи этот клиент еще не был создан, но его появление на рынке было запланировано на первый квартал 2001 г. Сейчас пользователям предлагается бесплатный «базовый» клиент Groove. Однако он не подходит для многих бизнес-приложений из-за отсутствия поддержки централизованного управления и контроля. Подобный контроль будет обеспечивать управляемый клиент, с его помощью администраторы смогут задавать и реализовывать определенные правила: например, ограничивать выбор сайтов Internet, откуда разрешено загружать инструментальные средства. Управляемый клиент будет более масштабируемым, поддерживая управление большим числом разделяемых областей.

МЕХАНИЗМ РАБОТЫ GROOVE

Основная функция Groove состоит в синхронизации двух или более ПК по Internet. Когда кто-то рисует картинку на одном ПК, она появляется на всех остальных компьютерах в разделяемой области. Но синхронизация Groove выходит далеко за рамки отображаемой на экране информации. Все операции пользователей, включая переход от одного инструментального средства к другому, и информационное наполнение операций упаковываются как «приращения» — сжатые и зашифрованные команды, оформленные на Extensible Markup Language (XML), после чего пересылаются всем членам рабочей группы. Пользователи могут работать с одними и теми же инструментальными средствами, файлами и другими ресурсами, например списками контактов. Groove также поддерживает совместную, координированную работу по просмотру содержимого сайтов Web, а также средства общения, в том числе передачу живой речи по Internet, немедленный обмен сообщениями, текстовый чат и вложенные дискуссии.

Специалисты Groove Networks называют свой пользовательский интерфейс «трансивер». Каждый трансивер хранит всю информацию и описания действий на локальном ПК в хранилище объектов XML. Продукту не требуется никакого центрального, совместно используемого хранилища данных. После локального сохранения информация передается локальной службе маршрутизации объектов XML (части клиента Groove), а та пересылает ее другим узлам через Internet. Groove сжимает содержимое XML с целью минимизировать требования к локальной памяти и сэкономить пропускную способность.

Архитектура платформы Groove асинхронна, т. е. участники не должны поддерживать связь между собой в реальном времени. Когда члены группы не находятся в Internet одновременно, архитектура Groove передачи сообщений с промежуточным хранением помещает «приращения» в локальную очередь и передает их на компьютер в момент его подключения к глобальной сети.

Эта асинхронная архитектура позволяет Groove Networks поддерживать «эстафетную» службу, которая хранит сообщения для клиентов, не подключенных в данный момент времени к Internet. Когда клиент восстанавливает соединение, эстафетная служба передает все изменения, присланные другими членами группы, за период его отсутствия «на связи». Любые изменения одновременно передаются всем членам группы. Таким образом воспроизводится централизованная служба передачи сообщений, которая отсутствует в одноранговых продуктах.

Эстафетная служба поддерживается и контролируется компанией Groove Networks с помощью сайта http://www.groove.net. Эти услуги, так же как и услуги других централизованных служб, например хостинг программных компонентов Groove для их загрузки, предоставляются бесплатно. В будущем компания планирует предлагать платный сервис с гарантированным уровнем обслуживания.

Пока клиенты не могут создавать свои собственные эстафетные серверы, а хакеры — устанавливать эстафетные службы, чтобы получать и расшифровывать сеансы связи Groove. Но беда в том, что пользователи становятся зависимыми от Groove Networks. В будущем Groove, вероятно, предоставит другим компаниям, например провайдерам услуг Internet, хостинга приложений и телекоммуникационным операторам, возможность размещения и управления эстафетными службами.

ЭСТАФЕТНАЯ ГОНКА

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

Реализуя услугу информирования, эстафетный сервер действует как сервер «присутствия», отслеживая, какие из членов группы находятся в сети и что они делают. Вы можете узнать, сколько человек используют блокнот, участвуют в чате и работают в Web (в том числе URL того сайта, который пользователь просматривает в данный момент) и сколько пользователей не подключены к сети в данный момент.

Клиенты Groove регистрируют, или «публикуют», эту информацию с помощью сервера присутствия, когда подсоединяются к Internet. Публикуемая информация включает IP-адрес клиента и данные о том, размещается ли он за межсетевым экраном или устройством трансляции адресов (Network Address Translation, NAT).

Другие клиенты могут «подписаться» на услуги этого сервера присутствия, затребовав уведомление о факте подключения к сети конкретного пользователя. Этот механизм публикации и подписки, или «переключения по событию», не требует опроса со стороны клиентов или серверов.

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

Средства распространения Groove призваны минимизировать потребляемую пропускную способность. В «чистом» одноранговом режиме, при внесении изменений в разделяемой области, где работает еще четыре человека, Groove доставит по сети четыре разных «приращения». Если трансивер выявляет условия, которые могут вызвать значительную задержку: чересчур низкую скорость соединения с Internet или очень большой объем «приращений» — он пошлет на эстафетный сервер только одну копию изменений. Затем эстафетный сервер действует как сервер распространения, передавая новую информацию всем членам группы, работающим с разделяемой областью. Этот сервер может использовать высокоскоростные надежные сети, способные оптимизировать время доставки. Данный процесс протекает в автоматическом режиме и не требует участия пользователя.

«Прозрачность» в данном случае означает способность клиента Groove поддерживать прямое взаимодействие с помощью протоколов TCP/IP, безотносительно наличия межсетевых экранов или устройств NAT. Служба Groo-ve работает только с протоколами TCP и IP, за исключением случаев выполнения специальных функций, например просмотра информации в Web, когда требуется применение HTTP.

В идеальном одноранговом мире любые два компьютера могут связываться непосредственно с помощью TCP/IP. К сожалению, межсетевые экраны и шлюзы NAT вклиниваются между клиентами Groove, затрудняя непосредственное взаимодействие или препятствуя ему. Вполне вероятно, что межсетевой экран (или устройство NAT) ограничивает доступ только для трафика HTTP. Но Groove применяет свой внутренний протокол Simple Symmetric Transfer Protocol (SSTP) с целью обеспечения однорангового взаимодействия с богатым контекстом, куда входят такие функции, как сжатие, маршрутизация, защита, связь в реальном масштабе времени и синхронное использование ресурсов. (Groove планирует опубликовать спецификацию на SSTP. Компания также присматривается к новым стандартным протоколам: Blocks eXtensible eXchange Pro-tocol (BEEP, или BXXP) — анализируя возможность дальнейшего развития SSTP на их основе.)

Если межсетевой экран не пропускает трафик SSTP, то эстафетный сервер может выступать в роли «моста», связывающего клиентов Groove. Каждый клиент будет посылать сообщение в эстафетную службу, а та инкапсулирует их в HTTP и передаст за межсетевой экран. Затем клиенты Groove имеют возможность распаковать полученные инкапсулированные сообщения.

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

Еще одна потенциальная проблема связана с тем, что обеспечивающие прозрачность услуг proxy-сервер HTTP и сервер туннелирования в Groove Net-works могут оказаться не в состоянии поддерживать требуемую производительность. В этом случае поможет подписка на дополнительные услуги, гарантированные уровнями обслуживания, — при этом отдельным клиентам будут предоставляться процессорные ресурсы и пропускная способность, необходимые для реализации услуг туннелирования и посредника с приемлемым качеством.

ЧЕТЫРЕ УРОВНЯ РАБОТЫ С GROOVE

Платформа Groove допускает четыре уровня настройки и программирования: буксировка, создание сценариев, инструменты и соединители.

Буксировка. Конечные пользователи могут помещать в разделяемую рабочую область различные инструментальные средства, такие, как календарь, вложенные дискуссии и браузер Web, создавая тем самым уникальную рабочую среду. Никакого программирования в этом случае не требуется.

Создание сценариев. Для создания коммуникационных каналов между инструментальными средствами можно использовать JavaScript и VB Script. Например, календарь способен обновлять список дел, и наоборот. Кроме того, поскольку все инструментальные средства Groove являются объектами COM, программы на базе COM, не предназначенные изначально для использования в качестве инструментов Groove, можно тем не менее интегрировать в среду Groove. Модель COM компании Microsoft определяет интерфейс прикладного программирования (API) и формат бинарного файла для создания программных компонентов; никакого специально разработанного для Groove прикладного программного интерфейса не требуется.

Инструменты. Программисты, применяющие в своей работе Си и C++, могут создать новые инструменты Groove с нуля. Термин «инструмент» не предполагает никакого автоматического обмена данными с внешними корпоративными информационными системами.

Соединители. Для связи с внутренними корпоративными системами могут быть созданы соединители Groove, написанные на Си и С++. Существует два вида соединителей: распределенные соединители и «паучки». «Паучок» — это программный агент, который действует как виртуальный участник разделяемой области. В терминологии Groove «паучок» предоставляет отдельный шлюз или канал к внешней системе (см. Рисунок 1).

Рисунок 1. Один из видов соединителей — это «паучок» (работающий на средней из трех машин в нижнем ряду); он обеспечивает одноточечную интеграцию между сетью Groove и внешней системой. «Паучок» может синхронизироваться с внешними системами посредством опроса или с помощью механизма переключения по событиям, а также размещаться внутри одного инструмента (и разделяемой области) или «дотягиваться» до нескольких разделяемых областей, в которых работает пользователь. Другой вид соединителя использует подход распределенной интеграции, при котором каждый клиент взаимодействует непосредственно с внешней системой (как показано на Рисунке 2).

Другой тип соединителя использует подход «распределенной интеграции», при которой каждый клиент взаимодействует напрямую с внешней системой (см. Рисунок 2). С его помощью можно построить связи с интегрированной системой передачи сообщений, программным обеспечением коллективной работы, системой планирования корпоративных ресурсов (Enterprise Resource Planning, ERP) или сервером службы каталогов стандарта LDAP.

Рисунок 2. В модели распределенной интеграции клиенты Groove взаимодействуют непосредственно с внешней системой. Они могут синхронизироваться с внешними системами посредством опроса и с помощью механизма переключения по событиям. Распределенные соединители могут ограничиваться одним инструментом (и разделяемой областью) или «дотягиваться» до нескольких разделяемых областей.

ОБРАЩЕНИЕ ПО ИМЕНИ

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

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

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

Для небольших независимых ра-бочих групп гибкость именования Groove — это преимущество. Например, платформа позволяет Джону Смиту использовать в качестве имени пользователя John Smith, что удобнее, чем, скажем, jbsmith23 или john.bartholomew.smith.

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

ЗАЩИТА В GROOVE

В случае платформы Groove нужно учитывать три момента, касающихся защиты данных. Во-первых, она может заинтересовать хакеров, как потенциальную возможность проникнуть в разделяемую область для получения нужной им информации или злонамеренных повреждений. Во-вторых, сама Groove может создавать угрозу безопасности, поскольку игнорирует межсетевые экраны и централизованное управление. Совместное использование файлов различными людьми часто приводит к нарушению правил корпоративной защиты, закона об интеллектуальной собственности или способствует распространению вирусов. Наконец, интеграция с существующей инфраструктурой открытых ключей (Public Key Infrastructure, PKI) может оказаться весьма проблематичной.

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

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

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

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

Клиенты никогда не загружают инструментарий с доступных по сети машин. Вместо этого один клиент генерирует метаданные XML, описывающие инструментарий, и передает их другому, который затем связывается с соответствующим сайтом Web (URL — это часть метаданных) и загружает требуемый инструментарий. Сейчас все инструменты загружаются из Groove.net. В будущем провайдеры Internet, провайдеры приложений, телекоммуникационные компании и производители программного обеспечения смогут поддерживать загрузку инструментальных средств, хотя пока официально о подобных возможностях не сообщалось.

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

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

Службы защиты Groove базируются на инфраструктуре открытых ключей PKI. Сейчас Groove использует собственную одноранговую инфраструктуру PKI, в которой не предусматривается главный центр сертификации, предоставляющий ключи. Вместо этого Groove придерживается модели PGP (Pretty Good Privacy), когда клиентское программное обеспечение оперативно генерирует ключи при создании учетной записи пользователя. Ключ также генерируется для каждой вновь организуемой разделяемой области. Пользователям не дано право взаимодействовать непосредственно с инфраструктурой Groove PKI, и она для них невидима.

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

НЕОБХОДИМЫЕ УСОВЕРШЕНСТВОВАНИЯ

Если платформа Groove хочет действительно претендовать на популярность, то ее разработчикам нужно решить несколько проблем. В первой версии членство в группе осуществляется по принципу «все или ничего», т. е. членам группы разрешается даже бесконтрольно удалять файлы. Управляемый клиент, как предполагается, сможет осуществлять контроль доступа и регулировать действия пользователей с учетом их роли в группе, определяя, какие действия (например, чтение или запись) может выполнять каждый из них и с какой именно информацией.

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

Другой важный вопрос — поддержка операционных систем. Сейчас Groo-ve работает только с Windows, но компания намерена в будущем поддерживать и Linux.

В настоящее время член рабочей группы не может взаимодействовать только с каким-то одним из своих коллег. В первом квартале 2001 г. Groove обещала реализовать «конфиденциальный» режим в своем управляемом клиенте, благодаря которому пользователи получают возможность пересылать текстовое сообщение или использовать передачу голоса по Inter-net для связи с одним конкретным членом группы.

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

Еще одна область, требующая совершенствования, — это членство в группе. Сейчас каждый представитель рабочей группы Groove может присоединить к ней нового пользователя. Точно так же любой ее участник вправе «отказать в приглашении» своему коллеге. Рабочая группа мгновенно расформировывается и организуется заново, без того пользователя, которому было отказано в приглашении. Вновь созданная группа имеет новый ключ безопасности. Этот процесс выполняется прозрачно и автоматически. Некоторым компаниям может потребоваться альтернативный подход, состоящий, например, в предоставлении организатору группы права контроля за членством или функций контроля на основе ролей внутри группы (скажем, только менеджеры могут приглашать в группу новых членов или отказывать в участии в ней).

Компании Groove предстоит преодолеть немало других трудностей. Как заметил Дуайт Дэвис из консалтинговой компании Summit Strategies, ей придется бороться со сложившейся корпоративной тенденцией к единообразию конфигурации настольных систем. «В крупной компании, даже в достаточно строго контролируемой среде, может образоваться библиотека из 100 одобренных компонентов инструментальных средств Groove. В конце концов это может привести к появлению множества различных конфигураций на настольных системах корпорации, в силу чего их будет крайне сложно поддерживать и обслуживать», — подчеркнул Дэвис.

Заметим, что архитектура «толстого» клиента в Groove ставит вопрос о производительности компьютера и требованиях к пропускной способности сети. Хотя пока еще рано говорить о том, какие именно проблемы могут возникнуть в этой связи, данная область требует контроля и проверки.

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

Как заметил Тим Беджерин из консалтинговой компании Creative Strategies, в борьбе за сердца и умы групп ИТ репутация Рея Оззи — основателя компании Groove Networks и создателя Lotus Notes, вероятно, самое главное преимущество компании. «Совершенно очевидно, что Groove привлекает внимание различных организаций, — подчеркнул Беджерин. — Авторитет Оззи, безусловно, поможет закрепить этот успех».

Майкл Гурвиц — независимый автор статей по высоким технологиям. С ним можно связаться по адресу: michael@hurwicz.com.


Ресурсы Internet

Основной сайт Groove расположен по адресу: http://www.groovenetworks.com. На нем можно найти новости и документы, а также загрузить программное обеспечение Groove и обновленные версии.

С мнениями пользователей о работе с Groo-ve, как позитивными, так и негативными, можно ознакомиться на форуме по адресу: http://www.groove.net/forums.

Для первого знакомства с одноранговыми системами можно обратиться на сайт http://www.openp2p.com O?Reilly & Associates, консалтинговой компании, специализирующейся на вопросах P2P. В каталоге O?Reilly P2P перечислены, в основном, компании, работающие с P2P, но также предлагается информация по инициативам, связанным со стандартами, и другим проектам.

Более подробную информацию о BEEP можно найти по адресу: http://www.ietf.org/html.charters/beep-charter.html.

Peer-to-Peer Working Group — консорциум производителей, работающий над совершенствованием стандартов инфраструктуры для одноранговых вычислений. Его адрес в Web — http://www.peer-to-peerwg.org/index.html.

Разработчики, планирующие распространять свои решения на коммерческой основе, должны получить лицензию в Groove Partner Program. Более подробную информацию можно получить по адресу: http://www.groovenetworks.com/partners.

Поделитесь материалом с коллегами и друзьями