Возможно, у вас больше похоже нарушение шаблона MVC, чем многоуровневого шаблона. В типичном приложении MVC бизнес-логика принадлежит коду контроллера, а не процедурам базы данных. Однако трехуровневое приложение обычно требуется иметь три уровня, уровень интерфейса, бизнес-уровень и уровень сохранения. И технически у них это есть. Поэтому я думаю, что, может быть, вам стоит утверждать, что они не следовали за MVC должным образом, и что в лучшем случае они имеют плохо реализованное трехуровневое приложение.
Вы также не предоставили достаточно подробностей, чтобы доказать, что он не использует сервис-ориентированную архитектуру (хотя, если это так, я был бы удивлен). SOA связана с тем, как связаны логические компоненты, составляющие бизнес-логику. Если они свободно связаны с вещами, которые могут быть подняты и опущены и заменены для разных реализаций поставщика, тогда у них будет SOA. Если существует жесткая связь, так что логические компоненты не могут быть легко отделены друг от друга, не вызывая серьезных обрывов, тогда они этого не делают.
Если у них есть большая часть их бизнес-логики, находящихся в процедурах базы данных, то они , вероятно, не имеют SOA, но вы никогда не знаете. Остальная часть их бизнес-логики действительно может следовать этой схеме.
Да с пружиной и пружиной-mvc позволяет использовать три слоя. Но так как каждый вызов заканчивается в вызове базы данных, мне кажется, что средний уровень выполняет прокси-функцию. Эффективно мы смотрим на слой пользовательского интерфейса -> прокси-сервер [бизнес-уровень, доступ к данным] -> база данных oracle11g. Оказывается ли это по-прежнему претендовать на 3-мя шинами? Wrt SOA Я согласен, что существует множество определений. –
У вас все еще есть несколько уровней, но средний уровень интеграции просто * сильно * недоиспользуется. Это тонкая линия с этими уровнями, особенно при использовании архитектуры пользовательского интерфейса, которая может эффективно поддерживать интеграцию промежуточного программного обеспечения. До J2EE и Spring мы вставляли всю нашу промежуточную логику в сервлеты контроллера. Странно, да? Но да, я думаю, вы можете сделать аргумент своему руководству о том, что ваш уровень промежуточного уровня фактически накладные расходы, поскольку его так плохо недоиспользуется. – Perception