title: Do DDD and SOA really play well together?
body: <p>Please let me know, ever so gently, if I am totally mangling the DDD concept, but here is my dilemma.</p>
  
  <p>Let's say I have the following domain model:</p>
  
  <pre><code>Teacher
    IList&lt;Class&gt;
  
  Class
    Teacher
    IList&lt;Student&gt;
  
  Student
    Class
  </code></pre>
  
  <p>Now, from a DDD perspective, it seems like the Teacher is my root, and indeed, in a simple app, I might carry around my Teacher with her classes and students and act on them as needed.  But in an SOA situation, let's say I've pulled down my Teacher, her classes and students for display purposes (as dtos), and she wants to add a student.  Surely I am not going to send the whole object graph up to the server and retrieve the domain objects from the database just so that I can add a new student, right?  </p>
  
  <p>Where is the sweet spot here, or am I totally missing the boat?</p>
  
  <p>Thanks!</p>
  
  <p>Late Upate:  Maybe I'm answering my own question, but I guess one approach is to have my Teacher service have various student management methods (AddStudent, UpdateStudent) such that my root is still managing everything instead of having one service per object.  </p>