BMC Remedy – Action Request Exteranl Authentications – AREA Hub

September 7th, 2009 by Venkat
*********************************************************
AREA HUB
*********************************************************
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 freedimmediately after the AREAVerifyLogi

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.

Advertisement

Comments are closed.

%d bloggers like this: