When designing a service layer, should I use my domain objects in the interface contract? For example:
public void registerUser(String username, String realName)
VS
public void registerUser(User user)
Should the domain objects be constructed in the client code or behind the service facade?
I'm using EJB and my clients would be a locally deployed web application, RMI client and maybe a web service client.