Extension SDK for BEA WebLogic Network Gatekeeper
Subscriber profile
The following sections contain descriptions of plug-ins of Subscriber profile type:
Network plug-in
Subscriber profile interfaces
All subscriber profile interfaces are defined in the file bea\wlng21\esdk\idl\plugin_if\sp\sp_interfaces.idl
Figure 12-1 Subscriber profile interface
Interfaces that should be implemented by the plug-in are listed in the table below.
Table 12-1 Interfaces that shall be implemented by a plug-in for Subscriber profile
Interface
|
Description
|
Resource
|
Initial object obtained from Plug-in Manager. Base interface implemented by all plug-ins.
|
IrSubscriberProfile
|
Manager object that is used to create and release sessions towards the subscriber profile plug-in, and to get and set subscriber data.
|
IrSubscriberProfileSubscriptionExt
|
The extended subscriber profile interface provides functions for handling subscriptions. The ESPA Subscriber profile SC does not operate on this interface, but other -custom- clients to a subscriber profile plug-in may use this. Examples of this can be policy utility classes.
|
Interfaces that are implemented by the ESPA Subscriber profile SC.
Table 12-2 Interfaces that are implemented by the Subscriber profile SC, used by a subscriber profile plug-in.
Interface
|
Description
|
IrAppSubscriberProfile
|
Call back interface for receiving responses to operations performed via the IrAppSubscriberProfile interface.
|
Interfaces that could be implemented by a client to the Subscriber profile plug-in.
Table 12-3 Interfaces that could be implemented by a client to the Subscriber profile plug-in.
Interface
|
Description
|
IrAppSubscriberProfileSubscriptionExt
|
Call back interface for receiving responses to operations performed via the IrSubscriberProfileSubscriptionExt interface.
|
IrSubscriberProfileResource
Table 12-4 IrSubscriberProfileResource
Method
|
Description
|
getSubscriberProfileCtx
|
Request a subscriber profile. Creates a session.
|
IrSubscriberProfile
Table 12-5 IrSubscriberProfile
Method
|
Description
|
getSubscriberId
|
Gets a subscriber ID based on the session id.
|
getInfoPropertyReq
|
Request to get one or more properties for the subscriber.
|
setInfoPropertyReq
|
Request to set one or more properties for the subscriber.
|
release
|
Releases a session.
|
queryBalanceReq
|
Request to get the available balance for a subscriber.
|
IrSubscriberProfileSubscriptionExt
Table 12-6 IrSubscriberProfileSubscriptionExt
Method
|
Description
|
getSubscriptionReq
|
Request to fetch data about a subscription.
|
setSubscriptionStateReq
|
Request to set data about a subscription.
|
addSubscriptionReq
|
Request to add a subscription.
|
removeSubscriptionReq
|
Request to remove a subscription.
|
IrAppSubscriberProfile
Table 12-7 IrAppSubscriberProfile
Method
|
Description
|
getInfoPropertyRes
|
Result of a successful getInfoPropertyReq request. Contains the information requested.
|
getInfoPropertyErr
|
Result of a failed getInfoPropertyReq request.
|
setInfoPropertyRes
|
Verification of a successful setInfoPropertyReq request.
|
setInfoPropertyErr
|
Result of a failed setInfoPropertyReq request.
|
IrAppSubscriberProfileSubscriptionExt
Table 12-8 IrAppSubscriberProfileSubscriptionExt
Method
|
Description
|
getSubscriptionRes
|
Result of a successful getSubscriptionReq request.
|
getSubscriptionErr
|
Result of a failed getSubscriptionReq request.
|
setSubscriptionStateRes
|
Result of a successful setSubscriptionStateReq request.
|
setSubscriptionStateErr
|
Result of a failed setSubscriptionStateReq request.
|
addSubscriptionRes
|
Result of a successful addSubscriptionReq request.
|
addSubscriptionErr
|
Result of a failed addSubscriptionReq request.
|
removeSubscriptionRes
|
Result of a successful removeSubscriptionReq request.
|
removeSubscriptionErr
|
Result of a failed removeSubscriptionReq request.
|
Use cases for Subscriber profile
A subscriber profile plug-in only supports operations originating from an application. Network triggered is not supported.
Application-initiated usage of a Subscriber profile plug-in
The following sequence diagram show a basic interaction between a user of subscriber profile plug-in and the Plug-in.
Figure 12-2 Application-initiated usage of Subscriber profile plug-in.
Details about the sequence diagram:
- Prior to this sequence the Subscriber profile client (for example the subscriber profile ESPA SC) has received a plug-in. See General usage (application-initiated events).
- The Subscriber profile client application performs a getSubscriberProfileCtx to the implementation of the IrSubscriberProfile interface. This interface is implemented in the plug-in. An identifier for the session, along with the interface is returned to the client.
- The client request to get information about the subscriber via getInfopropertyReg. The client defines which properties of a subscriber to be fetched from the plug-in and the result is returned asynchronously to the IrAppSubscriberProfile interface implemented by the Subscriber profile plug-in client.
- The requested data is provided by the plug-in via the call getInfoPropertyRes. If the plug-in experiences an error when getting the requested properties, the method getInfoPropertyErr is invoked instead. The data is given as name-value pairs.
- The Subscriber profile plug-in sets data in the plug-in via setInfoPropertyReq. The data is provided as name-value pairs.
- The result of the setInfoPropertyReq request is returned asynchronously to the IrAppSubscriberProfile interface implemented by the Subscriber profile plug-in client via setInfoPropertyRes. If the plug-in experiences an error when setting the requested properties, the method setInfoPropertyErr is invoked instead.
- Subscription information can also be fetched and defined using the IrSubscriberProfileSubscriptionExt interface.
- The Subscriber profile client retrieves information on which subscriptions the subscriber has by calling getSubscriptionReq.
- The response is sent back asynchronously from the plug-in using getSubscriptionRes on the IrAppSubscriberProfileSubscriptionExt interface implemented by the Subscriber profile client. If the plug-in experienced problems, getSubscriptionErr is invoked instead.
- When the interaction with the subscriber profile plug-in is finished, the Subscriber profile client invokes release, and the session is destroyed. It is the responsibility of the plug-in to remove all objects.