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.

Such 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. 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 that 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.

The other subscription is for the UW Exchange service. For that subscription, a special web service listens for events sent from the Subscription Service. When a UW NetID is enabled for that subscription, a mailbox is created, user account attributes are provisioned, and support group detail is set. 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.

In the future, the Catalyst subscription will move to this dedicated web service listener, and we expect that there may be clients who might want to make use of this Subscription listener web service for services they run.