본문 바로가기
WIKI 기술 지식 베이스

카탈로그 엔티티 사이의 잘 알려진 관계

원문 보기 위키 갱신

이 섹션은 정의된 의미를 가진 잘 알려진 엔티티 관계 타입들을 나열합니다. 그것들은 카탈로그 엔티티에 붙일 수 있고, 필요에 따라 플러그인이 소비할 수 있습니다.

출처: 문서

본문

이 섹션은 정의된 의미를 가진 잘 알려진 엔티티 관계 타입들을 나열합니다. 그것들은 카탈로그 엔티티에 붙일 수 있고, 필요에 따라 플러그인이 소비할 수 있습니다.

관계 집합을 확장하려면 Extending the model을 참조하세요.

관계

이것은 실제로 활발히 사용되는 것으로 알려진 관계의 (완전하지 않은) 목록입니다.

각 관계에는 소스(source)(암시적으로: 그 관계를 가진 엔티티), 대상(target)(소스가 관계를 맺는 엔티티), 그리고 소스가 대상과 어떤 관계를 가지는지 알려주는 타입(type)이 있습니다. 관계는 방향성이 있습니다. 흔히 관계 타입의 쌍이 있으며, 반대쪽 끝의 엔티티는 반대 방향으로 반대 관계를 가집니다(예: A를 쿼리하면 A.ownedBy.B를 보고, B를 쿼리하면 B.ownerOf.A를 보는 식).

ownedBy와 ownerOf

소유자가 보통 조직 엔티티(User 또는 Group)이고, 다른 엔티티는 무엇이든 될 수 있는 소유권 관계입니다.

Backstage에서 엔티티의 소유자(owner)는 그 엔티티에 대한 궁극적인 책임을 지고, 그것을 개발하고 유지할 권한과 능력을 가진 단일 엔티티(흔히 팀)입니다. 무언가 잘못되거나 기능을 요청할 때의 연락처가 바로 그들입니다. 이 관계의 주요 목적은 Backstage에서 표시용(diplay purposes)이라는 것입니다. 그래서 카탈로그 엔티티를 보는 사람들이 이 엔티티가 누구에게 속하는지 이해할 수 있게 합니다. 런타임 시스템에서 권한을 부여하는 것 같은 자동화된 과정에 이것을 사용해서는 안 됩니다. 엔티티를 개발하거나 다른 방식으로 다루는 사람이 더 있을 수 있지만, 궁극적인 소유자는 항상 하나입니다.

이 관계는 흔히 소유된 엔티티의 spec.owner(존재할 때)를 바탕으로 생성됩니다.

providesApi와 apiProvidedBy

보통 Component에서, API 엔티티와의 관계입니다.

이 관계들은 컴포넌트가 API를 노출한다는 것 — 즉 그 API를 소비할 수 있는 호출 가능한 엔드포인트를 호스팅한다는 것 — 을 표현합니다.

이 관계는 흔히 해당 컴포넌트나 시스템의 spec.providesApis를 바탕으로 생성됩니다.

consumesApi와 apiConsumedBy

보통 Component에서, API 엔티티와의 관계입니다.

이 관계들은 컴포넌트가 API를 소비한다는 것 — 즉 그 API의 엔드포인트에 의존한다는 것 — 을 표현합니다.

이 관계는 흔히 해당 컴포넌트나 시스템의 spec.consumesApis를 바탕으로 생성됩니다.

dependsOn와 dependencyOf

다른 엔티티에 대한 의존성을 나타내는 관계입니다.

이 관계는 엔티티가 기능하기 위해 그 다른 엔티티를 필요로 한다는 일반적인 표현입니다. 예를 들어 웹 사이트 컴포넌트가 빌드의 일부로 라이브러리 컴포넌트를 필요로 하거나, 서비스 컴포넌트가 영구 저장 리소스를 사용한다는 것을 표현하는 데 쓸 수 있습니다.

이 관계는 흔히 해당 컴포넌트나 리소스의 spec.dependsOn을 바탕으로 생성됩니다.

parentOf와 childOf

트리를 만들기 위한 부모/자식 관계로, 예를 들어 Groups 사이의 조직 구조를 설명하는 데 사용됩니다.

이 관계는 흔히 spec.parent 및/또는 spec.children을 바탕으로 합니다.

memberOf와 hasMember

보통 Groups 안의 Users를 위한 멤버십 관계입니다.

이 관계는 흔히 spec.memberOf를 바탕으로 합니다.

partOf와 hasPart

보통 Component, API, System 또는 Domain에서, Domain, System 또는 Component 엔티티와의 관계입니다.

이 관계들은 컴포넌트가 더 큰 컴포넌트에 속한다는 것; 컴포넌트, API 또는 리소스가 시스템에 속한다는 것; 시스템이 도메인 아래 그룹화된다는 것; 또는 도메인이 더 큰 도메인에 속한다는 것을 표현합니다.

이 관계는 흔히 spec.system 또는 spec.domain을 바탕으로 합니다.

더 알아보기 (Learn more)