SCA (Service Component Architecture) es un conjunto de especificaciones que describen el modelo de creación de aplicaciones y sistemas mediante una arquitectura orientada a servicios.
SOA (arquitectura orientada a servicios) es una infraestructura que combina funciones y procesos empresariales individuales, llamados servicios, para implementar procesos y aplicaciones empresariales sofisticados. En una infraestructura SOA, los componentes empresariales de granularidad relativamente gruesa se presentan como servicios. SOA estructura los activos de TI como una serie de servicios reutilizables poco acoplados y de plataforma e implementación neutras. SOA diseña soluciones como conjuntos de servicios conectados mediante contratos e interfaces bien especificados.
SCA promueve una organización SOA de código de aplicación empresarial basado en componentes que implementan la lógica empresarial, que ofrecen sus funciones a través de interfaces orientadas a servicios y consumen las funciones que proporcionan otros componentes a través de interfaces orientadas a servicios, llamados referencias de servicio.
La especificación SCA simplemente define una manera de modelar una interfaz de servicios. Una interfaz de servicios es la separación entre dos componentes de una aplicación SOA. La interfaz de servicios especifica lo que debe implementar el proveedor (SOA-SP) y lo que puede invocar el coordinador (SOA-SC). Una interfaz de servicios SCA es una interfaz totalmente desarrollada y finalmente convertida en un documento WSDL o una interfaz Java.
Las implementaciones del proveedor de servicios en una SCA se llaman componentes de servicio. Una implementación de componentes de servicio puede ser:
Implementaciones de servicio y clientes del servicio
Las implementaciones de servicio son implementaciones concretas de la lógica empresarial que proporcionan y/o consumen servicios. Estas implementaciones utilizan una de las muchas tecnologías de implementación, como Java o C++. La implementación es el servidor del proceso empresarial. Una implementación puede proporcionar un servicio, que es un conjunto de operaciones definidas por una interfaz que utilizan otros componentes.
Las implementaciones también pueden utilizar otros servicios, conocidos como referencias de servicio, que indican la dependencia de la implementación de otros servicios que se proporcionan en otros sitios. Una implementación también puede tener una o varias propiedades configurables. Una propiedad es un valor de datos que se puede configurar externamente y que afecta a la función empresarial de la implementación.
Los servicios SCA suelen utilizar datos empresariales en forma de documentos para los parámetros y los valores de retorno; preferiblemente, estos parámetros se representan mediante objetos de datos de servicio (SDO) (consulte la sección Recursos para obtener más información). Los servicios, las referencias y las propiedades son los aspectos configurables de una implementación. SCA se refiere a estos aspectos de manera colectiva como tipo de componente.
Las referencias se configuran enlazando la referencia a un servicio de destino, que después utilizará la implementación para invocar a la referencia. La configuración de una propiedad implica establecer un valor de datos específico para dicha propiedad. En una infraestructura SCA, se puede utilizar una implementación para crear varios componentes diferentes, cada uno con una configuración diferente de referencias y propiedades. Otros componentes locales utilizan estos componentes y sus servicios, que también se pueden utilizar para el acceso remoto.
Ensamblaje de módulos
Un módulo SCA es la mayor composición de componentes muy acoplados desarrollada y desplegada en un sistema SCA. Es la unidad básica de una composición poco acoplada en un sistema SCA. Un módulo SCA contiene un conjunto de componentes, servicios externos y puntos de entrada, además de las conexiones que los interconectan. Los módulos ofrecen implementaciones de servicio a un sistema SCA.
Los puntos de entrada definen los servicios públicos que proporciona el módulo, que pueden utilizar otros componentes en el mismo módulo o estar disponibles para su uso fuera del módulo. Se utilizan para publicar los servicios que proporciona un módulo mediante un enlace especificado.
Los servicios externos de un módulo representan los servicios remotos que proporcionan otros módulos; son externos al módulo SCA que utiliza el servicio. Los componentes de un módulo pueden acceder a estos servicios externos como a cualquier servicio proporcionado por un componente SCA. Los servicios externos utilizan enlaces para describir el acceso a los servicios externos.
Creación de un proyecto SCA
El desarrollo de proyectos SCA tiene lugar en el sistema WebSphere Integration Developer. Consulte el Information Center de WebSphere Integration Developer en http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp para obtener información detallada.