사물 템플릿
사물 템플릿은
사물 인스턴스가 실행 시 사용하는 속성, 서비스, 이벤트 및 구독의 기본 기능을 제공합니다. 모든 사물은 사물 템플릿에서 생성됩니다. 사물 템플릿은 다른 사물 템플릿을 확장할 수 있습니다. 제품의 새 버전을 릴리즈하면 전체 모델을 재정의하지 않고 버전의 추가 특성을 간단하게 추가할 수 있습니다. 이 모델 구성은 여러 수준의 자산 일반화를 제공합니다. 사물 템플릿은 사물 형태를 구현하여 하나 이상의 추가 특성을 파생할 수 있습니다. 사물 템플릿을 변경하면 변경 사항이 사물 템플릿을 구현하는 사물에 전파되므로 간단하게 모델을 유지 관리할 수 있습니다.
사물 템플릿은 사물 또는 자산 클래스의 종류를 분류하거나, 고유한 기능이 있는 특정 제품 모델로 분류하는 데 사용할 수 있습니다. 두 개의 제품 모델이 있으며 솔루션과의 상호 작용이 동일한 경우(동일한 속성, 서비스 및 이벤트) 하나의 사물 템플릿으로 모델링할 수 있습니다. 사물 템플릿을 분류하여 매쉬업에 유용한 컬렉션으로 사물을 집계할 수 있습니다. 색인화, 검색 및 향후 제품 진화를 위해 사물 템플릿을 구분할 수 있습니다.
시스템 정의 사물 템플릿
특정 작업에 대한 사물을 생성하는 데 사용할 수 있는 여러 가지 시스템 정의 사물 템플릿이 있습니다. 이러한 사물 템플릿 중 일부는 응용 프로그램을 구축할 때 다양한 서비스 및 기능에 대한 유틸리티로 사용할 수 있습니다.
시스템 정의 사물 템플릿은 다음과 같습니다.
• Blog - 블로그 사물은 매쉬업에서 블로그, 의견 및/또는 토론 포럼 공동 작업 객체를 구현하는 데 사용됩니다.
• Content Crawler - 외부 시스템 또는 콘텐츠 영역에 대해 특정 인터페이스를 처리하도록 설계된 사물입니다. 색인화할 외부 콘텐츠의 목록을 가져오는 서비스와 각 콘텐츠 객체에 대한 세부 정보를 읽어들이는 서비스도 정의합니다. 그러면 ThingWorx에서는 데이터를 색인화하고 ThingWorx 검색 기능을 통해 사용할 수 있도록 합니다.
• Database - 타사 관계형 데이터베이스 시스템에 대한 JDBC 연결입니다.
• Data Table - 데이터 테이블은 관계형 데이터베이스의 테이블과 유사하며, 데이터의 트랜잭션 행을 ThingWorx에 저장하는 데 사용할 수 있습니다.
• File Repository - 저장할 외부 파일 콘텐츠에 대해 정의된 ThingWorx 엔티티입니다. 에지 사물로 또는 에지 사물에서 파일을 전송할 때 특정 저장소에 대해 이를 수행할 수 있습니다. 파일 저장소는 서버의 ThingworxStorage/repository 폴더에 있는 폴더를 가리킵니다. 파일 저장소의 서비스를 통해 해당 폴더의 파일을 보고 조작할 수 있습니다.
• Generic Thing - 최소한의 상속된 특성이 있는 기본 사물입니다. 사용자 정의 사물 템플릿을 정의하는 것이 가장 좋습니다. 그러나 단일 사물 정의가 있고 일반 사물을 사용하려는 경우가 있습니다.
• Mail Server - 응용 프로그램에서 이메일 메시지를 전송하려는 경우 메일 서버 사물을 생성할 수 있습니다.
• Edge - 에지 사물은 일반적으로 다른 네트워크에 대한 방화벽을 통해 다른 서버에 설치되는 장치 또는 데이터 소스입니다. 에지 사물은 로컬에 설치된 EMS를 통해 서버와 통신합니다. 에지 사물의 예에는 OPC-DA 서버가 있습니다.
• Edge Database - 에지 데이터베이스 사물은 다른 서버 또는 워크스테이션의 OLE-DB 또는 ADO.NET 데이터베이스나 데이터 소스와 통신하기 위한 것입니다. 에지 데이터베이스의 예에는 Microsoft Excel 또는 Microsoft Access가 있습니다.
• Edge Enhanced - 원격 데스크톱 터널링이나 파일 전송을 지원해야 하는 원격 설치 장치 또는 데이터 저장소에 해당하는 서버 모델입니다.
• Scheduler - 스케줄러 사물은 Cron 패턴(예: 하루에 한 번 또는 한 시간에 한 번)에 따라 작업을 실행하는 데 사용할 수 있습니다.
• Source Control Repository - 소스 제어 저장소는 서버의 파일 시스템에 있는 폴더를 가리킬 수 있습니다. 이는 로컬 저장소의 루트일 수 있습니다. 이 사물 템플릿은 > 에 사용됩니다.
• Stream - 시계열 데이터 스토리지입니다.
• Timer - 정의된 간격에 이벤트를 개시하는 간단한 타이머입니다.
• Wiki - 매쉬업 내에서 문서 및 관련 의견을 공유하기 위한 공동 작업 객체입니다.
시스템 사물 템플릿 중 하나의 특정 인스턴스를 작성할 때 비즈니스 요구사항 및 IoT 환경에 맞게 구성할 수 있습니다.
시스템 정의 원격 템플릿
WebSocket을 통해 에지 장치 또는 데이터 저장소와 통신하는 데 사용되는 여러 시스템 정의 사물 템플릿이 있습니다. RemoteThing은 WebSocket을 사용하여 네트워크의 다른 노드 또는 사물과 통신하기 위한 이름 규약입니다. WSEMS 및 SDK용 사물 템플릿은 다음과 같습니다.
• RemoteDatabase - 원격 OLE-DB 데이터 소스입니다.
• RemoteThing - 파일 전송 또는 터널링 요구사항이 없는 원격 사물입니다. OPC-DA 데이터 소스 사물에도 사용됩니다. 속성, 서비스 및 이벤트를 지원합니다.
• RemoteThingWithFileTransfer - 파일 전송을 사용할 수 있는 원격 사물입니다.
• RemoteThingWithTunnels - 터널링을 사용할 수 있는 원격 사물입니다.
• RemoteThingWithTunnelsAndFileTransfer - 파일 전송과 터널링을 사용할 수 있는 원격 사물입니다.
• EMSGateway - WSEMS를 독립 실행형 사물로 처리하도록 하는 경우 EMSGateway 사물 템플릿이 사용됩니다. 이 기능은 WSEMS가 게이트웨이 컴퓨터에서 실행되고 LAN(Local Area Network) 내의 다른 IP 주소에 상주하는 하나 이상의 원격 사물에 대한 통신을 처리하는 경우에 유용합니다.
• SDKGateway - EMSGateway와 유사하지만 SDK 구현을 게이트웨이로 사용할 경우에 사용됩니다.
위의 사물 템플릿 이외에도 다음과 같이 디스크 IO에 최적화된 다른 서버에 지속성 객체를 오프로드하려는 페더레이션 스토리지 시나리오에서 사용할 수 있는 원격 템플릿이 있습니다.
• RemoteStream - 다른 ThingWorx 서버에서 데이터를 실행 중이며 지속하는 스트림 사물에 대한 로컬 프록시 객체를 만듭니다.
• RemoteValueStream - 다른 ThingWorx 서버에서 데이터를 실행 중이며 지속하는 가치 스트림 사물에 대한 로컬 프록시 객체를 만듭니다.
• RemoteDataTable - 다른 ThingWorx 서버에서 데이터를 실행 중이며 지속하는 데이터 테이블 사물에 대한 로컬 프록시 객체를 만듭니다.
• RemoteBlog - 다른 ThingWorx 서버에서 데이터를 실행 중이며 지속하는 블로그 사물에 대한 로컬 프록시 객체를 만듭니다.
• RemoteWiki - 다른 ThingWorx 서버에서 데이터를 실행 중이며 지속하는 Wiki 사물에 대한 로컬 프록시 객체를 만듭니다.
|
에지 제어 장치에 대해서는 원격 사물 속성이 업데이트되지 않습니다.
|
확장을 통해 사물 템플릿 생성
확장을 통해 생성된 사물 템플릿은 기본적으로 ThingWorx Composer에서 생성한 사물 템플릿과 동일합니다. 이는 동일한 속성, 구성 매개 변수, 서비스를 통해 사물을 생성하는 데 사용되는 기본 템플릿입니다. Composer에서 사물 형태를 생성하는 것과 확장 프레임워크 내에서 생성하는 것의 차이는 서비스에 사용되는 언어와 해당 서비스의 표시 유형입니다.
Composer 템플릿:
• 서비스에 대해 JavaScript 사용
• 소스 코드가 표시됨
Extension SDK 템플릿:
• 서비스에 대해 Java 사용
• 소스 코드가 표시되지 않음
• 구성 값 정의 가능