В моей компании в настоящее время мы используем классическую n-уровневую архитектуру, использующую NHibernate в качестве слоя постоянства с толстыми объектами. Видя много проблем с этим шаблоном, таких как полное увлажнение графа объекта, когда объекты извлекаются из базы данных, которую мы искали для других альтернатив.
В этом процессе мы перешли к более масштабируемой архитектуре команд и запросов, и теперь мы изучаем жизнеспособность SOA.
По вашему опыту, каковы самые большие преимущества SOA над n-уровневым. Сталкивались ли вы с какими-либо серьезными препятствиями?
А советы и материалы для чтения были бы полезны.