The idea is to separate the interface details from the implementation details. For example, the message elements are about the interface (matters for development) while the port elements are about the implementation (doesn't matter for development, at least as much as the actual interface). That's the only argument I can think of for separating the two.