# data[].attributes.body
Los componentes son unidades de software estructurados acorde a algunos principios específicos. Dichos principios son:

1. Unificacion de datos y funciones: Un objeto de software consiste de valores de datos (o estados) y las funciones que procesan esos datos. Esa colocación natural de dependencias entre funciones y datos mejoran la cohesión.

2. Encapsulación: El cliente de un objeto de software está aislado de como se almacenan los datos de dicho objeto de software o como se implementan sus funciones. En otras palabras, el cliente depende de la especificación de un objeto pero no de su implementación, de esta manera, se separan preocupaciones importantes haciendo más eficiente el gestionar las dependencias entre el software y reducir el acoplamiento.

3. Identidad: Cada objeto de software tiene su identidad única, independientemente del estado.

Los componentes extienden esos principios de objetos elaborando la noción de una especificación de objeto con una representación explícita de una especificación de dependencia llamada "Interfaz".

Los componentes pueden ser reemplazados por otros dependiendo las necesidades de donde se estén usando, la figura de este subtema muestra un componente existente siendo reemplazado por uno nuevo.

# data[].attributes.body
Definir un componente es complicado, debido a que la palabra componente es usada informalmente como una palabra de varios significados, y cada significado tiene la mosma validez. Entonces, para definir componentes, se deben definir las formas que los componentes pueden tener:

Especificación de Componente: Es la especificacion de una unidad de software que describe el comportamiento de un set de objetos de componentes.

Interfaces de Componentes: Es una definición de un set de comportamientos que pueden ser ofrecidos por un Objeto de componente.

Implementación de Componente: Es una realización de una Especificación de Componente, que es independientemente desplegable. En otras palabras, puede ser reemplazado independientemente de otros componentes.

Componente Instalado: Es una copia instalada o desplegada de una implementación de componente.

Objeto de Componente: Puede ser una instancia de un Componente Instalado, un concepto en tiempo de ejecución o un objeto con sus propios datos e identidades únicas.

# data[].attributes.body
Los contratos se pueden dividir en dos tipos:

De uso: Describe las relaciones entre una interfaz de objeto de componente y un cliente, y es especificado en la forma de una interfaz. Y la especificación de una interfaz incluye:

Operaciones: Es una lista de operaciones que la interfaz proporciona, incluyendo sus definiciones.

Modelo de información: La definición abstracta de cualquier información o estado que es retenida entre las peticiones del cliente por un objeto dando soporte a la interfaz, y cualquier preocupación en esa información.

De realización: Es un contrato entre una especificación de componente y una implementación de componente, y debe de adherirse por la persona que está creando la implementación.

# data[].attributes.headline
El Impacto del Proceso de Administración

# data[].attributes.subject
El Impacto del Proceso de Administración

# data[].attributes.headline
El Flujo de Trabajo de la Especificación

# data[].attributes.subject
El Flujo de Trabajo de la Especificación