<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Coversant</title> <atom:link href="http://www.coversant.com/feed/" rel="self" type="application/rss+xml" /><link>http://www.coversant.com</link> <description>The Network Evolved™</description> <lastBuildDate>Fri, 18 May 2012 19:54:05 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Register User</title><link>http://www.coversant.com/2012/02/register-user/</link> <comments>http://www.coversant.com/2012/02/register-user/#comments</comments> <pubDate>Mon, 27 Feb 2012 19:56:30 +0000</pubDate> <dc:creator>Eero</dc:creator> <category><![CDATA[Code Samples]]></category><guid
isPermaLink="false">http://testsite.coversant.com/?p=1056</guid> <description><![CDATA[]]></description> <content:encoded><![CDATA[<pre class="brush: csharp; title: ; notranslate">

using (Session s = new Session(Utility.SoapBoxServer))
{
    s.OpenStreamSynchronous();

    // Send the &quot;Get Instructions&quot; message to the server.
    RegisterInfoRequest info = new RegisterInfoRequest(Utility.SoapBoxServerJID);
    RegisterInfoResponse Key = WConvert.ToRegisterInfoResponse(s.Send(info));

    // When we register, send in the key that was returned earlier.
    RegisterRequest register = new RegisterRequest(Utility.SoapBoxServerJID,
     newUserName.UserName, newUserPassword, Key.Key);
    s.Send(register);

    // We now have a new user! Let's dispose this session, and do a standard login.
}

using (Session s = Session.Login(newUserName.UserName, newUserPassword, newUserName.Server))
{
    // If we got this far, the user is logged in.

    // Announce Presence
    s.Send(new AvailableRequest());
}
</pre>]]></content:encoded> <wfw:commentRss>http://www.coversant.com/2012/02/register-user/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Stream Initiation</title><link>http://www.coversant.com/2012/02/stream-initiation/</link> <comments>http://www.coversant.com/2012/02/stream-initiation/#comments</comments> <pubDate>Mon, 27 Feb 2012 19:55:41 +0000</pubDate> <dc:creator>Eero</dc:creator> <category><![CDATA[Code Samples]]></category><guid
isPermaLink="false">http://testsite.coversant.com/?p=1054</guid> <description><![CDATA[]]></description> <content:encoded><![CDATA[<pre class="brush: csharp; title: ; notranslate">

using( Session activeSession = new Session(co) )
{
    activeSession.OpenStreamSynchronous();

    // At this point we have a stream that's open, and is not secured.
    System.Console.WriteLine(&quot;Session ID is: {0}  On Server: {1} with XMPP Domain Name: {2}&quot;,
        activeSession.SessionID,
        activeSession.ServerInformation.HostName,
        activeSession.ServerInformation.XMPPDomain);
}
</pre>]]></content:encoded> <wfw:commentRss>http://www.coversant.com/2012/02/stream-initiation/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Simple IQ</title><link>http://www.coversant.com/2012/02/simple-iq/</link> <comments>http://www.coversant.com/2012/02/simple-iq/#comments</comments> <pubDate>Mon, 27 Feb 2012 19:54:47 +0000</pubDate> <dc:creator>Eero</dc:creator> <category><![CDATA[Code Samples]]></category> <category><![CDATA[IQs]]></category><guid
isPermaLink="false">http://testsite.coversant.com/?p=1052</guid> <description><![CDATA[]]></description> <content:encoded><![CDATA[<pre class="brush: csharp; title: ; notranslate">

using (Session activeSession = Session.Login(Utility.UserName, Utility.CommonPassword, Utility.SoapBoxServer))
    {
        // Ask the server 'What Time is it?'
        TimeResponse tr = activeSession.Send(new TimeRequest()) as TimeResponse;

        // Print out the results.
        System.Console.WriteLine(&quot;The time is {0} in timezone {1}&quot;, tr.UTCDateTime,
         tr.Timezone);
    }
</pre>]]></content:encoded> <wfw:commentRss>http://www.coversant.com/2012/02/simple-iq/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Private Storage</title><link>http://www.coversant.com/2012/02/private-storage/</link> <comments>http://www.coversant.com/2012/02/private-storage/#comments</comments> <pubDate>Mon, 27 Feb 2012 19:53:44 +0000</pubDate> <dc:creator>Eero</dc:creator> <category><![CDATA[Code Samples]]></category><guid
isPermaLink="false">http://testsite.coversant.com/?p=1050</guid> <description><![CDATA[]]></description> <content:encoded><![CDATA[<pre class="brush: csharp; title: ; notranslate">

using (Session activeSession = Session.Login(Utility.UserName, Utility.CommonPassword, Utility.SoapBoxServer))
{
   //Create a new request and add some data to store into it.
   PrivateStorageRequest storageRequest = new PrivateStorageRequest();
   storageRequest.AddPackage(&quot;PrivateStorageSample&quot;, &quot;coversant&quot;, &quot;This is my private data&quot;)
    ;

   // Send our storage request to the server.
   activeSession.Send(storageRequest);

   // Lookup our stored data in the server.
   PrivateGetRequest storageLookup = new PrivateGetRequest(&quot;PrivateStorageSample&quot;,
    &quot;coversant&quot;);
   PrivateGetResponse storedData = activeSession.Send(storageLookup) as PrivateGetResponse;

   Assert.IsTrue(storedData.Package.InnerText == &quot;This is my private data&quot;, &quot;Wrong data from
    server&quot;);
}
</pre>]]></content:encoded> <wfw:commentRss>http://www.coversant.com/2012/02/private-storage/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Rosters</title><link>http://www.coversant.com/2012/02/rosters/</link> <comments>http://www.coversant.com/2012/02/rosters/#comments</comments> <pubDate>Mon, 27 Feb 2012 19:52:54 +0000</pubDate> <dc:creator>Eero</dc:creator> <category><![CDATA[Code Samples]]></category> <category><![CDATA[Presence]]></category><guid
isPermaLink="false">http://testsite.coversant.com/?p=1048</guid> <description><![CDATA[]]></description> <content:encoded><![CDATA[<pre class="brush: csharp; title: ; notranslate">

using (Session activeSession = Session.Login(Utility.UserName, Utility.CommonPassword, Utility.SoapBoxServer))
{
    /*
    *      Roster Add
    */

    // Create a new user name, and prepare to add that user to our roster. This user should
    // be in the Bare JID format (user@server) and NOT in the Resource JID format
     (user@server/resource).
    JabberID userToAdd = new JabberID(Guid.NewGuid().ToString(), Utility.SoapBoxServer,
     string.Empty);

    // Create the Roster Add Packet, and Send it to the server.
    RosterAdd r = new RosterAdd(userToAdd, FriendlyUserName);
    activeSession.Send(r);

    /*
    *      Roster Get (aka: Verify the user was really Added)
    */

    // Let's pull down the roster now, and make sure that new user is really in there.
    RosterResponse currentRoster = activeSession.Send(new RosterRequest()) as
     RosterResponse;

    // The roster that we now have is going to have Roster Items in it. Let's iterate over
    // these items and find the one we just added.

    RosterItem ourUser = null;
    foreach (RosterItem ri in currentRoster.Items)
    {
        if (ri.JID.Equals(userToAdd))
        {
            ourUser = ri;
            break;
        }
    }

    Assert.IsNotNull(ourUser, &quot;Unable to find the user we just added&quot;);
    Assert.AreEqual(ourUser.Name, FriendlyUserName, &quot;Incorrect Friendly Name&quot;);

    /*
    *      Roster Remove
    */

    // The easiest way to remove a user is to just pass in
    // the roster item that should be removed.
    // Alternativly, we could pass in the JID and Friendly Name of the item to remove.
    RosterRemove remove = new RosterRemove(ourUser);
    activeSession.Send(remove);

    /*
    *      Roster Get (aka: Verify the user was removed)
    */
    // The User is now removed. Let's pull down the roster again and make sure.
    RosterResponse removedUserRoster = activeSession.Send(new RosterRequest()) as
     RosterResponse;
    foreach (RosterItem ri in removedUserRoster.Items)
    {
        if (ri.JID.Equals(userToAdd))
            Assert.Fail(&quot;The user that was just removed ('{0}' has been found&quot;,
             ri.JID.ToString());
    }
}
</pre>]]></content:encoded> <wfw:commentRss>http://www.coversant.com/2012/02/rosters/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Sending Messages</title><link>http://www.coversant.com/2012/02/1043/</link> <comments>http://www.coversant.com/2012/02/1043/#comments</comments> <pubDate>Mon, 27 Feb 2012 19:45:27 +0000</pubDate> <dc:creator>Eero</dc:creator> <category><![CDATA[Code Samples]]></category> <category><![CDATA[Messaging]]></category><guid
isPermaLink="false">http://testsite.coversant.com/?p=1043</guid> <description><![CDATA[]]></description> <content:encoded><![CDATA[<pre class="brush: csharp; title: ; notranslate">

using (Session activeSession = Session.Login(Utility.UserName, Utility.CommonPassword, Utility.SoapBoxServer))
{
  JabberID toUser = new JabberID(&quot;targetuser&quot;, Utility.SoapBoxServer);
  MessagePacket mp = new MessagePacket(toUser, &quot;Subject&quot;, &quot;Body&quot;);
  activeSession.Send(mp);
}
</pre>]]></content:encoded> <wfw:commentRss>http://www.coversant.com/2012/02/1043/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Presence Subscription</title><link>http://www.coversant.com/2012/02/presence-subscription/</link> <comments>http://www.coversant.com/2012/02/presence-subscription/#comments</comments> <pubDate>Mon, 27 Feb 2012 19:12:25 +0000</pubDate> <dc:creator>Eero</dc:creator> <category><![CDATA[Code Samples]]></category> <category><![CDATA[Presence]]></category><guid
isPermaLink="false">http://testsite.coversant.com/?p=1037</guid> <description><![CDATA[]]></description> <content:encoded><![CDATA[<pre class="brush: csharp; title: ; notranslate">

using (Session user2Session = Session.Login(user2.UserID.UserName, user2.Password, user2.UserID.Server))
{
    // We'll be using these to trigger on subscriptions being completed
    ManualResetEvent user1ToUser2SubscriptionComplete = new ManualResetEvent(false);
    ManualResetEvent user2ToUser1SubscriptionComplete = new ManualResetEvent(false);

    // We have now logged in both users.

    // Announce presence for both users.
    user1Session.Send(new AvailableRequest());
    user2Session.Send(new AvailableRequest());

    // We need to have both users listen for the Subscribe Packets. This is what each user
    // will receive once we ask for a presence subscription
    user1Session.AddHandler(null, typeof(SubscribeRequest), IncomingSubscribeForUser1,
     user1Session, false);
    user2Session.AddHandler(null, typeof(SubscribeRequest), IncomingSubscribeForUser2,
     user2Session, false);

    // We need to have both users listen for the Subscribed Response Packets. This is what
    // each user will receive once their subscription is approved.
    user1Session.AddHandler(null, typeof(SubscribedResponse),
     IncomingSubscribedResponseForUser1, user1ToUser2SubscriptionComplete, false);
    user2Session.AddHandler(null, typeof(SubscribedResponse),
     IncomingSubscribedResponseForUser2, user2ToUser1SubscriptionComplete, false);

    /*
    *      Start out by having User1 subscribe to User2's presence.
    *
    *      If you're not familiar with asynchronous programming, this
    *      is going to be a bit confusing.
    *
    */

    user1Session.Send(new SubscribeRequest(user2.UserID));
    if (!user1ToUser2SubscriptionComplete.WaitOne(30000, false))
        Assert.Fail(&quot;User 1 Subscribing to User 2 never completed.&quot;);

    /*
    *      Now have User2 Subscribe to User1
    */

    user2Session.Send(new SubscribeRequest(user1.UserID));
    if (!user2ToUser1SubscriptionComplete.WaitOne(30000, false))
        Assert.Fail(&quot;User 2 Subscribing to User 1 never completed.&quot;);

    /*
    * Subscriptions are now completed.
    *
    * Let's pull down the roster for each user, and make sure
    * everything is correct.
    *
    */

    RosterResponse user1Roster = user1Session.Send(new RosterRequest()) as RosterResponse;
    RosterResponse user2Roster = user2Session.Send(new RosterRequest()) as RosterResponse;

    // We now have rosters for both users. Let's check 'em.
    Assert.IsTrue(user1Roster.Items.Count == 1, &quot;Invalid Number of items in User1 Roster&quot;);
    Assert.IsTrue(user2Roster.Items.Count == 1, &quot;Invalid Number of items in User2 Roster&quot;);

    Assert.IsTrue(user1Roster.Items.Contains(user2.UserID),
     &quot;User 2 is not found in user1's roster&quot;);
    Assert.IsTrue(user2Roster.Items.Contains(user1.UserID),
     &quot;User 2 is not found in user1's roster&quot;);

    Assert.IsTrue(user1Roster.Items.Item(user2.UserID).Subscription.Equals
    (&quot;both&quot;, StringComparison.InvariantCultureIgnoreCase),
    &quot;Incorrect Subscription type in User1's Roster&quot;);
    Assert.IsTrue(user2Roster.Items.Item(user1.UserID).Subscription.Equals
   (&quot;both&quot;, StringComparison.InvariantCultureIgnoreCase),
     &quot;Incorrect Subscription type in User2's Roster&quot;);
}
</pre>]]></content:encoded> <wfw:commentRss>http://www.coversant.com/2012/02/presence-subscription/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Announcing Presence</title><link>http://www.coversant.com/2012/02/announcing-presence/</link> <comments>http://www.coversant.com/2012/02/announcing-presence/#comments</comments> <pubDate>Mon, 27 Feb 2012 19:08:20 +0000</pubDate> <dc:creator>Eero</dc:creator> <category><![CDATA[Code Samples]]></category> <category><![CDATA[Presence]]></category><guid
isPermaLink="false">http://testsite.coversant.com/?p=1023</guid> <description><![CDATA[]]></description> <content:encoded><![CDATA[<pre class="brush: csharp; title: ; notranslate">

using(Session activeSession = Session.Login(Utility.UserName, Utility.CommonPassword, Utility.SoapBoxServer))
{
    // At this point we're all logged into the server.

    // Create a presence packet.
    AvailableRequest Announce = new AvailableRequest(AvailableRequest.ShowValuesEnum.Normal,
     &quot;Hello World&quot;);

    // Send it to the server
    activeSession.Send(Announce);

    // The server would now send out presence to anyone who is subscribed to my presence.
}
</pre>]]></content:encoded> <wfw:commentRss>http://www.coversant.com/2012/02/announcing-presence/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Coversant &amp; Intel partnership bears fruit</title><link>http://www.coversant.com/2012/02/coversant-intel-partnership-bears-fruit/</link> <comments>http://www.coversant.com/2012/02/coversant-intel-partnership-bears-fruit/#comments</comments> <pubDate>Thu, 23 Feb 2012 18:44:05 +0000</pubDate> <dc:creator>Eero</dc:creator> <category><![CDATA[Uncategorized]]></category><guid
isPermaLink="false">http://testsite.coversant.com/testsite/?p=763</guid> <description><![CDATA[Challenge Enable new capabilities in data communication that are limited or not available through HTTP for usage areas such as command and control implementations and municipal smart grids. Key desirable features include presence checking (discovering the availability of potential communication partners) and bidirectional messaging. Solution By optimizing its SoapBox* Server product for scalability and performance on multicore Intel® architecture, Coversant ...]]></description> <content:encoded><![CDATA[<h4>Challenge</h4><p>Enable new capabilities in data communication that are limited or not available through HTTP for usage areas such as command and control implementations and municipal smart grids. Key desirable features include presence checking (discovering the availability of potential communication partners) and bidirectional messaging.</p><h4>Solution</h4><p>By optimizing its SoapBox* Server product for scalability and performance on multicore Intel® architecture, Coversant enables solutions that deliver extremely large amounts of data using Extensible Messaging and Presence Protocol (XMPP). This open standard is designed explicitly for extensibility, supporting capabilities such as Voice over Internet Protocol (VoIP) and file transfer.</p><p><a
href="/wp-content/uploads/2012/02/MESH_Coversant_SuccessStory_v1.pdf" class="broken_link">Intel &#8211; Coversant Success Story</a></p> ]]></content:encoded> <wfw:commentRss>http://www.coversant.com/2012/02/coversant-intel-partnership-bears-fruit/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Gartner: XMPP becoming a universal standard</title><link>http://www.coversant.com/2010/12/gartner-xmpp-becoming-a-universal-standard/</link> <comments>http://www.coversant.com/2010/12/gartner-xmpp-becoming-a-universal-standard/#comments</comments> <pubDate>Fri, 03 Dec 2010 22:36:37 +0000</pubDate> <dc:creator>Eero</dc:creator> <category><![CDATA[Press]]></category> <category><![CDATA[Gartner]]></category> <category><![CDATA[XMPP]]></category><guid
isPermaLink="false">http://testsite.coversant.com/testsite/?p=653</guid> <description><![CDATA[XMPP (eXtensible Messaging and Presence Protocol) has been under Gartner radar for years. However, during the past months, several signs of XMPP come of age have been found in Gartner research. At end of november 2010, David Mario Smith published a good research document explaining that he was expecting XMPP to become the universal real-time messaging protocol by 2015. Gartner ...]]></description> <content:encoded><![CDATA[<p>XMPP (eXtensible Messaging and Presence Protocol) has been under Gartner radar for years. However, during the past months, several signs of XMPP come of age have been found in Gartner research.</p><p>At end of november 2010, David Mario Smith published a good research document explaining that he was expecting XMPP to become the universal real-time messaging protocol by 2015.</p><blockquote><p>Gartner believes that, by 2015, these needs will drive the adoption of XMPP as the universal standard for near real-time communication — much as SMTP is the standard for e-mail. IT leaders in charge of collaboration and social software initiatives should learn what XMPP does, what the current state of adoption is and how to prepare for XMPP becoming the standard for interoperability and federation.</p></blockquote><p><img
class="alignnone" title="Gartner" src="http://www.affinnova.com/Portals/107808/images/Gartner_logo.png" alt="" width="200" height="46" /></p><p>Reference documents:</p><ul><li><a
href="http://www.gartner.com/DisplayDocument?doc_cd=201523&amp;ref=g_rss">MarketScope for Enterprise Instant Messaging and Presence</a> (Restricted document)</li><li><a
href="http://www.gartner.com/DisplayDocument?doc_cd=208879&amp;ref=g_rss">Take Four Steps to Prepare for XMPP Becoming a Universal Standard</a>(Restricted document)</li></ul> ]]></content:encoded> <wfw:commentRss>http://www.coversant.com/2010/12/gartner-xmpp-becoming-a-universal-standard/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Object Caching 769/875 objects using disk: basic

Served from: blogs.coversant.com @ 2012-05-19 00:05:35 -->
