빌딩 블록 > 빌딩 블록 설계 패턴 > 표준 설계 패턴
표준 설계 패턴
표준 설계 패턴은 빌딩 블록 구조를 따르고 솔루션의 나머지 부분에서 발견할 수 있는 빌딩 블록을 개발하기 위한 가장 간단한 방법을 제공합니다. 빌딩 블록을 개발할 때 사용되는 가장 일반적인 설계 패턴입니다. 이 유형의 빌딩 블록에는 비즈니스 로직 및 데이터 스토리지와 같은 UI 요소가 포함될 수 있습니다. PTC에서 제공하는 콘텐츠 외에 고유한 기능을 작성하려는 현장 팀이나 고객이 사용하기에 이상적입니다.
다음 다이어그램은 빌딩 블록으로 간주될 엔티티 세트에 대한 가장 기본적인 요구 사항을 나타냅니다.
다른 엔티티에서 구현되거나 확장되는 엔티티를 포함하여 엔티티 세트를 빌딩 블록으로 간주하는 데 필수인 기본 엔티티를 보여주는 다이어그램.
다이어그램에서 머리가 비어 있고 실선이 있는 화살표()는 엔티티가 화살표가 가리키는 엔티티에서 확장됨을 나타내고, 머리가 비어 있고 점선이 있는 화살표()는 엔티티가 화살표가 가리키는 엔티티를 구현함을 나타냅니다.
필수 엔티티
다음 엔티티는 표준 설계 패턴에 필요합니다.
프로젝트 - 빌딩 블록 엔티티가 포함된 ThingWorx 프로젝트 엔티티입니다. 권장되는 이름 규약에서는 빌딩 블록에 속하는 모든 엔티티의 이름에 프로젝트 이름이 포함됩니다. 예를 들어, 프로젝트 이름이 PTC.BuildingBlock인 경우 빌딩 블록에 있는 모든 엔티티의 이름은 PTC.BuildingBlock.EntryPoint, PTC.BuildingBlock.Management_TS 등 프로젝트 이름으로 시작합니다.
진입점 - PTC.Base.ComponentEntryPoint_TT 사물 템플릿에서 상속된 이 엔티티에는 이름, 설명, 버전, 종속 빌딩 블록 목록 등의 모든 빌드 블록 메타데이터가 포함됩니다. 각 빌딩 블록은 고유한 진입점 사물 템플릿에 대한 PTC.Base.ComponentEntryPoint_TT 사물 템플릿을 상속합니다(예: PTC.BuildingBlock.EntryPoint_TT). 이 사물 템플릿에서 진입점 사물이 작성됩니다(예: PTC.BuildingBlock.EntryPoint). ThingWorx 서버에 빌드 블록이 처음 배포될 때 작업을 수행하도록 진입점 사물의 DeployComponent 서비스를 재정의할 수 있습니다.
관리자 - 빌딩 블록 관리자는 빌딩 블록에 대한 주요 서비스 레이어로, 빌딩 블록에 대한 여러 기능을 제공합니다. 첫 번째로, 빌딩 블록을 호출하는 엔티티에 대한 추상화 레이어 역할을 수행합니다. 두 번째로, 메뉴 항목, 포함된 매쉬업 및 둘 이상이 정의된 경우 사용할 관리자를 구성하는 데 사용됩니다. 각 빌딩 블록에는 PTC.Base.CommonManager_TT에서 확장되는 관리자 사물 템플릿이 있어야 합니다(예: PTC.BuildingBlock.Manager_TT). 관리자 자체는 빌딩 블록 관리자 사물 템플릿을 기반으로 한 사물입니다. 또한 관리자 사물 템플릿은 사물 형태(PTC. BuildingBlock.Management_TS)를 구현합니다. 이 사물 형태에는 빌딩 블록에 필요한 모든 서비스가 포함되어야 합니다. PTC에서 개발한 빌딩 블록의 경우 이러한 서비스를 사용자 정의로 재정의할 수 있으므로 솔루션 개발자가 목적에 맞게 기본 서비스를 재정의할 수 있습니다. 자세한 내용은 서비스 사용자 정의를 참조하십시오.
선택적 엔티티
다음 다이어그램에서는 표준 설계 패턴에 포함할 수 있는 선택적 엔티티를 보여줍니다. 다이어그램에서 PTC.MfgModel 빌딩 블록은 모델, 자산 또는 장비 계층 구조가 있는 빌딩 블록의 예로 사용되며, 이 빌딩 블록의 사물 템플릿은 표준 설계 패턴 빌딩 블록에 모델 로직 사물 형태를 구현합니다. 점선 윤관석이 있는 엔티티는 아래에 설명된 특정 용도에 대해 이 패턴에 포함된 선택적 엔티티입니다. 다른 ThingWorx 엔티티도 표준 설계 패턴에 포함될 수 있지만 이러한 엔티티에는 특정 의미가 있습니다.
다른 엔티티에서 구현되거나 확장되는 엔티티를 포함하여 표준 설계 패턴 빌딩 블록에 포함할 수 있는 필수 및 선택적 엔티티를 보여주는 다이어그램.
다이어그램에서 머리가 비어 있고 실선이 있는 화살표()는 엔티티가 화살표가 가리키는 엔티티에서 확장됨을 나타내고, 머리가 비어 있고 점선이 있는 화살표()는 엔티티가 화살표가 가리키는 엔티티를 구현함을 나타냅니다.
다음 선택적 엔티티는 표준 설계 패턴에 포함됩니다.
보안 엔티티 - 권한 사용자 그룹을 작성하고 각 빌딩 블록에 대해 서로 다른 권한을 정의하는 데 사용할 수 있습니다. 사용자 역할은 단순히 각 권한 사용자 그룹에 추가되는 또 다른 사용자 그룹입니다.
매쉬업 - 표준 설계 패턴을 사용하면 매쉬업을 빌딩 블록 기능의 일부로 추가할 수 있습니다. 이는 마스터 매쉬업에 연결된 주 매쉬업 또는 다른 빌딩 블록에서 사용되는 포함된 매쉬업일 수 있습니다. 빌딩 블록 개발자는 어떤 빌딩 블록에 어떤 기능이 있는지 결정할 수 있습니다.
모델 로직 엔티티 - 모델 로직 사물 형태는 ThingWorx에서 요구하는 대로 조직을 사용하여 장비에 대한 조직 보안을 적용하는 매쉬업 또는 기타 컴포넌트에서 사용됩니다. 이는 사용 사례에서 개별 장비에 대한 표시 유형 제어를 요구하는 경우에 필요합니다. 모델 로직 사물 형태에 포함된 서비스는 장비 계층 구조 엔티티에 적용됩니다. 빌딩 블록에 대한 관리 사물 형태를 통해 적절한 구성된 관리자로 호출하기 위해 래핑된 서비스를 제공합니다. 모든 관리자는 PTC.BaseManager 사물의 DefaultGlobalManagerConfiguration 구성 테이블에 등록됩니다. 빌딩 블록에 대한 관리자 사물이나 사물 형태(예: PTC.MfgModel.DefaultWorkUnit_TT)를 구현하는 사물 템플릿에 기반한 장비 모델 사물과 같이 PTC.Base.ConfigManagement_TS 사물 형태를 구현하는 모든 엔티티의 ManagerConfiguration 구성 테이블에서 관리자를 구성할 수도 있습니다. 따라서 서로 다른 모델이 서로 다른 관리자를 사용할 수 있습니다. 예를 들어, 두 사이트는 서로 다른 소스에서 데이터를 가져오기 때문에 두 사이트에서 사용하려는 관리자가 서로 다를 수 있습니다.
서비스가 다른 관리자를 참조할 경우, 먼저 서비스를 호출하고 있는 엔티티에서 ManagerConfiguration 테이블을 확인하여 참조된 관리자에 대해 구성된 엔티티가 있는지 확인합니다. 이 테이블에서 엔트리를 찾지 못하면 서비스는 PTC.Base.Manager 사물에서 DefaultGlobalManagerConfiguration 구성 테이블을 확인합니다.
도움이 되셨나요?