What are the components that comprise an end-to-end solution?