Model Quick Reference
The following table provides a quick overview of all persistent types supported by the Marketplace specification.
Persistent Resources
| Type | Brief Description |
|---|---|
| IdentityProvider | Marketplace instance-level configuration parameters allowing user authentication against an external authority using OpenID Connect authentication flows. |
| User | A distinct person or system with some degree of access or interest to a Marketplace instance. |
| (User) Identity | IdentityProvider-specific information pertaining to a given User. |
| (User) Platform | Declaration of a compatible external Product runtime environment maintained by the User. |
| Group | A named collection of Users for purposes of batch Role assignment. |
| (Group) Member | Essentially a "join" record signifying a given User’s placement within a Group. |
| Role | A named set of permissions. |
| (Role) Appointment | The granting of a single Role to a single User or Group. (It is a polymorphic type.) |
| JsonWebToken | An RFC 7519 JSON Web Token issued to permit access by a given Identity to a Marketplace instance as a bearer token. |
| License | A known software or content license type, required to create Product records. |
| Product | Declaration of a Platform-compatible executable in the form of key metadata. Does not directly provide a reference to an executable image. |
| (Product) License | The offering of a given Product via the terms of a specific License. |
| (Product) Screenshot | Optional graphical images for illustrating Product features to Users. |
| (Product) Build | Defines the reference to a specific version of an image of a given Product. Images must be hosted such that the Marketplace and its Users have read-only network access, at minimum. |
| (Product Build) Dependency | Known dependencies that are needed to run a given Build of a service. |
| (Product Build) Exposure | The standardized Interfaces capabilities provided by a given Product Build. |
| (Product Build Exposure) Parameter | States that configuration parameter of the given name is required at runtime to successfully provide the Interface of the Exposure. |
| (Product Build) Configuration | The runtime constraints of a Build that need to be known by a Platform for execution. |
| (Product Build Configuration) Task | A container entry point and associated constraints that must be run as part of a Configuration profile. |
| Interface | Marketplace-wide declaration of a standardized – or at least conventionalized – computational integration point. They are not constraints to HL7 standards. |
| (Interface) Surrogate | Marketplace-wide statement that the referenced substitute Interface provides compatible capabilities of the given base Interface. Useful for defining new versions of an Interface that are backwards compatible with older versions. |
| Entitlement | An user-acquired/owned instance of a ProductLicense, also defining activation data specific to the instance. (Note: Groups may not own Entitlements, but may Claim them.) |
| Claim | Polymorphic type representing a user or group usage of an Entitlement against the limits of the underlying License. |
| Voucher | A unique bearer token that may be redeemed for an Entitlement to a defined ProductLicense. The redeeming party may keep the Entitlement for themselves, or assigned it to another User. |
| Attempt | Audit record of a User or Group trying to authorize usage of given Product. Used for reporting and fraud detection. |
Non-Persistant Resources
A small number of a utility functions are provided that have no directly persistent model in the underlying data store.
| Type | Brief Description |
|---|---|
| Authorization | (Not a model type but several endpoints in the API) A set of behavioral calls for clients to dynamically verify that a User or Group is allowed access to a Product via any Entitlement and Product graph pathway, subject to the semantics of all supported Licenes types, restrictions, and additional business policies. |
| Status | A service health check providing the server datetime, session status, and other metadata. |