The current issue of Communications of the ACM features an interesting article about the philosophies behind the two approaches covering components and services. Both topics have been major parts of my studies in computer science and it’s definitely worth thinking about since too often decisions about these kinds of architectures and which to choose are made on hypes rather than on facts.