Ищем сторонников тесно связанной конструкции по сравнению с SOA
Это своего рода странный вопрос, который я сам себе задал. Мы ведем небольшую дискуссию о том, как реализовать то, что в действительности представляет собой сервис-ориентированную архитектуру (SOA), с некоторыми бородавками, в которые не стоит вступать. А именно, это набор небольших простых сервисов (в основном устаревших упаковщиков не так уж и мало), которые будут использоваться для создания веб-приложений SaaS.
В любом случае, один из спорных вопросов заключается в том, следует ли использовать подход без совместного использования ресурсов, чтобы каждая служба связывалась с другими через API этой службы, или же разрабатывать какой-либо тип разделяемой библиотеки API, которая была бы импортирована различными службами для прямой связи. друг с другом. Последнее может напоминать людям о CORBA.
Итак, мое предложение для команды состояло в том, чтобы для всех, кто испытывает сильные чувства, - для некоторых из нас, - провести исследование и привести хорошо процитированное обоснование того, как мы лично хотим внедрить систему. ПОЭТОМУ, мы надеемся, чтобы уменьшить предвзятость подтверждения и просвещать всех, приведем хорошо процитированное доказательство того, что мы лично НЕ хотим внедрять систему. Тогда мы все соберемся вместе и обсудим это.
Моя проблема в том, что мне трудно найти идею тесно связанного, похожего на CORBA дизайна импорта-библиотеки, в любом случае, кроме примеров CORBA. Есть ли сторонники, делающие это таким образом, особенно в отличие от разобщенной архитектуры SOA? Или просто общие сторонники идеи в наше время? Я за архитектуру без совместного использования ресурсов, где у каждого сервиса есть свой четко определенный API, и теперь мне нужно сделать презентацию о том, чего я не поддерживаю, но у меня возникают проблемы даже с поиском каких-либо подтверждающих доказательств или информация, которая не относится к эпохе, предшествующей SOA.
1 ответ
Как и большинство вопросов "X против Y", ответ зависит.
Отделение не является серебряной пулей. Хотя он имеет много преимуществ (возможность многократного использования, модульность, тестирование, более простое обслуживание и т. Д.), Он может привести к чрезмерной разработке решения (следовательно, возможно, потребуется больше времени для создания и добавления дополнительных барьеров для входа / понимания) и обычно имеет некоторые влияние на производительность. Также хорошо избегать разъединения / абстрагирования только ради этого (если это не совсем легкий или "низко висящий фрукт"). В противном случае, убедитесь, что у вас есть приличные варианты использования для его поддержки.
Многое из этого зависит от типа вашего проекта, графика и целей производительности. Вместо того, чтобы спрашивать, какой х лучше до рассмотрения вашего проекта, гораздо мудрее спросить, как каждый х может быть применен к вашему проекту конкретным и осмысленным образом, и судить об этом на основании этого.