Last week Marcus Mac Innes sent me an email asking me how to divide his services, he also started a blog and posted about his question. His basic scenario was this:
He has two services, UserManagerService and CustomManagerService. The next step is that he wants to relate users to customers, each customer is linked to a user. He is trying to decide whether or not the CustomerManagerService should accept a userid and save that id. Or if he should have a separate service, called AddUserToCustomer or something, that links the two objects together.
I think the answer is to include the user id on the CustomManagerService, it is information about the customer and deserves to be on that service. Knowing that the customer is a certain user id does not give the customer service any inappropriate knowledge of the user service. The CustomManagerService simply knows that to get any user information about this customer that it should call the user service and pass the ID. (This might be done in the CustomManagerService or in whatever is consuming both of these services)