Orientación a Servicios en el Desarrollo de Software
Calidad de Procesos y Productos Software
XI Cursos de Verano de la Universidad de Cantabria
Santander, 13 de Julio de 2010
Mª. Valeria de [email protected]
2
Objetivos
• Conocer los orígenes y fundamentos básicos de la orientación a
servicio.
• Comprender los aspectos más destacados de la orientación a
servicios como enfoque de desarrollo de software.
• Analizar las características que deben tener las metodologías
orientadas a servicios.
• Ver ejemplos de metodologías de desarrollo orientadas a
servicios.
3
Bibliografía
• Michael Bell, 2008. Service-Oriented Modeling (SOA): Service Analysis, Design, and Architecture, Ed. Wiley.
• B. Karakostas, Y. Zorgios, 2008. Engineering Service Oriented Systems: A Model Driven Approach, Ed. IGI Publishing.
• M. Papazoglou, P. Traverso, S. Dustdar, F. Leymann, 2006. Service-Oriented Computing. Research Roadmap, Accesible en: http://drops.dagstuhl.de/opus/volltexte/2006/524/
• M. Papazoglou, 2008. Web service: principle and technology. Ed. PearsonPrentice Hall.
• V. De Castro, 2007. A MDA approach for the service-oriented developmentof WISs: From Business Model to the Web Service Composition Model. PhDThesis.
• SOA Manifesto, 2009. Accesible en: http://www.soa-manifesto.org/
• A. Watson, 2008. Brief History of MDA. Upgrade, The European Journal forthe Informatics Profesional, Vol.IX, Nº2, pp.7-11.
• J. Miller, J. Mukerji, 2003. MDA Guide. Version 1.0.1. Document numberomg/2003-06-01, Accesible en: http://www.omg.com/mda.
4
Contenido
• Introducción a la Orientación a Servicios– Orígenes
– Características y Beneficios
– Proceso de desarrollo (Capas, Roles y Vistas)
– Servicios y Arquitecturas Orientadas a Servicios
– Ciclo de Vida
• Orientación a Servicios como enfoque de desarrollo de software
– Justificación
– Metodologías Orientadas a Servicios
– Aportación del DSDM
• Ejemplos de Metodologías de Desarrollo Orientado a Servicios
5
Introducción a la Orientación a Servicios
• ¿Cómo surge la Orientación a Servicios?
Computación Orientada a Servicios(Service-Oriented Computing)
Servicios Web
Automatización de Procesos de
Negocio
Composición de Servicios Web
Arquitecturas Orientadas a Servicios
“Service-Oriented Computing (SOC) is a new computing paradigmthat utilizes services as the basic constructs for developing applications.”
(Papazoglou and Georgakopoulos, Serviced-Oriented Computing, Communications of ACM, 2003)
6
Introducción a la Orientación a Servicios
• Surge primero como un paradigma de computación
– Se destaca la importancia como enfoque de computación para dar soporte a las organizaciones
…“Fully integrated enterprises are being replaced by business networks in which each participant provides the others with specialized services.”…
…“Traditional IT infrastructures in which infrastructure and applications weremanaged and owned by one enterprise are giving way to networks ofapplications owned and managed by many business partners”…
F. Curbera et. al, The next step in Web services, Comunication of the ACM, 2003
“The visionary promise of Service-Oriented Computing is a world ofcooperating services where application components are assembled with littleeffort into a network of services that can be loosely coupled to create flexible dynamic busines processes and agile applications that may span organisationsand computing platforms.”
Papazoglou et al., Service-Oriented Computing Research Roadmap, 2006
7
Introducción a la Orientación a Servicios
• Surge primero como un paradigma de computación
– Se destaca la importancia como enfoque de computación para dar soporte a las organizaciones
– Es abordada desde un punto de vista tecnológico
• Estándares de Servicios Web, BPEL, WS-*
• Los servicios Web proveen un marco para la aplicación basada en estándares del paradigma SOC
8
Introducción a la Orientación a Servicios
• Surge primero como un paradigma de computación
– Se destaca la importancia como enfoque de computación para dar soporte a las organizaciones
– Es abordada desde un punto de vista tecnológico
– Carencia de aproximaciones metodológicas
• Metodologías para facilitar el desarrollo de software en base a este paradigma
• Métodos que permitan la identificación y descripción de servicios en el marco de los procesos de una organización
• Métodos que permitan la creación de servicios ejecutables a partir de modelos de negocio
• Etc.
9
Introducción a la Orientación a Servicios
• Surge primero como un paradigma de computación
Paradigma de Computación
OO Metodologíasde Desarrollo
OO
Paradigma de Computación
OS
10
Contenido
• Introducción a la Orientación a Servicios– Orígenes
– Características y Beneficios
– Proceso de desarrollo (Capas, Roles y Vistas)
– Servicios y Arquitecturas Orientadas a Servicios
– Ciclo de Vida
• Orientación a Servicios como enfoque de desarrollo de software
– Justificación
– Metodologías Orientadas a Servicios
– Aportación del DSDM
• Ejemplos de Metodologías de Desarrollo Orientado a Servicios
11
Introducción a la Orientación a ServiciosCaracterísticas y Beneficios
• Utiliza servicios como elementos básicos para el desarrollo de aplicaciones
�Desarrollo rápido, a bajo costo y de fácil composición
• Independencia de lenguajes
– Las organizaciones exponen sus “competencias”(funcionalidades o capabilities) a través de interfaces estándar basadas en XML � Integración, interoperatividad y reusabilidad
• Permite imitar el funcionamiento de los negocios en el “mundo real”
– Centrado en los procesos de negocio
�Adaptabilidad, agilidad y flexibilidad
12
Introducción a la Orientación a ServiciosCaracterísticas y Beneficios
• Permite imitar el funcionamiento de los negocios en el “mundo real”
… “SO creates service level abstractions that map to the way a business actually works” (Papazoglou, 2008)
… “SO venture about simulating the real world” (Bell, 2008)
13
Introducción a la Orientación a ServiciosCaracterísticas y Beneficios
ERPCRM
Legacy Systems
Databases
Packaged Applications
• Permite imitar el funcionamiento de los negocios en el “mundo real”
14
Contenido
• Introducción a la Orientación a Servicios– Orígenes
– Características y Beneficios
– Proceso de desarrollo (Capas, Roles y Vistas)
– Servicios y Arquitecturas Orientadas a Servicios
– Ciclo de Vida
• Orientación a Servicios como enfoque de desarrollo de software
– Justificación
– Metodologías Orientadas a Servicios
– Aportación del DSDM
• Ejemplos de Metodologías de Desarrollo Orientado a Servicios
15
Lógica de Negocio,Procesos de negocios
(la realidad de la organización)
Storage
Service
RJCU
(GesIMED W
IS)
<<AOp>>
Validate User
<<AOp>>
Register Payment
<<WS>>
Validate Credit Card
<<AOp>>
Make a Query
<<WS>>
Query processing
Query
Parameters
<<AOp>>
Show Results<<WS>>
Download ResultQuery
Result
Business Services, Capabilities
ERPCRM
Legacy Systems Databases Packaged Applications
Servicios(Software Assets, Web Services, por ejemplo)
Sistemas Operacionales, Tecnologías
Introducción a la Orientación a ServiciosProceso de desarrollo (Capas)
16
Introducción a la Orientación a ServiciosProceso de desarrollo (Roles)
Lógica de Negocio,Procesos de negocios
(la realidad de la organización)
Business Services, Capabilities
ERPCRM
Legacy Systems Databases Packaged Applications
Servicios(Software Assets, Web Services, por ejemplo)
Sistemas Operacionales, Tecnologías
Capacidades: entienden el dominio del problema,
entienden los requisitos del negocio, proponen soluciones
al negocio, etc.
Stakeholders: Business Analysts, Business Architects,
Financial analyst, CEO, CIO, CTO, etc.
Capacidades: entienden el negocio y cuáles servicios son
requeridos, entienden de servicios que pueden ser
reutilizados, etc.
Stakeholders: Software Analysts, Service Architects, SOA
Architects, Services Modeler
Capacidades: entienden el negocio y cuáles servicios son
requeridos, entienden de estrategias de integración y
reutilización de servicios, entienden de desarrollo de
servicios, proponen soluciones para la alineación, etc.
Stakeholders: Software Analysts, Service Architects, SOA
Architects, Services Modeler, etc.
Capacidades: entienden de desarrollo e integración,
entienden de tecnologías de la información, proponen
soluciones técnicas a la implementación de los servicios,
etc.
Stakeholders: Systems Analysts, Technical Architects,
Service Developers, Database architects, administrators,
etc.
17
Lógica de Negocio,Procesos de negocios
(la realidad de la organización)
Business Services, Capabilities
ERPCRM
Legacy Systems Databases Packaged Applications
Servicios(Software Assets, Web Services, por ejemplo)
Sistemas Operacionales, Tecnologías
Introducción a la Orientación a ServiciosProceso de desarrollo (Vistas) Papazoglou, 2008
Parte Física
Parte Lógica
18
Lógica de Negocio,Procesos de negocios
(la realidad de la organización)
Business Services, Capabilities
ERPCRM
Legacy Systems Databases Packaged Applications
Servicios(Software Assets, Web Services, por ejemplo)
Sistemas Operacionales, Tecnologías
Introducción a la Orientación a ServiciosProceso de desarrollo (Vistas) De Castro, 2007; Bell, 2008
Vista de Sistema
Vista de Negocio
19
Lógica de Negocio,Procesos de negocios
(la realidad de la organización)
Business Services, Capabilities
ERPCRM
Legacy Systems Databases Packaged Applications
Servicios(Software Assets, Web Services, por ejemplo)
Sistemas Operacionales, Tecnologías
Introducción a la Orientación a ServiciosProceso de desarrollo (Vistas) Miller y Mukerji, 2003
CIM
PIM
PSM
20
Introducción a la Orientación a ServiciosServicios y Arquitecturas Orientadas a Servicios
Lógica de Negocio,Procesos de negocios
(la realidad de la organización)
Business Services, Capabilities
ERPCRM
Legacy Systems Databases Packaged Applications
Servicios(Software Assets, Web Services, por ejemplo)
Sistemas Operacionales, Tecnologías
¿Servicio?
SOA
21
Contenido
• Introducción a la Orientación a Servicios– Orígenes
– Características y Beneficios
– Proceso de desarrollo (Capas, Roles y Vistas)
– Servicios y Arquitecturas Orientadas a Servicios
– Ciclo de Vida
• Orientación a Servicios como enfoque de desarrollo de software
– Justificación
– Metodologías Orientadas a Servicios
– Aportación del DSDM
• Ejemplos de Metodologías de Desarrollo Orientado a Servicios
22
Introducción a la Orientación a ServiciosServicios y Arquitecturas Orientadas a Servicios
• Concepto de servicio
– Involucra un proveedor y un consumidor
• Consumidor: adquiere “algo” (una funcionalidad, una habilidad) que tiene valor para él
• Proveedor: es una entidad (p.e. una organización) que posee recursos (o controla su entrega o coordina su envío) para ofrecer “algo” que tiene valor para alguien
– Es un conjunto de funcionalidades (capabilities) que son proporcionadas por un proveedor
Hablamos de servicio como una funcionalidad, y no de la forma en que se implementa una funcionalidad en el sistema
software
23
Introducción a la Orientación a ServiciosServicios y Arquitecturas Orientadas a Servicios
• Concepto de servicio
– Servicio de Negocio (Business Service)
– Servicio como “software” (e-services)
– Implementación de un servicio (p.e. Servicio Web )
Business Services
e-services
Web Services
Servicios primarios
Brindan soporte a los servicios primarios
Proveen una infraestructura para los e-services
24
Introducción a la Orientación a ServiciosServicios y Arquitecturas Orientadas a Servicios
• SOA (Service Oriented Architecture)
– “SOA is an architectural approach to loosely coupled, protocol independent, standards-based distributed computing where software resources available on a network are considered as services” (Papazoglou, 2008)
– “SOA is a form of technology architecture that adheres to the principles of service-orientation. When realized through the Web services technology platform, SOA establishes the potential to support and promote these principles throughout the business process and automation domains of an enterprise” (Thomas Erl, Service-Oriented Architecture: Concepts, Technology, and Design, 2005)
25
Introducción a la Orientación a ServiciosServicios y Arquitecturas Orientadas a Servicios
• SOA (Service Oriented Architecture)
– SOA manifiesto
Service orientation is a paradigm that frames what you do. Service-oriented architecture (SOA) is a type of architecturethat results from applying service orientation.
We have been applying service orientation to help organizationsconsistently deliver sustainable business value, with increased agilityand cost effectiveness, in line with changing business needs.
• Priorizar:
– Business value over technical strategy
– Strategic goals over project-specific benefits
– Intrinsic interoperability over custom integration
– Shared services over specific-purpose implementations
– Flexibility over optimization
– Evolutionary refinement over pursuit of initial perfection
26
Introducción a la Orientación a ServiciosServicios y Arquitecturas Orientadas a Servicios
• SOA (Service Oriented Architecture)
– SOA manifiesto• Principios guía (valores centrales):
– Respect the social and power structure of the organization. – Recognize that SOA ultimately demands change on many levels. – The scope of SOA adoption can vary. Keep efforts manageable and within meaningful
boundaries. – Products and standards alone will neither give you SOA nor apply the service orientation
paradigm for you. – SOA can be realized through a variety of technologies and standards. – Establish a uniform set of enterprise standards and policies based on industry, de facto, and
community standards. – Pursue uniformity on the outside while allowing diversity on the inside. – Identify services through collaboration with business and technology stakeholders. – Maximize service usage by considering the current and future scope of utilization. – Verify that services satisfy business requirements and goals. – Evolve services and their organization in response to real use. – Separate the different aspects of a system that change at different rates. – Reduce implicit dependencies and publish all external dependencies to increase robustness
and reduce the impact of change. – At every level of abstraction, organize each service around a cohesive and manageable unit of
functionality.
27
Contenido
• Introducción a la Orientación a Servicios– Orígenes
– Características y Beneficios
– Proceso de desarrollo (Capas, Roles y Vistas)
– Servicios y Arquitecturas Orientadas a Servicios
– Ciclo de Vida
• Orientación a Servicios como enfoque de desarrollo de software
– Justificación
– Metodologías Orientadas a Servicios
– Aportación del DSDM
• Ejemplos de Metodologías de Desarrollo Orientado a Servicios
28
Introducción a la Orientación a ServiciosCiclo de vida
Diseño
Ejecución
Ciclo de vida de los servicios
29
Introducción a la Orientación a ServiciosCiclo de vida
Identificación del servicio
Diseño del servicio
Implementación del servicio
Monitorización del servicio
Retirada del servicio
Perspectiva del Proveedor
30
Introducción a la Orientación a ServiciosCiclo de vida
Especificación del servicio
Evaluación y selección del servicio
Contrato del servicio
Consumo del servicio
Finalización del servicio
Perspectiva del Consumidor
31
Contenido
• Introducción a la Orientación a Servicios– Orígenes
– Características y Beneficios
– Proceso de desarrollo (Capas, Roles y Vistas)
– Servicios y Arquitecturas Orientadas a Servicios
– Ciclo de Vida
• Orientación a Servicios como enfoque de desarrollo de software
– Justificación
– Metodologías Orientadas a Servicios
– Aportación del DSDM
• Ejemplos de Metodologías de Desarrollo Orientado a Servicios
32
Orientación a Servicios como enfoque de desarrollo de software
• ¿Cuál es el siguiente paso?
Paradigma de Computación
OS
Aproximaciones metodológicas que permitan desarrollar Sistemas de Información siguiendo un enfoque orientado a servicios
Metodologías de Desarrollo Orientadas a Servicios
33
Orientación a Servicios como enfoque de desarrollo de software
Metodologías Orientadas a Servicios
• ¿Por qué?
– Porque hay un nuevo paradigma de computación
– Para permitir a los desarrolladores de software aprovechar al máximo los beneficios del paradigma de computación orientado a servicios
– Porque es crucial para el desarrollo de servicios y especificaciones de procesos de negocios significativos
(Papazoglou et al, Service-Oriented Computing. Research Roadmap, 2006)
34
Orientación a Servicios como enfoque de desarrollo de software
Metodologías Orientadas a Servicios
• ¿Qué significa desarrollar siguiendo un enfoque OS?
– En esencia, llevar a cabo el desarrollo de sistemas de información centrado en el negocio y utilizando servicios como elementos principales para la construcción de software
35
Orientación a Servicios como enfoque de desarrollo de software
Metodologías Orientadas a Servicios
Lógica de Negocio,Procesos de negocios
(la realidad de la organización)
Business Services, Capabilities
ERPCRM
Legacy Systems Databases Packaged Applications
Servicios(Software Assets, Web Services, por ejemplo)
Sistemas Operacionales, Tecnologías
Lógica de Negocio,Procesos de negocios
(la realidad de la organización)
Business Services, Capabilities
ERPCRM
Legacy Systems Databases Packaged Applications
Servicios(Software Assets, Web Services, por ejemplo)
Sistemas Operacionales, Tecnologías
• ¿Qué debe aportar una metodología OS?
– Un marco, modelos, métodos, procesos … para abordar
36
Orientación a Servicios como enfoque de desarrollo de software
Metodologías Orientadas a Servicios
• ¿Qué debe aportar una metodología OS? (2)
– Guías para obtener los servicios de negocio a partir del modelo de negocio de la organización
– Técnicas y un lenguaje para el modelado de servicios(simples y compuestos)
– Técnicas para identificar cómo los servicios pueden ser implementados a través de la las TI disponibles.
– Mecanismos para contribuir al aprovechamiento de las ventajas del paradigma OS
37
Orientación a Servicios como enfoque de desarrollo de software
Metodologías Orientadas a Servicios
• ¿Qué debe aportar una metodología OS? (3)
– Un marco que permita dar soporte al ciclo de vida completo de los servicios
Diseño
Ejecución
Ciclo de vida de los servicios
38
Contenido
• Introducción a la Orientación a Servicios– Orígenes
– Características y Beneficios
– Proceso de desarrollo (Capas, Roles y Vistas)
– Servicios y Arquitecturas Orientadas a Servicios
– Ciclo de Vida
• Orientación a Servicios como enfoque de desarrollo de software
– Justificación
– Metodologías Orientadas a Servicios
– Aportación del DSDM
• Ejemplos de Metodologías de Desarrollo Orientado a Servicios
39
Orientación a Servicios como enfoque de desarrollo de software
Aportación del DSDM
Lógica de Negocio,Procesos de negocios
(la realidad de la organización)
Business Services, Capabilities
ERPCRM
Legacy Systems Databases Packaged Applications
Servicios(Software Assets, Web Services, por ejemplo)
Sistemas Operacionales, Tecnologías
Vista de Sistema
Vista de Negocio
40
Orientación a Servicios como enfoque de desarrollo de software
Aportación del DSDM
Negocio
Servicios de Negocio Procesos de negocio
Servicios software, Web ServicesComposición de servicios, etc.
Desarrollo Orientado a Servicios
Sistemas de Información
41
Lógica de Negocio,Procesos de negocios
(la realidad de la organización)
Business Services, Capabilities
ERPCRM
Legacy Systems Databases Packaged Applications
Servicios(Software Assets, Web Services, por ejemplo)
Sistemas Operacionales, Tecnologías
Orientación a Servicios como enfoque de desarrollo de software
Aportación del DSDM
CIM
PIM
PSM
42
Orientación a Servicios como enfoque de desarrollo de software
Aportación del DSDM
Modelos Independientes de Computación
(CIM)
Negocio
Modelos Independientes y Específicos de Plataforma
(PIM, PSM)
Desarrollo Dirigidopor Modelos
Servicios de Negocio Procesos de negocio
Servicios software, Web ServicesComposición de servicios, etc.
Desarrollo Orientado a Servicios
Alineación de Negocios con Tecnologías de la Información
Sistemas de Información
Transformaciones de modelos y de modelo a código
43
Contenido
• Introducción a la Orientación a Servicios– Orígenes
– Características y Beneficios
– Proceso de desarrollo (Capas, Roles y Vistas)
– Servicios y Arquitecturas Orientadas a Servicios
– Ciclo de Vida
• Orientación a Servicios como enfoque de desarrollo de software
– Justificación
– Metodologías Orientadas a Servicios
– Aportación del DSDM
• Ejemplos de Metodologías de Desarrollo Orientado a Servicios
44
Ejemplos de Metodologías de Desarrollo Orientado a Servicios
• SOD-M: Service Oriented Development Method
• Metodología basada en IDEF (B. Karakostas, Y. Zorgios, 2008)
• SOMF: Service Oriented Modeling Framework (Michael
Bell, 2008)
• SOMA: Service Oriented Modeling and Architecture(Arsanjani et. al, 2008)
• SOAML: Service oriented architecture ModelingLanguage (OMG, 2009)
45
Orientación a Servicios como enfoque de desarrollo de software
Aportación del DSDM
Modelos Independientes de Computación
(CIM)
Negocio
Modelos Independientes y Específicos de Plataforma
(PIM, PSM)
Servicios de Negocio Procesos de negocio
Servicios software, Web ServicesComposición de servicios, etc.
Alineación de Negocios con Tecnologías de la Información
Sistemas de Información
Desarrollo Dirigidopor Modelos
Desarrollo Orientado a Servicios
46
SOD-M
Desarrollo Dirigidopor Modelos
Desarrollo Orientado a Servicios
Service Oriented Development Method
47
SOD-M
• Identifica servicios como elementos principales para el desarrollo de SI
• Define guías para obtener servicios a partir de los modelos de negocio de alto nivel
• Define técnicas para el modelado de servicios
• Identifica cómo los servicios pueden ser implementados a través de la las TI disponibles (Composición de Servicios Web).
Una aproximacion Orientada a Servicios
Desarrollo de Sistemasde Información
48
SOD-MMarco de MIDAS
PIM
PSM
CIM
<<mappingsPIM
-PIM>>
<<mappingsPSM
-PSM>>
<<mappingsPIM-PSM>>
<<Trazabilidad>>
COMPORTAMIENTOHIPERTEXTOCONTENIDO
Modelado de Dominio Modelado de Negocio
49
SOD-MMarco de MIDAS
Identificación de Servicios de Negocios y Procesos
Identificación de actores e intercambio de objetos de valor
(BPMN)
CIM
PIM
Perspectiva del Negocio
Perspectiva del Sistema de Información
Modelo de Interface deServicio Web
Modelo de Caso de Uso Extendido
Modelo de Procesosde Negocio(BMPN)
Modelo de Valor(e3value)
Modelo de Métodosde Sevicios .NET
Código de Métodosde Sevicios .NET
Business Services List
Modelo deNavegación Modelo de Métodos
de Sevicios
UI Tasks
Modelo de Composiciónde Servicios Modelo Conceptual
de Datos
CódigoWSDL
PSM
Modelo de Caso de Uso
Línea del proceso
Transformación Modelo a ModeloTransformación Modelo a Texto
Tareas del analista de negocio
Tareas de analistas de software
Tareas de desarrolladores
Para identificar procesos de SI(BPMN)
Para identificar funciones (Casos de uso UML)
50
SOD-MMetamodelo
performs
involve
51
SOD-MModelos
Identificación de Servicios de Negocios y Procesos
Identificación de actores e intercambio de objetos de valor
(BPMN)
CIM
PIM
Perspectiva del Negocio
Perspectiva del Sistema de Información
Web Service InterfaceModel
Modelo de Caso de Uso Extendido
(UML Use Case)
Modelo de Procesosde Negocio(BMPN)
Modelo de Valor(e3value)
.NET Service TaskMethod Model
.NET Service TaskMethod Code
Business Services List
Modelo deNavegación Service Task
Method Model
Service Tasks
UI Tasks
Modelo de Composiciónde Servicios Modelo Conceptual
de Datos
Service Task Methods
WSDL Code
PSM
Process Line
M2M Transformation
M2T Transformation
Business Analysts Task
Software Analysts Tasks
Software Architecture and Developer Tasks
Modelo de Caso de Uso
52
SOD-MModelos
Modelo de Valor
53
SOD-MModelos
Modelo de Proceso de Negocio
54
SOD-MModelos
Modelo de Caso de Uso
55
SOD-MModelos
Modelo de Caso de Uso Extendido
56
SOD-MModelos
Modelo de Composición de Servicio
57
SOD-M(Implementación de Modelos y Transformaciones)
ValueModel Pluggin
EditorValue
Metamodel.ecore
UseCaseModel Pluggin
UseCaseMetamodel.ecore
ExtendedUseCaseModel Pluggin
ExtUseCaseMetamodel.ecore
. . . . . .
Editor Editor
ModelsPluggins
Value2UseCase Pluggin
ValueMetamodel.ecore
. . . . . .
MappingsPluggins
UseCaseMetamodel.ecore
ValueModel2UseCaseModel.atl
UseCase2ExtUseCase Pluggin
UseCaseMetamodel.ecore
ExtUseCaseMetamodel.ecore
UseCaseModel2ExtUseCaseModel.atl
. . . . . .
58
Ejemplos de Metodologías de Desarrollo Orientado a Servicios
• SOD-M: Service Oriented Development Method
• Metodología basada en IDEF (B. Karakostas, Y. Zorgios, 2008)
• SOMF: Service Oriented Modeling Framework (Michael
Bell, 2008)
• SOMA: Service Oriented Modeling and Architecture(Arsanjani et. al, 2008)
• SOAML: Service oriented architecture ModelingLanguage (OMG, 2009)
59
Metodología basada en IDEF
• Características
– Integra principios de Ingeniería de Servicios y de Desarrollo basado en Modelos
– Propone un marco de análisis basado en IDEF (IntegrationDefinition for Function Modeling)
– El proceso para la identificación y despliegue de e-serviceincluye
• Identificar procesos de negocios y servicios de negocio.
• Identificar proveedor y consumidores del servicio
• Diseñar y definir el e-service
• Desplegar (delivering )
60
Metodología basada en IDEF
Service
Control Mechanisms
DeliveredCapability
People, Roles, Resources
Preconditions
Mechanism, Infrastructure
Sistemas informáticos o no necesarios para realizar diagnósticos médico (datos de los pacientes, resultados)
Condiciones necesarias para que el servicio sea ofrecido
(tener una cita, disponibilidad de médico)
Restricciones y reglas (procedimientos médicos)
Servicio de consulta medicaDiagnóstico médico
61
Ejemplos de Metodologías de Desarrollo Orientado a Servicios
• SOD-M: Service Oriented Development Method
• Metodología basada en IDEF (B. Karakostas, Y. Zorgios, 2008)
• SOMF: Service Oriented Modeling Framework (Michael
Bell, 2008)
• SOMA: Service Oriented Modeling and Architecture(Arsanjani et. al, 2008)
• SOAML: Service oriented architecture ModelingLanguage (OMG, 2009)
62
SOMF
• Características
– Define un marco para el modelado orientado a servicios
– Propone una notación para el modelado de servicios
63
SOMF
64
Ejemplos de Metodologías de Desarrollo Orientado a Servicios
• SOD-M: Service Oriented Development Method
• Metodología basada en IDEF (B. Karakostas, Y. Zorgios, 2008)
• SOMF: Service Oriented Modeling Framework (Michael
Bell, 2008)
• SOMA: Service Oriented Modeling and Architecture(Arsanjani et. al, 2008)
• SOAML: Service oriented architecture ModelingLanguage (OMG, 2009)
65
SOMA
• Características
– Es un metodología promovida por IBM para el desarrollo de soluciones SOA
– Define un método que incluye siete fases principales asociadas al ciclo de vida de los servicios
66
SOMA
67
Ejemplos de Metodologías de Desarrollo Orientado a Servicios
• SOD-M: Service Oriented Development Method
• Metodología basada en IDEF (B. Karakostas, Y. Zorgios, 2008)
• SOMF: Service Oriented Modeling Framework (Michael
Bell, 2008)
• SOMA: Service Oriented Modeling and Architecture(Arsanjani et. al, 2008)
• SOAML: Service oriented architecture ModelingLanguage (OMG, 2009)
68
SOAML
• Características
– Es un lenguaje para el modelado de arquitecturas orientadas a servicios
– Define un perfil UML para el modelado de servicios
69
SOAML
Elementos para el modelado de servicios
Elementos para el modelado de datos de servicios
70
Contenido
• Introducción a la Orientación a Servicios– Orígenes
– Características y Beneficios
– Proceso de desarrollo (Capas, Roles y Vistas)
– Servicios y Arquitecturas Orientadas a Servicios
– Ciclo de Vida
• Orientación a Servicios como enfoque de desarrollo de software
– Justificación
– Metodologías Orientadas a Servicios
– Aportación del DSDM
• Ejemplos de Metodologías de Desarrollo Orientado a Servicios
71
Bibliografía
• Michael Bell, 2008. Service-Oriented Modeling (SOA): Service Analysis, Design, and Architecture, Ed. Wiley.
• B. Karakostas, Y. Zorgios, 2008. Engineering Service Oriented Systems: A Model Driven Approach, Ed. IGI Publishing.
• M. Papazoglou, P. Traverso, S. Dustdar, F. Leymann, 2006. Service-Oriented Computing. Research Roadmap, Accesible en: http://drops.dagstuhl.de/opus/volltexte/2006/524/
• M. Papazoglou, 2008. Web service: principle and technology. Ed. PearsonPrentice Hall.
• V. De Castro, 2007. A MDA approach for the service-oriented developmentof WISs: From Business Model to the Web Service Composition Model. PhDThesis.
• SOA Manifesto, 2009. Accesible en: http://www.soa-manifesto.org/
• A. Watson, 2008. Brief History of MDA. Upgrade, The European Journal forthe Informatics Profesional, Vol.IX, Nº2, pp.7-11.
• J. Miller, J. Mukerji, 2003. MDA Guide. Version 1.0.1. Document numberomg/2003-06-01, Accesible en: http://www.omg.com/mda.
Orientación a Servicios en el Desarrollo de Software
Calidad de Procesos y Productos Software
XI Cursos de Verano de la Universidad de Cantabria
Santander, 13 de Julio de 2010
Ma. Valeria de [email protected]
Muchas Gracias a todos por la atenciMuchas Gracias a todos por la atencióón!n!