사물 이벤트
이벤트는 사물이 가입자에 게시하는 흥미로운 또는 중요한 속성 상태입니다. 이벤트는 기본적으로 트리거된 서비스인
구독의 일부 기능을 시작하는 초기자입니다. 서비스 정의 내에서 이벤트를 두 번 클릭하면 이벤트를 개시하기 위해 필요한 스크립트가 서비스에서 사라집니다. 트리거는 자산 또는 시스템(사물)의 상태에 대해 잘 정의된 변경 사항(예:
모터가 과열됨)입니다. 일반적으로 트리거에는 변경 사항에 응답하는 작업(예:
트랙터 과열을 표시하기 위한 경고 표시등 표시)이 필요합니다. 분석 알고리즘의 복잡한 예측은 이벤트를 개시할 수 있으며, 응용 프로그램 개발자가 비즈니스 로직으로 이러한 이벤트에 대응할 수 있도록 합니다.
ThingWorx 응용 프로그램의 비즈니스 로직 및 작업은 이벤트에 의해 유도됩니다. 이벤트는 시스템의 새 데이터 값과 같이 간단할 수도 있고 여러 데이터 점 및 점 간의 종속성으로 인해 개시될 때처럼 더 복잡할 수도 있습니다. 예를 들어, ThingWorx Analytics 실시간 점수 매기기는 실패를 예측하고 사용자가 작업을 수행할 수 있도록 IoT 실시간 엔진에 이벤트를 개시합니다. 이벤트는 응용 프로그램에서 사용자의 API 요청을 통해 개시될 수 있습니다. 또는 장치에서 로컬 데이터 분석이나 진단 루틴에 따라 자체의 이벤트를 개시할 수 있습니다.
이벤트에는 가입자가 있어야 합니다. 구독을 시작하려면 가입자에게 데이터 패킷이 전송됩니다.
ThingWorx에는
데이터 셰이프에 의해 정의된 표준 이벤트 및 관련된 데이터 패킷이 있습니다. 가장 일반적인 이벤트 유형은 사물 속성과 관련된 데이터 변경입니다. 속성을 정의할 때 여러 가지 구성 양상이 있습니다. 예를 들어,
DataChangeEvent를 사용하면 속성에 대한 새 데이터가 있을 때 데이터가 변경된 경우에만, 데이터가 true 또는 false일 경우에만 또는 새 값이 정의된 허용치를 넘어 변경된 경우에만 이벤트가 개시되도록 설정할 수 있습니다. 모든 데이터 변경 이벤트는 사전 정의된 동일한 데이터 셰이프를 사용하여 패킷을 전송합니다.
모델에 사용자 정의 이벤트를 생성할 수 있습니다. 예를 들어, 진단 체크를 실행하는 시스템이 있을 수 있습니다. 진단 체크에서 시스템을 보정해야 한다고 결정되면 해당 장비 클래스에 대한 사용자 정의 보정 경고를 생성할 수 있습니다(일반적으로 사물 형태 또는 사물 템플릿 수준에서). 정의에서는 시스템에서 작업을 수행하는 데 필요한 데이터가 포함된
데이터 셰이프를 생성할 수 있습니다. 조건이 감지될 때 ThingWorx API를 통해 해당 이벤트를 개시하도록 시스템 에이전트를 구성할 수 있습니다. 구독에서 이벤트에 대응하는 비즈니스 로직을 구현할 수 있습니다. 매쉬업 및 사용자 정의 응용 프로그램이 ThingWorx Analytics를 통해 이벤트를 트리거할 수 있도록 표준
ThingWorx REST API를 통해 이벤트를 발생시킬 수도 있습니다.
DynamicSubscriptionInvalidated 이벤트
ThingWorx 9.4 이상부터 새 이벤트는 추가된 DynamicSubscriptionInvalidated입니다. 이 이벤트는 사물에 의해 생성된 다른 동적 구독이 삭제될 때 해당 사물에서 발생합니다. 사물이 중지되거나 재시작되거나 속성이 삭제되거나 사물 자체가 삭제될 수 있기 때문에 동적 구독이 삭제될 수 있습니다.
이 이벤트는 새 값을 이용할 수 있을 때 자동 업데이트 확인란이 선택된 경우 매쉬업에서 주로 사용됩니다.
이를 통해 매쉬업은 사물이 변경될 때(예: 사물 속성 업데이트) ThingWorx Platform에서 더 이상 업데이트가 제공되지 않음을 운영자에 알릴 수 있습니다.
ThingWorx Analytics를 사용하여 이벤트 트리거
ThingWorx Analytics는 데이터를 검사하여 이상이 있는 동작을 인식하거나 기록 데이터로 학습할 수 있습니다. ThingWorx Analytics는 ThingWorx의 실시간 데이터를 사용하여 결과를 예측할 수 있습니다. 기본 예는 예측 분석입니다. 실패 정보를 비롯한 기록 데이터에 따라 장비 클래스에 대해 분석 엔진을 학습할 수 있습니다. 개별 사물의 런타임 데이터를 분석 엔진에 전송할 수 있습니다. 분석 엔진에서 과거 실패로 이어진 패턴을 감지하면 해당 사물에 대한 이벤트를 발생시키고 구독을 통해 작업을 수행하도록 할 수 있습니다. 이러한 작업은 서비스 티켓을 만들거나 서비스 부서로 알림을 전송할 수 있습니다. 사용자 정의 이벤트에 대한 경고 또는 구독을 사용하면 특정 작업 및 비즈니스 로직을 거의 실시간으로 이벤트에 연결할 수 있습니다.