Overview of Plugins
Understand the different types of plugins and their roles within Olympus-Grid.
In Olympus-Grid, every component that interacts with or extends the platform is considered a plugin. Plugins are the building blocks of the system, enabling developers to assemble tailored solutions by combining modular and reusable components. Whether it's functionality provided by CloudPremise or custom-developed plugins from external developers, plugins make Olympus-Grid highly extensible and adaptable.
What is a Plugin?
A plugin is any component that is compatible with the Olympus-Grid ecosystem. It adheres to predefined interfaces, allowing seamless integration into the platform. Plugins can:
Be developed and provided by CloudPremise, often packaged within the namespace for easy deployment.
Be built by clients or third-party developers, existing outside the namespace for custom or external use cases.
You can think of Olympus-Grid as a motherboard and plugins as the components that are added to this motherboard to build complete solutions. Each plugin type serves a specific purpose, similar to how CPUs, GPUs, and memory modules serve distinct roles in a computer system.
Types of Plugins
Plugins are categorized into different types, each designed for a specific function within Olympus-Grid. Here’s an overview of the currently supported plugin types:
Plugin (Comprehensive Module)
A plugin in this category is a higher-order component that often includes other plugins as part of its solution.
Example: A hospital portal plugin might combine trigger handlers, platform event handlers, and API handlers to deliver a comprehensive healthcare solution.
Platform Event Handler
These plugins define the behavior when a platform event is fired.
The dynamic code registered in this plugin determines what happens during the event's lifecycle.
Trigger Handler
These plugins define logic that executes on database transactions.
Example: Automatically updating related records when an opportunity is closed.
API Handler
These plugins respond to specific REST API routes, triggered by HTTP methods such as GET, POST, PATCH, PUT, or DELETE.
Example: An API handler plugin might handle a
/api/orders
route to process incoming orders.
Thread Handler
These plugins execute asynchronous jobs, handling tasks that run outside the standard transaction context.
Example: Processing large batches of records in the background.
How Plugins Work
Plugins enable developers to define reusable solutions that integrate seamlessly with Olympus-Grid. Each plugin type is tied to a specific interface or contract, ensuring that the component behaves predictably within the system. For example:
A CPU-type plugin must honor the interface defined for computational logic.
Other plugin types (like platform event handlers) serve entirely different roles but adhere to their own specific contracts.
By defining these interfaces, Olympus-Grid ensures that any plugin added to the platform will "fit" perfectly, just like the components of a motherboard.
Key Benefits of Plugins
Modularity: Break down solutions into reusable, manageable components.
Flexibility: Swap out components (plugins) as needed, based on use cases or requirements.
Rapid Integration: Quickly integrate new plugins to extend functionality or deliver solutions.
Versioning: Plugins can be upgraded or deprecated without disrupting the entire system.
Customizability: Build highly tailored solutions by combining CloudPremise and third-party plugins.
Extensibility in Action
Imagine building a hospital management solution using Olympus-Grid. The platform acts as your motherboard, and you can "plug in":
A trigger handler to automate notifications when patient records are updated.
A platform event handler to process real-time events such as patient check-ins.
An API handler to expose REST endpoints for integrating with third-party apps.
A thread handler to manage nightly batch processing for billing.
This level of extensibility allows developers to create solutions that evolve with business needs, ensuring that Olympus-Grid remains a future-proof and scalable platform.
Next Steps:
Registering a Plugin: Learn how to add plugins to Olympus-Grid.
Plugin Lifecycle Management: Understand versioning, upgrades, and deprecation.
Creating a Custom Plugin: Dive into examples and best practices for plugin development.
Last updated