2013-10-24 2 views
1

Я работаю над предложением и прототипом для реорганизации сложной системы. Это распределенная архитектура n-уровня, которая в целом соответствует принципам DDD и содержит элементы Jeffery Palermo's Onion Architecture, особенно разделение основной концепции модели и услуг домена (они будут тесно связаны с проблемами домена, а некоторые могут быть в конечном счете реализованы естественным образом как удаленные службы WCF/Workflow) из концепции Application Model/Services более высокого уровня (компоненты, которые обычно будут координировать действия от имени приложения/кода пользовательского интерфейса и будут введены в качестве зависимостей в этих приложениях).Каким будет другой термин для службы приложений?

Мне нужно сообщить об этом подходу к руководителям и/или разработчикам, которые не подвергались серьезной нагрузке на сервисно-ориентированные архитектуры, принципы SOLID, инъекции зависимостей, составные приложения и т. Д. Я сталкиваюсь с некоторой значительной устойчивостью к концепции «Служба приложений» не реализуется как служба WCF или «Web».

Для меня «услуги» - это просто компоненты, которые реализуют какой-то «контракт на обслуживание», который «потребитель услуг» и «поставщик услуг» могут соглашаться на абстрактно, и это не означает, что это обязательно «веб-сервис», , прослушивание порта на каком-то сервере. Кажется, что я просто не могу понять эту точку зрения, однако, это кажется слишком тонким или слишком абстрактным.

Я думаю, что мне просто нужен еще один термин для «Application Service», чтобы отличить его от «Web Service», но «API» или «SDK» или «Класс помощника» или подобные термины, которые хорошо поняты моей аудиторией, либо неточно или, похоже, не адекватно описывают это понятие.

Любые предложения относительно того, что было бы хорошим альтернативным термином?

UPDATE: Я недавно читал о MVVM + Controller (MVVMC или MVCVM) и начинал думать, что, возможно, некоторые из наших операций Application Service действительно могут считаться контроллерами. Мне все еще не ясно, как будет реализована проверка (т.е. IDataErrorInfo) в этом мире, хотя бы все бизнес-логика и валидация обрабатываются «Контроллером», возможно, поднимая событие, подобное (или фактически такое же, как и) INotifyPropertyChanged.PropertyChanged?

+0

Что такое «Поток приложений» или «Приложение»? – Hippoom

+0

координатор/менеджер домена. менеджер бизнес-процессов. Что-то + менеджер/координатор. Кстати, если другим разработчикам/менеджерам не комфортно даже с SOA, которая является старой новостью в эти дни, у вас будет чертовски время работать с ними, даже если они одобрят ваше предложение. Они скажут, что это слишком сложно и сложно, и давайте сделаем то, что раньше ... – MikeSW

+0

@MikeSW: Менеджер или Координатор могут работать.Несмотря на то, что мы успешно реорганизовали некоторые из наших устаревших компонентов настольных компьютеров в службы, чтобы обеспечить гораздо большую гибкость развертывания, я определенно начинаю видеть откат в более комплексной архитектуре приложений. – lesscode

ответ

2

Дядя Боб использует термин Взаимодействие в своем методе Clean Architecture. Они более или менее equivalent для прикладных услуг. Варианты использования - еще одна альтернатива.

Когда дело доходит до разработчиков, служба часто используется в качестве удобного зонтичного термина, чтобы описывать практически все безгражданство, которое предоставляет операции, часто потому, что люди не ищут лучшего имени. Это позор, но я не вижу, что вы можете с этим поделать. Использование другого слова для сервисов приложений с вашими разработчиками просто усиливает их иллюзию того, что сервис == удаленный сервис временно - рано или поздно, они обнаружат, что весь мир думает иначе.

+0

+1 Мне действительно нравится «Interactors», но для моей аудитории это было бы «слишком», «программная инженерия». Я фактически отказался от попыток продать это внутренне - я устал от людей, которые смотрели на меня, как на собак, которые показали карточный трюк ... – lesscode

1

Итак, вопрос в том, что еще один термин для «Application Service», чтобы отличить его от «Веб-службы»: Что относительно «Бизнес-обслуживания»? или «Служба домена»?

+0

Спасибо за вход. Тем не менее, я думаю, что это термин «Сервис». – lesscode

Смежные вопросы