http://www.watch.impress.co.jp/pc/docs/article/970904/kaigai01.htm

これまで、業務アプリ開発は基本的に手造りの世界であり、オープンシステムや
GUIになってどんどん開発が複雑になるのに、開発期間とコストが増し、保守が
難しくなるという状況に追い込まれていた。
そこで、ソフトウェアを部品に分け、再利用することで開発効率を高めようと
いう発想が出てきた