Основы проектирования приложений интернета вещей. Конспект курса лекций

Текст
Читать фрагмент
Отметить прочитанной
Как читать книгу после покупки
Основы проектирования приложений интернета вещей. Конспект курса лекций
Шрифт:Меньше АаБольше Аа

Корректор Надежда Соболева

© Алексей Корнилов, 2018

ISBN 978-5-4490-4945-2

Создано в интеллектуальной издательской системе Ridero

Введение

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

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

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

• многие – даже талантливые – доступные для небольших команд разработчики не имеют необходимой базовой подготовки;

• привлечь профессиональных аналитиков и архитекторов для таких команд практически нет возможности;

• специалисты, работавшие в разных сферах (к примеру, в разработке автоматизированных систем или веб-приложений), с трудом адаптируются к новым моделям организации работ над проектами;

• всё шире используются международные стандарты разработки, но всё еще действуют и часто являются обязательными к использованию отечественные государственный стандарты, но далеко не все руководители проектов понимают, как они между собой сочетаются.

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

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

Часто, к сожалению, встречается ситуация, когда заказчик обращается к разработчику, который не имеет компетенций для того, чтобы понять проблему клиента и предложить способ решения, но готов «делать, что скажете», так же, как больной, бывает, идет сразу в аптеку, вместо того чтобы пойти к врачу. В итоге деньги, время потрачены, результата нет, претензий как бы тоже («а мы сделали всё, что вы сами сказали!»), но осадок остался.

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

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

Издание адресовано прежде всего:

• разработчикам автоматизированных систем, мобильных и веб-приложений, видящих в технологиях интернета вещей новую сферу применения своим навыкам;

• специалистам по интеграции отраслевых решений, продакт-менеджерам для понимания потенциала IoT-технологии;

• аналитикам, архитекторам, системным инженерам, инженерам по требованиям, UX/UI-дизайнерам, которым нужно понимать специфику и особенности архитектуры и реализации данных приложений;

• технопредпринимателям и руководителям проектов данного профиля;

• учащимся и преподавателям общего, профессионального и дополнительного образования, связанного с изучением технологий интернета вещей, промышленного интернета, а также робототехники и других предметных областей, где требуется организовывать взаимодействие и совместную деятельность устройств, систем, систем систем;

• руководителям и наставникам команд в соревнованиях «Молодые профессионалы (WorldSkills)», JuniorSkills и др. в данной компетенции.

О чем эта книга?

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

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

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

Данный «конспект» был подготовлен к курсу по интернету вещей, организованному Британской высшей школой дизайна, и содержит очень краткое описание общего подхода к разработке приложений на основе данных технологий, чтобы задать общий контекст для программ отдельных тематик (в частности, для UX-архитекторов и UI-дизайнеров, разработчиков приложений дополненной реальности и пр.).

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

Примеры выполнения реальных проектов планируется вынести в отдельное издание «Основы проектирования приложений интернета вещей: Практикум».

Предполагается, что слушателю/читателю доступны другие материалы по системной инженерии, анализу требований, разработке прикладного программного обеспечения и управлению соответствующими проектами, по UX/UI-дизайну или разработке «умных, взаимодействующих через интернет устройств» и пр., но ему надо дать общую картину о целях и процессе создания прикладных систем на основе технологий интернета вещей.

Можно сказать, что цель данного конспекта – дать ответ на вопрос «А почему именно так?», возникающий при работе по проекту, в более развернутом виде, чем это возможно в ходе обычных практических занятий.

Общие принципы разработки приложений интернета вещей, приведенные здесь, применимы при работе с различными современными платформами (например, ThingWorx, HANA, Bluemix, Azure и др.).

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

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

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

Издание осуществлено в рамках проекта «Разумные-Системы.рф» (SmartThings. Center) при поддержке компании «Техновижн» (www.technovision.ru) и Академической программы компании PTC (www.ptc.com).

Свои отзывы, замечания, пожелания и предложения по поводу следующих версий книги присылайте по адресу smart.things.center@gmail.com для Алексея Корнилова

Автор выражает особую благодарность Анатолию

Левенчуку и Дмитрию Курило за ценные замечания,

высказанные при подготовке этого издания

Часть первая

1. Интернет вещей как технология

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

А кроманьонцы были менее «интеллектуальны», но зато образовали сообщества. И, как оказалось, совместные согласованные действия сообществ даже относительно примитивных субъектов, были более эффективны, чем действия более интеллектуальных «индивидуалов». Как результат, кроманьонцы стали нашими предками, а про неандертальцев мы знаем лишь по результатам раскопок…

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

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

Этапы развития интернета

 

Международный союз электросвязи определяет интернет вещей (Internet of things, IoT) как «глобальную инфраструктуру для информационного общества, которая обеспечивает возможность предоставления более сложных услуг путем соединения друг с другом (физических и виртуальных) вещей̆ на основе существующих и развивающихся функционально-совместимых информационно-коммуникационных технологий»1.


Умные взаимосвязанные устройства

Функциональность продукта (изделия) всё больше повышается за счет его «разумности», затем изделия начинают взаимодействовать между собой и объединяться в системы, системы – взаимодействовать между собой и т. д. Функциональность выходит на качественно новый уровень.

Благодаря интернету вещей информационно-коммуникационные технологии (ИКТ), которые уже обеспечивают связь в любое ВРЕМЯ и в любом МЕСТЕ, получают новый аспект – «связь с любой ВЕЩЬЮ»2.

Таким образом, благодаря повсеместному распространению интернета появляется новый класс устройств: умные, взаимодействующие через сеть (Smart, Connected Products, SCP).

Интеллектуальные, поддерживающие сетевые функции изделия – «вещи» в Интернете вещей – должны дать толчок для следующей̆ волны производства. Потенциал огромен: институт McKinsey Global Institute прогнозирует, что интернет вещей обеспечит рост производительности на 2,5—5% на протяжении следующих десяти лет. Это превращается в совокупный̆ рост доходов и экономию в объеме 900 млрд долларов США в год лишь для производственного сектора. Цифра может быть гораздо выше при более широком внедрении3.

«Как ожидается, в интернете вещей произойдет масштабная интеграция ведущих, таких как технологии в области перспективного межмашинного взаимодействия, организации автономных сетей, интеллектуального анализа данных и принятия решений, обеспечения безопасности и защиты неприкосновенности частной жизни, а также облачных вычислений с технологиями усовершенствованного измерения и срабатывания»4.

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


От «Продуктов» к системам систем


Сутью технологии интернета вещей является возможность создания сообществ из умных, умеющих общаться устройств (SCP – Smart Connected Products), а также данных и людей, связанных через интернет, и организация взаимодействия в таких сообществах.

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

Ожидается, что к 2020 году количество технических устройств, подключенных к сетям, превысит 40 миллиардов штук6.

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

Благодаря «интеллекту» и «коннективности» (способности взаимодействовать) у прикладных систем появляется новый набор функций. Их можно разделить на четыре группы:

• мониторинг (Monitoring): датчики и внешние источники данных контролируют состояние объектов и окружающую среду, предупреждают/уведомляют об изменениях;

• управление (Control): приложение контролирует состояние объектов и персонализирует опыт пользователя;

• оптимизация (Optimization): возможности мониторинга и управления позволяют использовать алгоритмы, которые оптимизируют состояние объектов и выполняют их диагностику, обслуживание и ремонт;

• «автономность» (Autonomy), автоматическое выполнение функций: сочетание мониторинга, управления и оптимизации дает объектам возможность работать и обслуживаться автономно, а также обеспечивает им координацию с другими системами объектов.

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

1Рекомендация МСЭ-T Y.2060 (06/2012).
2Там же
3Интеллектуальные, поддерживающие сетевые функции изделия: Следующая трансформация производственной отрасли. Исследование Oxford Economics в сборнике Harvard Business Review Россия, 2015
4Рекомендация МСЭ-T Y.2060 (06/2012)
5«Вещь (thing): Применительно к интернету вещей означает предмет физического мира (физические вещи) или информационного мира (виртуальные вещи), который̆ может быть идентифицирован и интегрирован в сети связи». Рек. МСЭ-T Y.2060 (06/2012)
6McKinsey & Company. The Internet of Things: Mapping The Value Beyond The Hype.
7См.: Harvard Business Review. Сборник статей по теме: «Интернет вещей».
Бесплатный фрагмент закончился. Хотите читать дальше?
Купите 3 книги одновременно и выберите четвёртую в подарок!

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

  1. Нажмите на многоточие
    рядом с книгой
  2. Выберите пункт
    «Добавить в корзину»