SoaML: Modelando SOA

abril 21, 2012

share

Archived

SoaML es extensión del UML (Lenguaje unificado de modelado) utilizado para el modelado de servicios y arquitecturas orientadas a servicios. Este puede ser incluido con facilidad en la mayoría de las herramientas de UML.

Si lo utilizamos con herramientas MDA (Model Driven Architecture) podremos producir XSD, WSDL, Java, BPEL, etc. De manera r√°pida y sencilla. Estos artefactos tecnol√≥gicos generados podr√°n ser lo suficientemente completos como para ejecutar servicios directamente o podr√°n ser utilizados como plantillas para que los desarrolladores a√Īadan el c√≥digo correspondiente.

Inicios de SoaML:

SoaML fue adoptada en 2009 por el OMG despu√©s de un proceso de tres a√Īos que involucr√≥ a varios participantes de peque√Īas y grandes empresas, as√≠ como integrantes del mundo acad√©mico. SoaML se basa en las experiencias previas, las metodolog√≠as y productos de estos expertos en SOA y est√° dise√Īada para apoyar las mejores pr√°cticas de esta arquitectura, intentando lograr una normalizaci√≥n de t√©rminos y anotaciones.

Las organizaciones son más eficaces cuando logran comprender la relación existente entre sus servicios tecnológicos y el negocio. SoaML proporciona la capacidad de crear una arquitectura donde queda explicito la colaboración existente entre los diferentes intervinientes a través de cada uno de los servicios publicados y muestra como estos se conectan con otras partes de la arquitectura, como son los procesos, la información y las reglas de negocio.

Características y beneficios de SoaML

– Modelado de Servicio a nivel de sistema.
– Modelado del negocio.
– Fomenta y apoya el acoplamiento entre sistemas y unidades de negocio.
РPermite integrar procesos de negocio, información y modelos de datos en UML.
– Permite modelar contratos e interfaces de servicio.
РFacilita la representación del orden en el que se suceden los mensajes en un servicio.
РRepresentación de los participantes y los componentes que proporcionan y utilizan los servicios.
РModelado de la evolución de los servicios con los hitos.

Modelado de la Arquitectura

SOA consiste en un la interacción de diferentes roles proveedores y consumidores de servicios para lograr un objetivo, es por eso que para su representación se utiliza un modelo de colaboración como el que se muestra a continuación:

soa_4

 

Modelado del Servicio

Cada servicio definido en la arquitectura posee información especifica a si mismo que suele ser representada en el modelo de negocio.
A través de un ServiceContract podremos definir desde la coreografía del servicio hasta su contrato de invocación e interfaces.

soa_9

De la figura anterior podemos ver que el recuadro ‚ÄúOpt‚ÄĚ dentro de la coreograf√≠a representa que el componente Quote es opcional, a diferencia de Order que no lo es.
Las líneas existentes en la coreografía corresponden a los diferentes tipos de mensajes que participan de la invocación del servicio, los cuales, como vemos a continuación, pueden ser representados a través de un modelo de clases.

soa_7

Modelado del Proceso de Negocios

 A continuación veremos un diagrama que permite modelar el proceso de negocio, en donde  las columnas verticales representan a cada uno de los participantes del proceso, los rectángulos con bordes redondeados corresponden a las actividades que cada participante realiza, mientras que los rectángulos representan el punto donde los mensajes son intercambiados entre las actividades de los diferentes participantes.

soa_8