{"id":37503,"date":"2012-04-21T12:04:00","date_gmt":"2021-02-10T10:55:59","guid":{"rendered":"https:\/\/www.globallogic.com\/latam\/insights\/blogs\/soaml-modelando-soa\/"},"modified":"2025-01-30T11:32:53","modified_gmt":"2025-01-30T11:32:53","slug":"soaml-modelando-soa","status":"publish","type":"insightsection","link":"https:\/\/www.globallogic.com\/latam\/insights\/blogs\/soaml-modelando-soa\/","title":{"rendered":"SoaML: Modelando SOA"},"content":{"rendered":"<div class=\"classic_editor_content\">SoaML es extensi\u00f3n 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\u00eda de las herramientas de UML.<\/p>\n<p>Si lo utilizamos con herramientas MDA (Model Driven Architecture) podremos producir XSD, WSDL, Java, BPEL, etc. De manera r\u00e1pida y sencilla. Estos artefactos tecnol\u00f3gicos generados podr\u00e1n ser lo suficientemente completos como para ejecutar servicios directamente o podr\u00e1n ser utilizados como plantillas para que los desarrolladores a\u00f1adan el c\u00f3digo correspondiente.<\/p>\n<p><em><strong>Inicios de SoaML:<\/strong><\/em><\/p>\n<p>SoaML fue adoptada en 2009 por el OMG despu\u00e9s de un proceso de tres a\u00f1os que involucr\u00f3 a varios participantes de peque\u00f1as y grandes empresas, as\u00ed como integrantes del mundo acad\u00e9mico. SoaML se basa en las experiencias previas, las metodolog\u00edas y productos de estos expertos en <a href=\"https:\/\/www.globallogic.com\/latam\/insights\/blogs\/soa-governance-la-clave-del-exito\/\" target=\"_blank\" rel=\"noopener\">SOA<\/a> y est\u00e1 dise\u00f1ada para apoyar las mejores pr\u00e1cticas de esta arquitectura, intentando lograr una normalizaci\u00f3n de t\u00e9rminos y anotaciones.<\/p>\n<p>Las organizaciones son m\u00e1s eficaces cuando logran comprender la relaci\u00f3n existente entre sus servicios tecnol\u00f3gicos y el negocio. SoaML proporciona la capacidad de crear una arquitectura donde queda explicito la colaboraci\u00f3n existente entre los diferentes intervinientes a trav\u00e9s 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\u00f3n y las reglas de negocio.<\/p>\n<p><em><strong>Caracter\u00edsticas y beneficios de SoaML<\/strong><\/em><\/p>\n<p>&#8211; Modelado de Servicio a nivel de sistema.<br \/>\n&#8211; Modelado del negocio.<br \/>\n&#8211; Fomenta y apoya el acoplamiento entre sistemas y unidades de negocio.<br \/>\n&#8211; Permite integrar procesos de negocio, informaci\u00f3n y modelos de datos en UML.<br \/>\n&#8211; Permite modelar contratos e interfaces de servicio.<br \/>\n&#8211; Facilita la representaci\u00f3n del orden en el que se suceden los mensajes en un servicio.<br \/>\n&#8211; Representaci\u00f3n de los participantes y los componentes que proporcionan y utilizan los servicios.<br \/>\n&#8211; Modelado de la evoluci\u00f3n de los servicios con los hitos.<\/p>\n<p><em><strong>Modelado de la Arquitectura<\/strong><\/em><\/p>\n<p>SOA consiste en un la interacci\u00f3n de diferentes roles proveedores y consumidores de servicios para lograr un objetivo, es por eso que para su representaci\u00f3n se utiliza un modelo de colaboraci\u00f3n como el que se muestra a continuaci\u00f3n:<a rel=\"external nofollow\" target=\"_blank\" href=\"https:\/\/club.globallogic.com.ar\/wp-content\/uploads\/2012\/05\/soa_4.jpg\"><br \/>\n<\/a><\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-8557\" src=\"https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_4.jpg\" alt=\"soa_4\" width=\"100%\" height=\"auto\" srcset=\"https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_4.jpg 752w, https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_4-300x153.jpg 300w\" sizes=\"(max-width: 752px) 100vw, 752px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>Modelado del Servicio<\/strong><\/em><\/p>\n<p>Cada servicio definido en la arquitectura posee informaci\u00f3n especifica a si mismo que suele ser representada en el modelo de negocio.<br \/>\nA trav\u00e9s de un ServiceContract podremos definir desde la coreograf\u00eda del servicio hasta su contrato de invocaci\u00f3n e interfaces.<\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-8559\" src=\"https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_9.png\" alt=\"soa_9\" width=\"100%\" height=\"auto\" srcset=\"https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_9.png 909w, https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_9-300x121.png 300w, https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_9-768x311.png 768w\" sizes=\"(max-width: 909px) 100vw, 909px\" \/><\/p>\n<p>De la figura anterior podemos ver que el recuadro \u201cOpt\u201d dentro de la coreograf\u00eda representa que el componente Quote es opcional, a diferencia de Order que no lo es.<br \/>\nLas l\u00edneas existentes en la coreograf\u00eda corresponden a los diferentes tipos de mensajes que participan de la invocaci\u00f3n del servicio, los cuales, como vemos a continuaci\u00f3n, pueden ser representados a trav\u00e9s de un modelo de clases.<a rel=\"external nofollow\" target=\"_blank\" href=\"https:\/\/club.globallogic.com.ar\/wp-content\/uploads\/2012\/05\/soa_7.png\"><br \/>\n<\/a><\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-8560\" src=\"https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_7.png\" alt=\"soa_7\" width=\"100%\" height=\"auto\" srcset=\"https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_7.png 408w, https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_7-300x178.png 300w\" sizes=\"(max-width: 408px) 100vw, 408px\" \/><\/p>\n<p><em><strong>Modelado del Proceso de Negocios<\/strong><\/em><\/p>\n<p><strong>\u00a0<\/strong>A continuaci\u00f3n veremos un diagrama que permite modelar el proceso de negocio, en donde \u00a0las columnas verticales representan a cada uno de los participantes del proceso, los rect\u00e1ngulos con bordes redondeados corresponden a las actividades que cada participante realiza, mientras que los rect\u00e1ngulos representan el punto donde los mensajes son intercambiados entre las actividades de los diferentes participantes.<a rel=\"external nofollow\" target=\"_blank\" href=\"https:\/\/club.globallogic.com.ar\/wp-content\/uploads\/2012\/05\/soa_8.jpg\"><br \/>\n<\/a><\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-8561\" src=\"https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_8.jpg\" alt=\"soa_8\" width=\"100%\" height=\"auto\" srcset=\"https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_8.jpg 948w, https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_8-300x228.jpg 300w, https:\/\/www.globallogic.com\/latam\/wp-content\/uploads\/sites\/5\/2012\/04\/soa_8-768x584.jpg 768w\" sizes=\"(max-width: 948px) 100vw, 948px\" \/><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>SoaML es extensi\u00f3n del UML (Lenguaje unificado de modelado) utilizado para el modelado<\/p>\n","protected":false},"author":12,"featured_media":25673,"parent":0,"menu_order":134,"template":"","insight":[41],"insight-subcats":[],"insight-industry":[779],"insight-services":[],"insight-partners":[],"class_list":["post-37503","insightsection","type-insightsection","status-publish","has-post-thumbnail","hentry","insight-blogs","insight-industry-cross-industry"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/insightsection\/37503","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/insightsection"}],"about":[{"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/types\/insightsection"}],"author":[{"embeddable":true,"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/users\/12"}],"version-history":[{"count":1,"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/insightsection\/37503\/revisions"}],"predecessor-version":[{"id":101009,"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/insightsection\/37503\/revisions\/101009"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/media\/25673"}],"wp:attachment":[{"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/media?parent=37503"}],"wp:term":[{"taxonomy":"insight","embeddable":true,"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/insight?post=37503"},{"taxonomy":"insight-subcats","embeddable":true,"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/insight-subcats?post=37503"},{"taxonomy":"insight-industry","embeddable":true,"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/insight-industry?post=37503"},{"taxonomy":"insight-services","embeddable":true,"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/insight-services?post=37503"},{"taxonomy":"insight-partners","embeddable":true,"href":"https:\/\/www.globallogic.com\/latam\/wp-json\/wp\/v2\/insight-partners?post=37503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}