The AREA Hub is an AREA plug-in that enables you to add multiple AREA plug-ins to the plug-in server.
The plug-in server directly supports only one AREA plug-in. But sometimes more than one AREA plug-ins might be needed. The AREA Hub allows this. The AREA plug-in itself is the single AREA plug-in to be added to the plug-in server. The rest of the plug-ins can be added as sub plug-ins to the Hub.
How to use it:
==============
1. Create an entry in the ar.cfg/ar.conf file for the AREA HUb as shown here:
Plugin: areahub.dll
Make sure this is the only AREA plug-in being added.
2. Create entries for the rest of the plug-ins in the same file as shown below:
AREA-Hub-Plugin: my_area_plug-in.dll
3. If you are adding multiple entries to this plug-in, create an entry for each plug-in, as shown in the following example:
AREA-Hub-Plugin: my_area_plug-in_1.dll
AREA-Hub-Plugin: my_area_plug-in_2.dll
AREA-Hub-Plugin: my_area_plug-in_3.dll
4. Stop and start the AR System plug-in Server. (This generally requires restarting the AR System server).
These are all the action you needs to do to use the AREA Hub.
How the AREA Hub works.
=======================
Note: The plug-ins added to the AREA Hub are referred to as Hub-plug-ins
1. The AREA Hub loads the Hub-plug-ins in the order in which they appear in the ar.cfg/ar.conf file. So the first entry the AREA Hub finds will be the first plug-in loaded, the second entry the second, and so on.
2. The job of the AREA Hub is to propagate the calls it receives from the plug-in server to each hub-plug-in, as required.
3. When the AREA Hub receives the ARplug-inIdentify call, starting from the top of the Hub-plug-in list , the Hub will make this call to each hub-plug-in, until one of them returns a successful login, or all of them return login failures.
The status returned by the Hub to the plug-in server is as follows:
- If any of the Hub-plug-ins returns AREA_LOGIN_SUCCESS, the Hub stops chaining and returns this response.
- If none of the Hub-plug-ins returns AREA_LOGIN_SUCCESS, but at least one of them returned AREA_LOGIN_FAILED, then the Hub returns AREA_LOGIN_FAILED.
- If none of the Hub-plug-ins returns AREA_LOGIN_SUCCESS or AREA_LOGIN_FAILED, then the Hub returns the highest error code that was returned.
The section below gives more details about how the Hub handles each API received by it.
———————-
ARplug-inIdentify
———————-
- The Hub identifies itself as an AREA plug-in.
- AREA plug-ins not yet loaded.
———————-
ARplug-inSetProperties
———————-
- Load all the sub-plug-ins. During loading each sub-plug-in, ARplug-inIdentify is called on each on them.
- Propagate ARplug-inSetProperties call to each sub-plug-in
———————-
ARplug-inInitialization
———————-
- This call is propagated to each sub-plug-in.
———————-
ARplug-inCreateInstance
———————-
- Propagate call to each sub-plug-in.
- The instance objects returned by each plug-in are held by the Hub itself.
———————-
ARplug-inTermination
———————-
- Propagate call to each sub-plug-in.
———————-
ARplug-inDeleteInstance
———————-
- Propagate call to each sub-plug-in
———————-
ARplug-inEvent
———————-
- Propagate call to each sub-plug-in
———————-
AREAVerifyLoginCallback
———————-
- Starting from the top of the sub-plug-in list, the Hub will make this call to each sub-plug-in, until one of them returns a successful login, or all of them return login failures.
- Immediately after making this call to each plug-in, the Hub will make a copy of the returned response, and make a call to the sub-plug-in’s AREAFreeCallback with the response object.
- The chaining will continue until one of the sub-plug-ins returns success, or all of them return something other than success.
- The status returned by the Hub to the plug-in server is as follows:
If any of the sub-plug-ins returns AREA_LOGIN_SUCCESS, the Hub stops chaining and returns this response.
If none of the sub-plug-ins returns AREA_LOGIN_SUCCESS, but at least one of them returned AREA_LOGIN_FAILED, then the Hub returns AREA_LOGIN_FAILED.
If none of the sub-plug-ins returns AREA_LOGIN_SUCCESS or AREA_LOGIN_FAILED, then the Hub returns the highest error code that was returned.
———————-
AREANeedToSyncCallback
———————-
- Starting from the top of the list of plug-ins, the Hub will make this call to each sub-plug-in.
- If any one of them returns a non-zero value, the Hub will stop chaining and return this non-zero value.
- If all the sub-plug-ins return zero, the Hub returns the same.
———————-
AREAFreeCallback
———————-
- On receiving this call, the Hub will free the memory allocated for the returned response object.
- It does not need to propagate this call to the sub-plug-ins because the response that each of them returned was already freed immediately after the AREAVerifyLoginCallback call to them.
Source and Credit: BMC Software Inc.
Related posts:
- BMC Remedy Single Sign On (SSO) LDAP Integration
- Timeline(History) of BMC Action Request System Remedy
- ARS Object History – A version control system for the Remedy Action Request System Server
- Terms that you should know in BMC Remedy- Remedy 101
- BMC Remedy Action Request System 7.5.00 Release Notes
- Remedy Template Library by pathworks_dan
- pyARS – the swiss knife for the Remedy developer and admin




