Моделирование активов с использованием вещей, шаблонов вещей и профилей вещей
Вещи являются представлениями физических устройств, активов, изделий, систем, людей или процессов, которые имеют свойства и бизнес-логику.
Чтобы можно было однократно определить одно поведение и затем повторно использовать его в решении, ThingWorx предоставляет шаблоны вещей и профили вещей для упрощения моделирования решения. Шаблоны вещей предоставляют базовую функциональность вещей с их свойствами, сервисами, событиями и подписками. Профили вещей позволяют повторно использовать свойства в нескольких активах внутри одного решения.
Вещи наследуют функциональность из шаблонов вещей. Шаблон вещи может получить одну или несколько дополнительных характеристик путем применения профиля вещи.
Конечные пользователи взаимодействуют с вещами для получения информации в решениях и для чтения и записи данных.
Рекомендации по созданию вещей, шаблонов вещей и профилей вещей
При создании вещей, шаблонов вещей и профилей вещей используйте следующие оптимальные методы:
• Определите правила именования для вещей, шаблонов вещей и профилей вещи. Учитывайте следующее:
◦ Используйте стандартную номенклатуру для сущностей. Например: чтобы избежать конфликтов, можно использовать уникальный префикс пространства имен для каждого из различных типов сущностей.
◦ Задавайте осмысленные наименования сущностей.
◦ Пытайтесь включать хорошее описание для каждой создаваемой сущности.
◦ Не задавайте неоднозначные наименования.
◦ По возможности не используйте длинные имена сущностей.
• Используйте теги для всех сущностей, которые создаются и будут изменяться. В сложных приложениях это помогает отличать друг от друга различные модули одного и того же решения или нескольких решений. Клиентам это помогает различать сущности различных решений в одном и том же экземпляре ThingWorx Platform. Разработчикам это позволяет быстро фильтровать сущности в ThingWorx Composer и экспортировать модуль решения для тестирования. Рекомендуется задавать правила именования для тегов, особенно если планируется использовать разные теги в разных модулях одного и того же решения.
• Сгруппируйте одни и те же сущности в модуле в проект. Для каждого модуля существует свой собственный проект.
• При каждой возможности используйте профили вещей.
|
Рекомендуется использовать профили вещи для определения свойств и сервисов. Если вы определяете свойства и сервисы в шаблоне вещи, трудно переносить их определения в профиль вещи.
|
◦ Определите все свойства, сервисы и события на уровне профиля вещи.
◦ Шаблон вещи используется для группирования профилей вещей и для поддержки наследования.
◦ По возможности не применяйте свойства или сервисы в шаблонах вещей и вещах.
◦ Разрешите переопределение сервисов в профилях вещей и шаблонах вещей.
◦ Убедитесь, что стандартные профили вещей и шаблоны вещей недоступны для редактирования.
◦ Определите аннотации для идентификации поддерживаемых интерфейсов API. Это гарантирует поддержку сервисов и свойств при обновлении.
• Используйте профиль вещи для включения конкретной функциональности. Использование профилей вещей позволяет без труда добавлять новую функциональность в существующие шаблоны вещей в ThingWorx. Не реализуйте профили вещей непосредственно в вещи. Наследуйте в вещи характеристики профиля вещи, используя шаблон вещи.
Например, если активы реализованы с применением пользовательских шаблонов вещей и вещей, можно просто добавить профиль вещи в эти шаблоны вещей. Однако если свойства или сервисы были определены непосредственно в шаблоне вещи, для использования новой функциональности потребуется повторно создать все активы, поскольку невозможно изменить базовый шаблон вещи для шаблона вещи или для вещи.
• Не получайте вещи непосредственно из системных шаблонов вещей. Рекомендуется создавать пользовательские шаблоны вещей на основе базовых шаблонов вещей, предоставляемых ThingWorx. Это позволит добавить позже дополнительную функциональность путем реализации дополнительных профилей вещей и добавления их в шаблоны вещей.
• Если в решении имеется соединение с большим числом удаленных устройств или применяется ThingWorx Edge Micro Server или модули EDGE SDK, используйте в качестве базового шаблона вещи шаблон RemoteThing, а не GenericThing. В зависимости от необходимости использовать передачу файлов или туннелирование используйте шаблон вещи RemoteThingWithTunnels, RemoteThingWithFileTransfer или RemoteThingWithTunnelsAndFileTransfer. Рекомендуется автоматизировать процесс добавления удаленных привязок с помощью сценариев, которые проверяют, существуют ли несвязанные удаленные вещи, и создают их для ThingWorx Platform автоматически. Это позволяет автоматически создавать вещи в ThingWorx Platform по мере поставки новых устройств и их внедрения в производство.
|
После создания вещи или шаблона вещи изменить базовый шаблон вещи нельзя.
|
• Используйте сети для определения взаимосвязей между вещами. В сети вещь может быть родительской, дочерней или равноправной для другой вещи. Это позволяет моделировать иерархическую структуру.
рекомендации по обеспечению устойчивости
В этом разделе описаны и другие применимые рекомендации.
• Безопасность
◦ Убедитесь, что все вещи, шаблоны вещей и профили вещей недоступны для редактирования.
◦ Добавьте соответствующие разрешения видимости, времени выполнения и времени конструирования для шаблонов вещей или профилей вещи.
◦ Определите организации пользователей, группы пользователей и пользователей, имеющих доступ к профилям вещей, шаблонам вещей или вещам.
• Обновления
◦ Упорядочивайте вещи, шаблоны вещей и профили вещей, используя проекты и теги. Это позволяет выполнять такие задачи, как поиск, экспорт, изменение разрешений видимости и идентификация сущностей для обновления.
◦ Убедитесь, что при создании сущностей используется верное правило именования. Это экономит затраты на переименование сущностей во время обновления.
• Расширение и настройка
◦ Для расширения вещей компонентов создавайте шаблоны вещей подтипов, наследующие готовые к применению шаблоны вещей.
◦ Переопределите сервисы и свойства в шаблонах вещей подтипов в соответствии с инструкциями разработчика расширения.
◦ Введите новые сервисы и свойства в новые профили вещей.