Conceptual Model
The REST API for Syndeia Cloud is organized around four key domain concepts. A simplified view of the concepts is presented below.
Repository
A Repository represents a server or store where the models and data reside and are version managed. Syndeia users create repositories using the Repository Manager tab in the Syndeia Dashboard (client). For example, a Teamcenter server, JIRA server, Jama server, or even a shared directory are examples of repositories. A repository has 0..* containers.
Container
A Container represents a project or model that resides in a repository. For example, a Windchill Product, JIRA project, Simulink model, or NX / Creo CAD model are all examples of containers. Containers may be products, projects, libraries, or other namespaces for organizing models. A container has 0..* artifacts and relations.
Starting with Syndeia 3.2, users can create new projects in Syndeia (see Syndeia 3.2 - New Features). Syndeia projects serve as a container for the inter-model relationships between artifacts originating from multiple external projects, e.g. SysML models, Simulink models, Jama projects, JIRA projects, or Windchill products. Syndeia projects are treated as internal containers in Syndeia Cloud (Container with the isExternal attribute set to false). Projects, models, and libraries from other repositories, e.g. Windchill product, JIRA project, or Jama project are treated as external containers in Syndeia Cloud (Container with the isExternal attribute set to true).
Artifact
An Artifact represents a versioned model element in a container. For example, a JIRA issue, DOORS-NG requirement, Teamcenter item are all artifacts. Artifacts have types, such as JIRA Task, NX Part, or Jama Requirement.
Relation
A Relation represents a versioned connection / relationship between two artifacts. Relations can be directed or un-directed. Relations are owned by a container. The source and target artifacts of a relation may be in different containers (inter-model relation) or same container (intra-model relation). An example inter-mode relation is the relation between a block in a SysML model and a requirement in a Jama project. An example of an intra-model relation is the dependency relation between a block and a requirement in the same SysML model.
The detailed API model, endpoints, and documentation are covered in the next section (Interactive Documentation).