Начинаем разрабатывать для Office 365
Примерно пару недель назад был сделан анонс Office 365 beta и некоторые счастливчики уже получили приглашение поучаствовать в тестировании. Российским представительством Microsoft по этому поводу даже был выпущен пресс релиз в котором заявлено что Office 365 появится у нас в России до конца этого года.
Важно понимать, что Office 365 это не просто набор готовых интегрированных приложений «почта и редактор» в облаке, но и платформа для разработки. В этой заметке хотелось бы кратко рассказать о том, какие возможности доступны программистам в контексте расширения функциональности Office 365, а так же где получить дополнительную информацию о том, как такие решения на основе Office 365 можно создавать.
Что можно разрабатывать и примерные сценарии
Итак, наверное, самый важный вопрос, какие компоненты Office 365 на данный момент позволяют расширить функциональность, содержат внешние API и вообще каким то образом доступны программистам.
SharePoint Online
В общем случае возможна разработка так называемых Sandboxed Solutions – приложений в «песочнице» которые могут функционировать на сайте Office 365. Частный простейших случай такого приложения — веб-часть которая оперирует данными на сайте Office 365 и выводит информацию для пользователя. Пример разработки такой веб-части можно посмотреть тут. Так же доступна возможность создавать программные Workflow для организации дополнительных схем документооборота. Сценарии тут очевидны – если вам нужен более сложный документооборот, нежели предлагает Office 365 значит, вы можете его расширить. Еще один вариант взаимодействия с Office 365 — разработка клиентских решений, которые работают с “web-services api” – так называемые Client Object Model приложения. Примеры, которые идут с Training Kit основаны на Silverlight и Jscript, запущенном у клиента и работающем с данными Office 365. Простые сценарии приходящие в голову — обработка данных списков или загрузка файлов.
Excel и Access
В Office 365 встроены «движки» Access и Excel. Конечно это не аналоги полноценных оффлайновых движков, но те возможности, на которые они способны позволяют решать множество задач. Если у вас возникла необходимость работы с таблицами Excel или базой Access расположенной в Office 365 то вы можете воспользоваться набором веб-сервисов, REST запросов и библиотекой на основе Jscript. Например, возможен сценарий при котором из Jscript вы меняете содержимое ячеек Excel таблицы, затем данные в этой таблице пересчитываются на стороне сервера Office 365 и часть этой таблицы в виде графика выводится на страницу Office 365.
Lync Online
В Office 365 встроена система мгновенных сообщений, голосового и видео общения. Существующий API позволяет, например, создать альтернативный клиент комбинируя готовые контролы. Основная цель – снабдить программистов возможностью создания «контекстных» приложений. Примером может быть веб-часть которая содержит поле ввода для мгновенного сообщения, или еще более приземленный пример — форма хелпдеска с готовым полем для чата с оператором и кнопкой «позвонить».
Exchange Online
В Office 365 «встроен» Exchange с которым можно взаимодействовать благодаря Exchange Web Services Managed API (EWS MA). В общем случае этот API позволяет программно организовать Create Read Update Delete операции со всеми элементами, хранимыми в Exchange (Appointments, Attachments, Contacts, Emails, Tasks, Public Folders). Если вам надо импортировать в Office 365 базу в десять тысяч контактов – пожалуйста, для этого всё есть. Дополнительно существуют сервисы pull-нотификации. Простейший сценарий – пришло письмо на специальный ящик и его обработал ваш робот.
С чего начать
Основной источник информации по разработке для Office 365:
- Курс по разработке для Office 365 (Office 365 Developer Training Course) – онлайн руководство по основным вопросам разработки.
- Руководство по разработке для Office 365 (Office 365 Developer Training Kit) – скачиваемый вариант
В этом руководстве содержится опорная информация, которая потребуется для старта вашего решения. Курс еще дополняется информацией так что следите за обновлениями.
Тут возможно сразу возникнет вопрос – а где всё это пробовать и требуется ли для этого доступ к бете Office 365. Ответ – нет вам не понадобится доступ к Office 365 beta, чтобы начать разработку под это облачное решение. Чтобы изучить Training Kit и примеры которые в него в ходят понадобится виртуалка которую можно скачать с сайта Microsoft.
Вообще основные программные API о которых идет речь давно доступны (с некоторыми нюансами) в продуктах Sharepoint, Lync, Exchange. Те разработчики которые уже создавали решения для этих платформ по большому счету уже готовы разрабатывать и для Office 365.
Зачем разрабатывать
По официальной информации более 100 000 организаций согласились участвовать в тестировании Office 365 beta. Что может быть индикатором неподдельного интереса к технологии. Так же не следует забывать, что входящие в Office 365 базовые технологии, такие как Sharepoint и Exchange уже много лет используются многими компаниями и успели «обрасти» дополнительными сценариями, компонентами и решениями.
Все эти решения в той или иной степени могут быть востребованы в «облачном» офисе, и те разработчики, которые их создадут для Office 365, несомненно, смогут на этом заработать.
Более того, Microsoft стремится к тому чтобы в Office 365 были дополнительные возможности и решения, и сейчас идет пилот Office 365 Marketplace – магазина приложений и профессиональных сервисов для Office 365. Уже опубликованы заметки в блогах о том, как зарегистрировать приложение в этом магазине. Если у вас есть статус партнера и вы разрабатываете решения для каких либо технологий входящих в Office 365 (SharePoint, Lync, Exchange) то наверное уже пора подумать о регистрации вашего приложения.