The objective of this article is to explore the steps necessary to establish Personal Channels between two Personal Clouds. The notion of a subscription in this context is that a Personal Channel is established which permits events to be raised from one Personal Cloud into another Personal Cloud. So we need to create two Personal Channels, one channel for Ben to raised events into Ted's Personal Cloud and a second Personal Channel for Ted to raised events into Ben's Personal Cloud. We begin this exercise with two Personal Clouds, one for Ben and second one for Ted. In addition, there is a well known public Channel into Ted's Personal Cloud which we will call the doorbell.


We will begin the process of establishing the Personal Channels from Ben's Personal Cloud. An event will be raised by Ben into Ted's Personal Cloud over the public channel identified by the doorbell. We will call this a subscription request. As part of the subscription request Ben will need to create a new Personal Channel which can be used to raise events into his Personal Cloud. We will label this new Personal Channel, ChannelA.

subscriptionRequest(ChannelB, doorbell)

When Ted receives the subscription request event he will save the Event Channel Identifier, ChannelA, so that he may use it in the future to raise events back into Ben's Personal Cloud.


Then Ted will respond to the subscription request by raising an event back to Bob over ChannelA. We will call this a subscription confirmation. As part of the subscription confirmation Ted will need to create a new Personal Channel which can be used to raise events into his Personal Cloud. We will label this Personal Channel, ChannelB.

subscriptionConfirmation(ChannelB, ChannelA)

When Bob receives the subscription confirmation he will save the Event Channel Identifier, ChannelB, so that he may use it in the future to raise events back into Ted's Personal Cloud.


Now both Ben and Ted has Personal Channels which can be used to raise events into each others Personal Clouds.