IoT용 프로그래밍
프로그래밍 규칙 및 비즈니스 로직
IoT(사물 인터넷)에서 규칙과 비즈니스 로직은 SQL과 데이터베이스 질의를 사용하는 일반적인 프로시저 프로그래밍 모델과 다른 방식으로 프로그래밍됩니다. 프로시저 프로그래밍은 논리 컨트롤을 응용 프로그램의 다른 부분으로 전송하여 코드를 처음부터 끝까지 이동합니다. 시스템은 다음과 같은 프로세스를 지원하도록 설계되었습니다.
1. 데이터를 데이터베이스로 덤프합니다.
2. 매일 밤 새 데이터에 대해 질의를 실행하고 비즈니스 로직을 적용합니다.
3. 일괄 처리 작업의 출력을 데이터베이스로 덤프합니다.
4. 발생한 상황을 설명하는 보고서를 실행합니다.
변화의 속도가 빠른 IoT 환경에서는 이 프로세스가 잘 작동하지 않습니다. 저장 후 질의(store-then-query) 방식은 유연하거나 시기 적절하지 않습니다. 실시간으로 이벤트에 반응해야 합니다.
ThingWorx는 허용치 기준에 따라 경고를 설정하고 이벤트가 발생할 때 비즈니스 로직을 적용할 수 있는 스크립팅 기능을 제공하는 이벤트 기반 아키텍처를 제공합니다. 자세한 내용은
이벤트 및
구독을 참조하십시오.
분석의 필요성
IoT에서는 방대한 양의 데이터를 처리해야 하므로
분석에 대한 접근 방식을 신중하게 결정해야 합니다.
IFTTT(If This, Then That) 패턴을 사용하려면 이벤트에 반응하는 방법을 알아야 합니다. 그러나 IoT 이벤트에는 여러 가지 가능한 반응이 있어서 어떤 작업을 수행해야 할지 모를 수도 있습니다. 이벤트가 신호인지 노이즈인지 모를 수도 있습니다. 사물에 의해 생성된 방대한 양의 데이터에서 관련이 있는 중요한 정보가 무엇인지 알고 싶습니다.
즉, IFTTW(If This, Then What) 패턴을 적용하고 싶습니다.
IFTTW는 다음과 같은 질문에 대한 답변을 찾습니다.
• 유지 관리 작업을 수행할 시간입니까?
• 소모품을 주문할 시간입니까?
• 수리 기술자를 보낼 시간입니까?
• 제품 구성을 조정해야 합니까?
IoT 솔루션과 함께 분석 엔진을 사용하면 이벤트의 기록 로그를 얻을 수 있을 뿐만 아니라 해당 기록을 통해 알려준 분석 모델을 기반으로 미래에 대한 예측 보기를 얻을 수 있습니다.
사물 모델은 자산 컨텍스트를 분석에 추가합니다. 모델에 정의된 대로 장비 클래스에 따라 분석 엔진을 교육할 수 있습니다. 또한 실시간에 가까운 데이터 분석을 기반으로 자산에 대한 경고 또는 문제를 생성하는 의미 체계 인터페이스를 제공합니다.
사물 중심 의미 체계 레이어
ThingWorx는 기존 프로그래밍 방식에 사용되지 않는 의미 체계 레이어를 모델에 제공합니다. 솔루션에 필요한 사물과 이러한 사물의 특성을 고려해야 합니다. 객체 지향 ThingWorx 모델을 사용하면 일반적인 기능을 상위 수준의 객체로 분류하고, 비즈니스 로직 및 기능을 기본 객체에 캡슐화하며, 디지털 사물에 해당 기본 객체를 상속할 수 있습니다. 이 프로세스는 의미 체계 레이어(제품, 고객 또는 수익과 같은 일반적인 용어를 사용하여 최종 사용자가 데이터에 자율적으로 액세스하는 데 도움이 되는 데이터의 비즈니스 표현)를 생성합니다. 이 레이어를 사용하면 "Thing123, 지난 2시간 동안의 온도 및 위치 기록은 어떻게 됩니까?"와 같은 질문을 할 수 있습니다.
모델의 의미 체계는 강력한 형식의 잘 알려진
REST APIs 집합으로 표시됩니다.
시각적 응용 프로그램 작성기
시각적 응용 프로그램 작성기는 사물 중심의 의미 체계 모델의 결과를 사용하여 신속한 응용 프로그램 개발을 돕기 위한 마지막 부분을 제공합니다. 시장에는 여러 유형의 UI(사용자 인터페이스) 렌더러가 있습니다. IoT 솔루션을 구현하는 속도와 유연성을 최대화하려면 데이터 모델의 의미 체계 레이어를 이해하고 데이터 모델 변경에 따라 조정하는 솔루션을 사용해야 합니다.
모델의 강력한 기능을 빠르게 활용하기 위해 에지, 클라우드 및 사물 모델에 대해 레이어를 제공하는 ThingWorx Mashup Builder를 사용할 수 있습니다. 이 작성기는 사물 모델에 미리 연결할 수 있는 IoT용 시각적 위젯을 제공합니다. ThingWorx Mashup Builder를 통해 끌어서 놓기를 사용하여 코딩 없이 사용자 인터페이스 페이지를 생성할 수 있습니다. RAD(Rapid Application Development) 환경을 사용하면 UI에서 더 빠르게 반복할 수 있습니다. ThingWorx Platform의 고유한 가치는
속성,
서비스 및
이벤트의 의미 체계 레이어를 사용하여 데스크톱 및 모바일 장치용 최신 응용 프로그램을 빠르고 직관적으로 생성한다는 것입니다. ThingWorx의 기능을 사용하면 수십억 개의 연결된 장치에 필요한 수억 개의 응용 프로그램을 처리할 수 있습니다.