И все-таки, если честно, не вполне понятно, что подразумевается под «компонентным подходом». Ведь по сути компонентный подход к АБС был всегда – в любой банковской системе есть модуль «опердень», есть «вклады», есть «кредиты» и так далее. Директора компаний по развитию объясняют, что, мол, новый, компонентный подход предполагает уход от монолитной структуры АБС. Мол, при традиционном подходе изменения в одном модуле могут вызвать непрогнозируемые изменения в другом, формально, с точки зрения бизнеса никак не связанном с ним компоненте системы. При компонентном же подходе, мол, риск подобных непредсказуемых «перекосов» по идее исключен, что позволяет более свободно и оперативно вносить в нужные опции по поддержке новых направлений бизнеса. А, по-моему, есть плохой код, и есть хороший код, плохие программисты и хорошие программисты...
С другой стороны, для хорошего кода, конечно, нужны не только хорошие мозги. Вопросы методологии, отраслевых стандартов, возможно, даже первичны… По этому поводу вспомнился комичный случай из давнего прошлого – один мой приятель, большой умница, на заре нового российского капитализма написал программу учета труда и зарплаты. Одна компания купила у него эту замечательную программу, один человек по его просьбе написал к ней руководство пользователя, а потом, когда программа была установлена, оказалось, что программа всем хороша - красивая, удобная, только… не работает. Потом мой приятель потратил еще уйму времени, чтобы заставить-таки свою программу считать зарплату, и очень досадовал сам на себя, что кинулся делать код, не обдумав все как следует. Получается, проблема, с которой столкнулся 20 лет назад мой приятель, до сих пор актуальна. Причем не только для программистов-одиночек, но в том числе и для крупных корпораций.
В чем новизна нынешнего "нового компонентного подхода" - действительно не понятно.
SOA - это компонентных подход, используемый на высокоуровневом уровне с использованием Web-технологий в распределенных неоднородных системах.