Podríamos definir una aplicación como un conjunto de componentes de software interrelacionados. Todos estos componentes están construidos bajo la misma o diferentes tecnologías. Estos componentes pueden correr sobre la misma maquina en un sistema operativo y sobre una misma plataforma o en diferentes procesos, diferentes maquinas con diferentes plataformas y sistemas operativos. Sin embargo una aplicación es organizada para esto es requerido: una forma de crear los componentes y un mecanismo para describir cómo los componentes trabajan juntos.
Service Component Architecture (SCA) define un enfoque general para realizar estas dos cosas. SCA es un estándar de OASIS originalmente creado por diferentes vendedores como BEA, IBM, Oracle, SAP, etc. La especificación SCA define como crear un componente y como estos componentes interactuan para formar una aplicación. Los componentes en SCA pueden ser construidos en Java o en otros lenguajes y además permite interactuar con otras tecnologia como JEE, Spring o BPEL. SCA define un mecanismo común de ensamblaje que indica como los componentes son combinados dentro de la aplicación.