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