понедельник, Апрель 10, 2006

 

AppExchange: платформа для выхода на рынок

Одно из преимуществ SaaS для его разработчиков заключается в том, что их технологическая платформа может одновременно играть роль канала вывода решения на рынок. Фил Уэйнрайт пишет примерно следующее:

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

Реализация этой мечты подразумевает наличие такого "одного места", куда могли бы помимо пользователей приходить и провайдеры с целью регистрации и интеграции своих On Demand приложений. Одним из таких пока немногочисленных мест является сервис salesforce.com AppExchange.

AppExchange позволяет сторонним разработчикам, использующим платформу sforce (для них предусмотрен специальный бесплатный лицевой счет Salesforce), публиковать свои решения в общем каталоге. Там его может найти и приобрести любой из пользователей salesforce.com. Аналогичным образом пользователи 1С могут объединить ("слить") полученную от разработчика (например, посредством службы сопровождения ИТС, регулярно рассылающей обновления некоторых конфигураций) конфигурацию с той, которую они уже используют. Как это ни парадоксально, но осуществление через AppExchange расчетов между пользователем и сторонним разработчиком по установленной последним ежемесячной плате пока не предусмотрено.

Первооткрывательство AppExchange объясняется простотой архитектуры ее платформы. Механизм размещения приложений на sforce заключается в определении модели данных, как правило, опирающейся на уже имеющуюся модель данных основного приложения salesforce.com (CRM). Далее определяется пользовательский интерфейс -- формы ввода данных, отчеты, закладки и кое-что еще. И, voila, рождено новое приложение. Эдакий живущий в сети много-арендный Microsoft Access с Web-интерфейсом.

Для "настоящих" разработчиков это покажется издевательством. Что за платформа без хоть какого-нибудь механизма программирования? Появится ли он в следующей версии? Вряд ли в обозримой перспективе "модель программирования" sforce принципиально расширится.

Дело в том, что AppExchange является результатом естественной эволюции системы вследствие запросов клиентов salesforce.com. Постепенное расширение возможностей кастомизации основного сервиса CRM началось с определения собственных атрибутов в уже существующих объектах. Затем пользователи потребовали возможность настройки UI, и тоже это получили. Дальше пришли к целым пользовательским объектам, связям между ними и так далее.

Затем кому-то в Salesforce пришла гениальная мысль: "А почему бы не сделать все эти метаданные отчуждаемыми, чтобы пользователи могли обмениваться своими настройками друг с другом?" Естественно, не только сами пользователи, но и сторонние разработчики смогут генерировать расширения CRM-системы salesforce.com, если им дать возможность монетизации своих разработок. И так родилась идея AppExchange.

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

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

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

Если же приложение невозможно уложить в рамки метамодели sforce, то дополнительную функциональность можно попробовать пристыковать в виде внешне размещенного решения, интегрированного с sforce только через его Web-сервисный интерфейс доступа к данным. API содержит гибкий язык запросов, но и эта часть платформы оптимизирована для клиентов. Партнерам же предоставляется довольно убогий низкоуровневый аналог, что опять же объясняется историей. Первостепенное целевое назначение API sforce всегда заключалось в гарантии доступности данных их законным владельцам -- пользователям -- во избежание возникновения у них долгосрочной зависимости от Salesforce (то есть vendor lock-in).

В любом случае, следует учитывать, что стать пользователем приложения из каталога AppExchange можно только в случае наличия подписки на salesforce.com. Исходя из этого, наиболее привлекательными прикладными областями для разработчиков будут непосредственно связанные с CRM. Не стоит рассчитывать, что ради какого-то решения, опубликованного в AppExchange, клиенты станут также платить за ненужный им -- и отнюдь не дешевый -- сервис CRM.

technorati tags: , ,


Комментарии:
Камент не в тему (можно удалить по прочтении)
А что за сервис http://www.linkedin.com/ ?
 
social networking в деловом стиле (см. http://en.wikipedia.org/wiki/LinkedIn)
 
Отправить комментарий

Ссылки на это сообщение:

Создать ссылку



<< Главная страница

Я использую Blogger, а Вы?