Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
public:99_annexes:annex-b-terms-and-definitions:p:provider_abstraction [2026/09/12 17:42] – removed - external edit (Unknown date) 127.0.0.1public:99_annexes:annex-b-terms-and-definitions:p:provider_abstraction [2026/09/12 17:43] (current) – ↷ Links adapted because of a move operation nick_dido
Line 1: Line 1:
 +====== Provider Abstraction ======
  
 +[[public:99_annexes:annex-b-terms-and-definitions:start|Go up to Terms and Definitions]]
 +
 +===== Discussion =====
 +
 +A Provider Abstraction defines a provider-independent representation of the capabilities, operations, inputs, outputs, errors, and lifecycle behaviors required from one or more [[public:99_annexes:annex-b-terms-and-definitions:p:provider|Providers]].
 +
 +The abstraction separates the requesting software from provider-specific interfaces, software development kits, data formats, authentication mechanisms, and operational details.
 +
 +A Provider Abstraction allows core functions to request capabilities through a stable architectural boundary while specialized implementations translate those requests into provider-specific operations.
 +
 +Within the Crucible architecture, the Provider Abstraction supports cloud agnosticism by preventing provider-specific logic from spreading into core modules. A [[public:99_annexes:annex-b-terms-and-definitions:p:provider_contract|Provider Contract]] formalizes the obligations of the abstraction, while a [[public:99_annexes:annex-b-terms-and-definitions:p:provider_plugin|Provider Plugin]] realizes those obligations for a particular Provider.
 +
 +===== Definition =====
 +
 +//provider-independent representation of the capabilities, operations, inputs, outputs, errors, and lifecycle behaviors required from one or more [[public:99_annexes:annex-b-terms-and-definitions:p:provider|providers]]//
 +
 +===== Source =====
 +
 +Generalized from software architecture, abstraction-layer, portability, plugin, and service-integration usage and specialized for the Crucible architecture and operational model.
 +
 +===== Note =====
 +
 +A Provider Abstraction does not guarantee that every Provider offers identical capabilities. The abstraction may expose optional capabilities, capability discovery, compatibility rules, or provider-specific constraints through controlled mechanisms.
 +
 +A Provider Abstraction differs from a Provider Plugin. The abstraction defines the provider-independent model, while the plugin implements that model for a specific Provider.
 +
 +===== Example =====
 +
 +The Crucible core requests image upload and infrastructure deployment through a Provider Abstraction. Separate Provider Plugins translate those requests into Oracle Cloud Infrastructure or Amazon Web Services operations.
 +
 +----
 +
 +<WRAP centeralign>
 +© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.
 +</WRAP>