Common Communication Object 구조
CCO라고도 하는 Common Communication Object는 ThingWorx Navigate 내에서 데이터 전송을 관리하는 데 사용되는 JSON 구조입니다. 이 구조에는 백엔드 시스템의 하나 이상의 인스턴스에 대한 데이터 및 메타 데이터와 이러한 시스템에서 읽어들인 객체가 포함됩니다.
CCO 구조
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"",
"instanceName":""
},
"itemListsData":[
{
"objectType":"",
"items":[
{
"id":{
"value":""
},
"Name":{
"value":""
}
}
],
"metadata":{
"id":{
"label":"",
"type":""
},
"Name":{
"label":"",
"type":""
}
},
"typeData":{
}
}
]
}
],
"status":"",
"statusMessage":"",
"timeStamp":""
}
속성 이름
설명
version
사용된 CCO 구조의 버전입니다.
속성 유형은 문자열입니다.
data
백엔드 시스템에서 읽어들인 정보입니다.
속성 유형은 문자열입니다.
adapter
데이터가 검색되는 백엔드 시스템 인스턴스에 대한 정보가 포함됩니다.
thingName
ThingWorx Navigate에서 백엔드 시스템을 나타내는 어댑터 사물의 이름입니다.
속성 유형은 문자열입니다.
instanceName
백엔드 시스템의 특정 인스턴스 이름입니다.
속성 유형은 문자열입니다.
ItemListsData
항목 및 메타 데이터의 목록입니다. 목록의 각 인스턴스 내에 있는 항목은 동일한 객체 유형이어야 합니다.
objectType
읽어들이는 객체의 유형입니다.
속성 유형은 문자열입니다.
items
항목 및 항목 값의 목록입니다.
value
특정 항목에 대한 값입니다.
속성 유형은 문자열입니다.
metadata
모든 항목에 공통되는 속성에 대한 정보입니다.
typeData
objectType에 대한 추가 정보입니다. 드문 경우에만 사용됩니다.
속성 유형은 JSON 객체입니다.
status
데이터 읽어들이기의 상태입니다.
속성 유형은 문자열입니다.
statusMessage
데이터 읽어들이기 상태에 관한 메시지입니다.
속성 유형은 문자열입니다.
timeStamp
데이터 읽어들이기에 대한 타임스탬프입니다.
속성 유형은 문자열입니다.
CCO 구조의 예
1. 다음 예에는 객체 유형이 하나인 항목이 하나 포함되어 있습니다.
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"PTC.WCAdapter",
"instanceName":"windchill"
},
"itemListsData":[
{
"objectType":"PTC.ChangeMgmt.ChangeRequest",
"items":[
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:258323"
},
"Name":{
"value":"CR"
}
}
],
"metadata":{
"id":{
"label":"Id",
"type":"string"
},
"Name":{
"label":"Change Request Name",
"type":"string"
}
}
}
]
}
],
"status":"200",
"statusMessage":"OK",
"timeStamp":" 2019-01-02 06:43:19.77"
}
2. 다음 예에는 서로 다른 두 가지 객체 유형이 있는 항목이 하나 포함되어 있습니다. 각 items 배열에는 하나의 객체만 포함되므로 하나의 항목만 있습니다.
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"PTC.WCAdapter",
"instanceName":"windchill"
},
"itemListsData":[
{
"objectType":"PTC.ChangeMgmt.ChangeRequest",
"items":[
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:258323"
},
"Name":{
"value":"CR"
}
}
],
"metadata":{
"id":{
"label":"Id",
"type":"string"
},
"Name":{
"label":"Change Request Name",
"type":"string"
}
}
},
{
"objectType":"PTC.Workflow.WorkItem",
"items":[
{
"Category#Display":{
"value":"Cost Reduction"
},
"RequestPriority#Display":{
"value":"Low"
}
}
],
"metadata":{
"Category#Display":{
"label":"Category",
"type":"string"
},
"RequestPriority#Display":{
"label":"Request Priority",
"type":"string"
}
}
}
]
}
],
"status":"200",
"statusMessage":"OK",
"timeStamp":" 2019-01-02 06:43:19.77"
}
3. 다음 예에는 객체 유형이 하나인 두 개의 항목이 포함되어 있습니다. 각 items 배열에는 두 개의 객체가 포함되어 있으므로 두 개의 항목이 있습니다.
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"PTC.WCAdapter",
"instanceName":"windchill"
},
"itemListsData":[
{
"objectType":"PTC.ChangeMgmt.ChangeRequest",
"items":[
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:258323"
},
"Name":{
"value":"CR1"
}
},
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:32456"
},
"Name":{
"value":"CR2"
}
}
],
"metadata":{
"id":{
"label":"Id",
"type":"string"
},
"Name":{
"label":"Change Request Name",
"type":"string"
}
}
}
]
}
],
"status":"200",
"statusMessage":"OK",
"timeStamp":" 2019-01-02 06:43:19.77"
}
4. 다음 예에는 두 개의 객체 유형이 있는 두 개의 항목이 포함되어 있습니다. 각 items 배열에는 두 개의 객체가 포함되어 있으므로 두 개의 항목이 있습니다.
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"PTC.WCAdapter",
"instanceName":"windchill"
},
"itemListsData":[
{
"objectType":"PTC.ChangeMgmt.ChangeRequest",
"items":[
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:258323"
},
"Name":{
"value":"CR"
}
},
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:32456"
},
"Name":{
"value":"CR2"
}
}
],
"metadata":{
"id":{
"label":"Id",
"type":"string"
},
"Name":{
"label":"Change Request Name",
"type":"string"
}
}
},
{
"objectType":"PTC.Workflow.WorkItem",
"items":[
{
"Category#Display":{
"value":"Cost Reduction"
},
"RequestPriority#Display":{
"value":"Low"
}
},
{
"Category#Display":{
"value":"Cost Reduction"
},
"RequestPriority#Display":{
"value":"High"
}
}
],
"metadata":{
"Category#Display":{
"label":"Category",
"type":"string"
},
"RequestPriority#Display":{
"label":"Request Priority",
"type":"string"
}
}
}
]
}
],
"status":"200",
"statusMessage":"OK",
"timeStamp":" 2019-01-02 06:43:19.77"
}
도움이 되셨나요?