The biggest advantage of the component-based approach is that the application developer can solely focus on application functionality by implementing the service interfaces, without having to bother on how the components will actually communicate on a distributed infrastructure.