-
-
-
-
URL copied!
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:
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.
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.
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.
Top Insights
Escribiendo User Stories en Agile
AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyWhat is TM Forum Frameworx and how to...
UncategorizedAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyImpact Mapping en Metodologías ágiles
AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyTop Authors
Blog Categories
Trabajemos juntos
Contenido Relacionado
5 razones por las que tu proyecto necesita un Business Analyst
Contar con un Business Analyst (BA) en tu equipo no solo te ayudará a delegar tareas más operativas, sino que también potenciará al equipo de desarrollo y contribuirá significativamente al éxito de tu proyecto de desarrollo de software.
Conocer más
7 claves para ser un miembro de un equipo efectivo
Un gran desarrollador necesita trabajar tanto en sus habilidades técnicas como en sus habilidades blandas, ya que estas forman la base para cualquier profesional que quiera ser una pieza efectiva e inspirar un cambio positivo en su equipo y organización. He recopilado una serie de recomendaciones que considero básicas y de vital importancia para trabajar … Continue reading SoaML: Modelando SOA →
Conocer más
Share this page:
-
-
-
-
URL copied!