SkyPrints: печать со смартфонов через Windows Azure

28 август, 2012 - 12:35Игорь Дериев

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

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

Международная компания ArtfulBits, главный офис и центр разработки которой размещены во Львове, в силу своей специализации (аутсорсинг ИТ-услуг, заказная разработка, в том числе и мобильных решений для различных платформ) уже сталкивалась с подобной задачей. В свое время ее специалисты трудились над проектом для печати со смартфонов под управлением Windows Mobile. Он был приостановлен заказчиком, однако ниша для подобных решений с тех пор не только сохранилась, но и выросла – соответственно возникла идея возобновить проект уже на новом технологическом уровне, с использованием современных платформ и инструментов. Так появился SkyPints.

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

Другим принципиальным требованием является обеспечение беспрепятственных коммуникаций между десктопной и смартфонной частями, достичь чего совсем не просто, если учесть, что устройства могут находиться в различных изолированных сетях. Соответственно, для решения данной задачи необходим некий сервис-посредник, с которым можно установить связь из-за NAT или брандмауэра, а заодно – возложить него ряд дополнительных задач, как то поддержание очередей заданий, аутентификацию пользователей, управление всей системой и пр. Окончательно схема работы SkyPrints выглядит следующим образом:

SkyPrints печать со смартфонов через Windows Azure

Сервис-посредник изначально задумывался в виде облачного решения с целью сокращения как начальных вложений, так и расходов на администрирование инфраструктуры уже в процессе эксплуатации. Кроме того, качество функционирования всей системы обусловливается именно его надежностью и производительностью, а в данных вопросах «облако» вне конкуренции. В качестве платформы была выбрана Windows Azure – благодаря фактически сквозному стеку технологий, охватывающих облачную, настольную и мобильную платформы, а также конкурентному ценообразованию. Таким образом сервис SkyPrints реализован в виде WCF-службы и формируется из двух основных частей:

  • Web Role обеспечивает работу веб-сайта и аутентификацию пользователей;
  • Worker Role управляет заданиями на печать и использует Windows Azure Blob Storage для хранения находящихся в очереди объектов (изображений, документов).

Клиентская часть сегодня доступна для Windows Phone 7. В силу архитектурных особенностей мобильной платформы Microsoft, клиент для нее является самодостаточным приложением: в нем можно настраивать учетные записи электронной почты, работать с локальной библиотекой изображений, открывать веб-страницы, подключаться к онлайновым хранилищам документов. Таким образом пользователь получает возможность:

  • печати почтовых сообщений, фотографий из Галереи, документов (PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, HTML, XML, XPS) из почтового ящика либо со SkyDrive и DropBox;
  • сбора статистики через сервис Flurry;
  • совместного использования принтеров с другими пользователями SkyPrints.

SkyPrints печать со смартфонов через Windows Azure

По состоянию на июнь 2012 г. число активных пользователей SkyPrints достигло 3.5 тыс., ежедневно подключается 30-40 новых, среднее количество сессий печати составляет порядка 100 в день. Основными клиентами являются частные лица и представители малого бизнеса. Но проект продолжает развиваться.

Гибкость Windows Azure, поддержка стандартных стеков технологий и наличие SDK для всех востребованных платформ заложили в SkyPrints большой потенциал развития. В настоящее время уже ведется разработка клиентских приложений для iOS и Android, учитывающих архитектурные особенности каждой платформы. Следующая версия SkyPrints будет еще больше ориентироваться на бизнес-аудиторию, что в первую очередь выразится в поддержке печати из облачных систем сотрудничества, таких как Office 365 и Google Docs. Кроме того, одним из приоритетных направлений является интеграция с универсальной службой eFax.com, что позволит пользователям смартфонов легко отправлять и принимать факсы непосредственно на своих устройствах. Планируется также обеспечить автоматическое заполнение полей в отправленных на печать документах данными, введенными на мобильном устройстве.

Таким образом именно Windows Azure в значительной степени определила характеристики и динамику проекта. С одной стороны она позволила сравнительно просто решить ряд сложных технических задач, с другой – предоставила готовую масштабируемую инфраструктуру, гарантирующую доступность необходимого объема вычислительных ресурсов. Комментируя выбор облачной платформы Microsoft, Александр Кучеренко, CVO компании ArtfulBits, говорит: «После 7 лет успешного сотрудничества с Microsoft, мы не сомневались в том, что наилучшим выбором для SkyPrints будет Windows Azure. В результате мы смогли сосредоточиться непосредственно на разработке и забыть о проблемах, связанных с поддержкой инфраструктуры.»