Услуги действуют на субъектов хозяйствования, но не являются субъектами хозяйствования.
Таким образом, заказчики, заказы и продукты будут контрактами на передачу данных, а не контрактами на обслуживание.
Это действия, которые вы выполняете над этими договорами данных, которые составляют ваш контракт на обслуживание, и действия, которые вы выставляете для организации, могут быть или не быть всеми вещами, которые может выполнять организация.
Если, как я думаю, вы, возможно, спросите, каждая сущность имеет общую функциональность (например, операции CRUD), тогда да, у вас должен быть отдельный контакт службы для службы CRUD для каждой сущности (CustomerCRUDService, OrderCRUDService и т. Д.), Поскольку службы не поддерживают перегрузки в сигнатурах методов.
(из комментариев)
Есть несколько способов.
1) Составные сервисные контракты: например, у меня есть сервис, который реализует WSTransfer - на самом деле он состоит из двух сервисных контрактов, IWSTransferResource и IWSTransferFactory. В свою очередь, у меня есть контракт на обслуживание IWSTransfer, который просто реализует эти отдельные контракты - открытый интерфейс IWSTransfer: IWSTransferResource, IWSTransferFactory
2) Но вам даже не нужно усложнять, реализация в WCF может реализовывать несколько сервисных контрактов - MyServiceImpl: IMyContract1, IMyContract2. Однако каждому контракту нужна отдельная конечная точка, поскольку конечные точки предназначены для договоров на обслуживание, а не для классов реализации.