PROXY-PROXIED COMPONENTS IN THE OPENCLOVIS SAFPLUS PLATFORM


Introduction

OC simplifies the design of new systems that require high availability by leveraging SA-Aware Components. At the same time, it offers flexibility in integrating components for systems that rely on specialized hardware or legacy applications. This article introduces the proxy-proxied mechanism.

What are the Proxy components?

Not like SA-Aware components that contain processes linked to the AMF library. Non-SA-Aware Components don’t contain any process linked to the AMF library. Therefore, it uses proxy components to register with AMF.  The proxy component can act as the proxy between AMF and the non-SA-aware components. Proxy component registers the non-SA-aware components to AMF; whenever AMF needs to perform an operation on proxied components, it will be achieved through a proxy component. These types of components should have a Managed EO. The Availability Management Framework uses the callback functions for managing the proxied components registered by a proxy component to control the proxy component and the proxied components for which the proxy component mediates.

What are the Proxied components?

There are components that do not directly register with the AMF, called non-SA-aware components. These types of components are proxied by an SA-aware component and are called proxied components. This maps to a component that does not have any Managed EO. For example, scripts for applications, hardware, and legacy applications.

Proxy-Proxied Relationship

Proxy-Proxied Relationship is a function that facilitates a non-SA-aware Component to be managed by the OpenClovis SAFplus Platform. The AMF manages the proxied component indirectly via a proxy component by invoking callbacks for the proxied in the context of its managing proxy. An indirect process registration occurs between the non-SA-aware component and AMF if using a proxy-proxied relationship. The proxy component is the mediator between the AMF and the proxied component, there must be sufficient logic in the proxy component to mediate the communication between the two entities.

The proxy component is responsible for conveying requests made by the Availability Management Framework to its proxied components. The Availability Management Framework decides what proxied components a proxy component is responsible for when the proxy component registers with the framework, based on configuration and other factors like the availability of components in the cluster. The Availability Management Framework conveys this decision to the proxy component by assigning it a workload in the form of a component service instance.

The proxy component registers proxied components with the Availability Management Framework; however, the proxied components are independent components as far as the Availability Management Framework is concerned. As such, if a proxy component fails, another component (usually the component acting as a standby of the failed proxy component) can register the proxied component again. This new proxy component assumes, then, the mediation for the failed component without affecting the service provided by the proxied component. If there is no available proxy component to take over the mediation service, the Availability Management Framework loses control of these proxied components and becomes unaware of whether the proxied components are providing service.

A single proxy component can mediate between the Availability Management Framework and multiple proxied components. A proxy-proxied relationship can span across different Nodes/SUs/SGs in the Component Editor. The proxied component does not have any EO property settings in the OpenClovis IDE. Since SAFplus/AMF does not have direct control over the non-SA-aware component, and eoinization is not taking place there. A directory is not created for a proxied component in <project_area>/<model>/src/app, and the binary is not generated from the SAFplus Platform compilation. The application is an external entity. It is linked using the relationship between the proxy and the proxied component. The redundancy model of the proxy component can be different from that of its proxied components. AMF does not consider the failure of the proxied component to be the failure of the proxy component. Similarly, the failure of the proxy component does not indicate a failure of the proxied components.

How to create a Proxy-proxied Relationship in the OpenClovis IDE

This figure describes Proxied Non-SA Forum Component Relationships.

In OpenClovis IDE, create a non-SA-aware component by selecting the non-SAF Component (proxied) component from the palette in the Component Editor. The non-SA-aware component is called the proxied component, and the SA-aware component is called the proxy component. The proxy-proxied relationship is modeled in IDE by creating an SA-aware component and then a non-SA-aware component, which are linked by using the auto relation relationship and provides a proxy-proxied relationship between the two components.

Conclusion

OC not only keeps pace with modern technology trends to ensure high availability but also leverages proxy-proxied relationships to flexibly support application scripts, specialized hardware, and legacy applications. If you have any questions or encounter difficulties integrating the product into the OpenClovis SAFPlus Platform

Other support, please send email to support@openclovis.org.