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.

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.

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.