Search | Directories | Reference Tools
UW Windows Infrastructure Service banner image
Skip Navigation LinksUW Home > Computing and Networking > Support > UW Domains > UW Windows Infrastructure > UWWI Architecture Guide > Subscription Manager

Subscription Manager

UWWI Subscription Manager

UW Technology has a concept called subscriptions which indicate the lifecycle status any given UW NetID has with a particular service. Once a UWNetID has been permitted for a subscription, it can then be enabled for that subscription. Subsequently, it might be disabled. Many subscriptions have standing auto-permit mechanisms that are based on the category and status {active|former|grace} any given UW NetID has. Categories are a UW Technology concept that indicate what class of user you are, and are derived (as described in this link) from information in source data systems.

These subscription assertions are made, which result in events being sent along to listener services which are configured to listen to events from a given subscription. These listener services act on the events in whatever form is appropriate for the event. For example, an enable event might cause a UW NetID to be granted authorization to a service. A disable event might cause a UW NetID to be denied authorization. The details are really specific to whatever service is tied to that subscription.

To be clear, the listener is code with some standard functionality, but with a lot of custom code to take action on subscription events.

UWWI currently has two subscription listener services, but eventually these will be merged into a single listener service.

UWWI NetID and Subscription Diagram

In the diagram above, you can see both the Kiwi password management system side-by-side with the Subscription management system as it relates to the UW Windows Infrastructure. You can read elsewhere for more on the Kiwi components. In the description of the Kiwi components, you should take note of a few references to subscriptions, and getting some basic services activated based on your categories. And we'll talk about that next:

With respect to the diagram above, the "Manage my NetID" page and various UW Technology Help Desk Tools make calls to the Mango APIs in order to carry out requested actions. In the case of "Get Your UW NetID" site, in addition to making the Mango calls necessary to send events through the Kiwi system, events are also propagated through the subscription system. Some subscriptions are automatically permitted and enabled based on the underlying category of the UW NetID. Categories are not something well documented, so we won't go into great detail, but they correspond to your status with regard to the university. When your university status changes, your category does too, and some of your subscription's status will change automatically as a result.

Currently UWWI has two subscriptions it listens to, however, this is expected to change over time. 

One subscription is for the Catalyst general computing labs. This subscription currently uses the architecture displayed in the diagram above. For that subscription, the Mango API calls a special process called "w2ks" which in turn talks directly to a special subscription listener that is integrated into Fuzzy_Kiwi. For the Catalyst subscription, this results in a change in group membership for a group called 'Catalyst Labs Authorized'. The Catalyst labs then permit local login to this group which enables them to only permit those people who should have access to lab computers. How a given UW NetID gets into this particular subscription depends on their status. If they are staff or faculty, they are included. If they are a student and have paid the Tech Fee, then they are included. And again, those details are captured by the categories associated with any given UW NetID.

UWWI Subscription Infrastructure

The other subscription is for the UW Exchange service. For that subscription, a special web service called the UWWI Subscription Handler (shown in light purple) listens for events sent from the Subscription Service (dark purple). The UWWI Subcription Handler determines which subcription an event is for and sends that event along to the appropriate listener (one in tan and two in bright green). When a UW NetID is enabled for the Exchange subscription, the UWWI Subscription Handler passes the event to the Exchange Subscription Listener (tan), also a web service, which in turn creates a mailbox, provisions user account attributes, and sets support group details. Likewise, when a UW NetID is disabled for that subscription, the mailbox is deleted, user account attributes are removed, and the support group detail is removed. Other subscription listeners aren't passed the Exchange subscription events. The white arrows in the 2nd diagram denote the flow of subscription events to the components which take action on them. The grey arrows in the 2nd diagram denote the flow of result codes. Should the Exchange listener fail to enable a UW NetID, then it will pass back an appropriate failure result code to the UWWI Subscription Handler, which will ultimately result in the Help Desk staff seeing this failure, enabling them to take appropriate action.

In the future, the Catalyst subscription will move to UWWI Subscription Handler web service listener displayed in the 2nd diagram, and we expect that there will be other UWWI clients who will want to make use of this Subscription listener web service for services they run.