locked
Robotics Studio without most of DSS RRS feed

  • Question

  • DSS brings some overhead to the table. My question is if it is possible to use the CCR primitives without adding all the DSS overhead. Let say you are not interested in monitoring your states using a browser, and you may not even need the subscription services and you may not need some of the other DSS functionality either. You just want to create modules that communicate with each other via messages, and you want to use the CCR primitives (well most of them). Is it possible to use Robotics Studio in a such a fashion that it uses DSS in a minimal way?

    Thursday, December 6, 2007 5:28 AM

Answers

  • In exchange, DSS offers great distributed application model and a bunch of valuable infrastructure, so I wouldn't give it up without very serious consideration and testing. That said, you can certainly use CCR alone (not sure what licensing rules apply). CCR user guide has an example of writing components using CCR primitives (look for "Coordination for service-oriented components" heading on this page http://msdn2.microsoft.com/en-us/library/bb648749.aspx). BTW, DSS services just expand on this approach.

     

    -Vlad

    Thursday, December 6, 2007 1:49 PM
  • Note that folks like MySpace and other companies have deployed just CCR to handle enormous message loads, load balance across cores, etc. So its already deployed in some very demanding settings. As others have mentioned DSS, with some custom serialization defined on your types, can give you good perf, distribution, and ofcourse all the benefits of CCR.

     

    See the CCR forums for more CCR-only applications and questions

     

    (myspace thread)

    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1598855&SiteID=1

     

    In terms of licensing, the terms are the same. Commercial use of any runtime component requires payment as described in our commercial license.

     

    Thursday, December 6, 2007 7:08 PM
  • While you can use CCR independently from DSS it is worth nothing that you indeed can send data out of band in DSS. A very simple example is the Web Cam service [1] where the DSS service itself only contains a URI pointing to the actual image data. If you are sending large amount of binary data around in the system you may indeed want to adopt a similar model. You can even imagine using an RDMA-style transport between remote nodes to pump large amount of data between nodes.

     

    What DSS provides is a way of designing loosely coupled applications that are robust, inspectable, and flexible. This can easily be done even if the data being operated on is not directly structured. May I ask what kind of performance issues you are seeing?

     

    Henrik

     

    [1] http://msdn2.microsoft.com/en-us/library/bb483096.aspx

    Thursday, December 6, 2007 7:47 PM

All replies

  • In exchange, DSS offers great distributed application model and a bunch of valuable infrastructure, so I wouldn't give it up without very serious consideration and testing. That said, you can certainly use CCR alone (not sure what licensing rules apply). CCR user guide has an example of writing components using CCR primitives (look for "Coordination for service-oriented components" heading on this page http://msdn2.microsoft.com/en-us/library/bb648749.aspx). BTW, DSS services just expand on this approach.

     

    -Vlad

    Thursday, December 6, 2007 1:49 PM
  • Thank you very much Vlad. It is great to see that you also are willing to go to the newsgroups to help us out. That is very nice. Yes the issue is that it will be hard for us to use just messages to send all the data we want exchange between the modules (services). Side stepping messages with data using references in messages, or perhaps side stepping DSS could be viable solutions for us. I don't know yet what is best.

     

    Thanks again Vlad!

     

    Thomas

     

    Thursday, December 6, 2007 4:48 PM
  • Note that folks like MySpace and other companies have deployed just CCR to handle enormous message loads, load balance across cores, etc. So its already deployed in some very demanding settings. As others have mentioned DSS, with some custom serialization defined on your types, can give you good perf, distribution, and ofcourse all the benefits of CCR.

     

    See the CCR forums for more CCR-only applications and questions

     

    (myspace thread)

    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1598855&SiteID=1

     

    In terms of licensing, the terms are the same. Commercial use of any runtime component requires payment as described in our commercial license.

     

    Thursday, December 6, 2007 7:08 PM
  • While you can use CCR independently from DSS it is worth nothing that you indeed can send data out of band in DSS. A very simple example is the Web Cam service [1] where the DSS service itself only contains a URI pointing to the actual image data. If you are sending large amount of binary data around in the system you may indeed want to adopt a similar model. You can even imagine using an RDMA-style transport between remote nodes to pump large amount of data between nodes.

     

    What DSS provides is a way of designing loosely coupled applications that are robust, inspectable, and flexible. This can easily be done even if the data being operated on is not directly structured. May I ask what kind of performance issues you are seeing?

     

    Henrik

     

    [1] http://msdn2.microsoft.com/en-us/library/bb483096.aspx

    Thursday, December 6, 2007 7:47 PM
  • Thank you both for your help. The information was very helpful.

     

    Wednesday, December 12, 2007 2:21 AM