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 Castro
[email protected]
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.
2
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. Pearson
Prentice Hall.
• V. De Castro, 2007. A MDA approach for the service-oriented development
of WISs: From Business Model to the Web Service Composition Model. PhD
Thesis.
• SOA Manifesto, 2009. Accesible en: http://www.soa-manifesto.org/
• A. Watson, 2008. Brief History of MDA. Upgrade, The European Journal for
the Informatics Profesional, Vol.IX, Nº2, pp.7-11.
• J. Miller, J. Mukerji, 2003. MDA Guide. Version 1.0.1. Document number
omg/2003-06-01, Accesible en: http://www.omg.com/mda.
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
3
4
Introducción a la Orientación a Servicios
• ¿Cómo surge la Orientación a Servicios?
Composición de
Servicios Web
Automatización
de Procesos de
Negocio
Servicios Web
Arquitecturas
Orientadas a
Servicios
Computación
Orientada a Servicios
(Service-Oriented Computing)
“Service-Oriented Computing (SOC) is a new computing paradigm
that utilizes services as the basic constructs for developing applications.”
(Papazoglou and Georgakopoulos, Serviced-Oriented Computing, Communications of ACM, 2003)
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 were
managed and owned by one enterprise are giving way to networks of
applications 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 of
cooperating services where application components are assembled with little
effort into a network of services that can be loosely coupled to create flexible
dynamic busines processes and agile applications that may span organisations
and computing platforms.”
Papazoglou et al., Service-Oriented Computing Research Roadmap, 2006
5
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
– 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
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.
7
8
Introducción a la Orientación a Servicios
• Surge primero como un paradigma de computación
Paradigma de
Computación
OO
Metodologías
de Desarrollo
OO
Paradigma de
Computación
OS
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
9
10
Introducción a la Orientación a Servicios
Características y Beneficios
• Utiliza servicios como elementos básicos para el
desarrollo de aplicaciones
(cid:1) 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
(cid:1) Integración, interoperatividad y reusabilidad
• Permite imitar el funcionamiento de los negocios en el
“mundo real”
– Centrado en los procesos de negocio
(cid:1) Adaptabilidad, agilidad y flexibilidad
Introducción a la Orientación a Servicios
Caracterí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)
11
12
Introducción a la Orientación a Servicios
Características y Beneficios
• Permite imitar el funcionamiento de los negocios en el
“mundo real”
Legacy Systems
Packaged Applications
ERP
CRM
Databases
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
13
14
Introducción a la Orientación a Servicios
Proceso de desarrollo (Capas)
U
C
J
R
)
I
S
W
D
E
M
I
s
e
G
(
e
g
a
r
o
t
S
i
e
c
v
r
e
S
<<AOp>>
Register Payment
<<AOp>>
Make a Query
<<AOp>>
Validate User
<<WS>>
Validate Credit Card
<<AOp>>
Show Results
<<WS>>
Download Result
Query
Parameters
Query
Result
<<WS>>
Query processing
Lógica de Negocio,
Procesos de negocios
(la realidad de la
organización)
Business Services,
Capabilities
Servicios
(Software Assets, Web
Services, por ejemplo)
Sistemas Operacionales,
Tecnologías
ERP
CRM
Legacy Systems
Databases
Packaged Applications
Introducción a la Orientación a Servicios
Proceso de desarrollo (Roles)
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.
Lógica de Negocio,
Procesos de negocios
(la realidad de la
organización)
Capacidades: entienden el negocio y cuáles servicios son
Capacidades: entienden el negocio y cuáles servicios son
requeridos, entienden de servicios que pueden ser
requeridos, entienden de estrategias de integración y
reutilizados, etc.
reutilización de servicios, entienden de desarrollo de
Stakeholders: Software Analysts, Service Architects, SOA
servicios, proponen soluciones para la alineación, etc.
Architects, Services Modeler
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.
ERP
CRM
Legacy Systems
Databases
Packaged Applications
Business Services,
Capabilities
Servicios
(Software Assets, Web
Services, por ejemplo)
Sistemas Operacionales,
Tecnologías
15
16
Introducción a la Orientación a Servicios
Proceso de desarrollo (Vistas) Papazoglou, 2008
Lógica de Negocio,
Procesos de negocios
(la realidad de la
organización)
Business Services,
Capabilities
Servicios
(Software Assets, Web
Services, por ejemplo)
Sistemas Operacionales,
Tecnologías
Parte Lógica
ERP
CRM
Parte Física
Legacy Systems
Databases
Packaged Applications
Introducción a la Orientación a Servicios
Proceso de desarrollo (Vistas) De Castro, 2007; Bell, 2008
Vista de Negocio
ERP
CRM
Vista de Sistema
Legacy Systems
Databases
Packaged Applications
Lógica de Negocio,
Procesos de negocios
(la realidad de la
organización)
Business Services,
Capabilities
Servicios
(Software Assets, Web
Services, por ejemplo)
Sistemas Operacionales,
Tecnologías
17
18
CIM
PIM
PSM
¿Servicio?
Introducción a la Orientación a Servicios
Proceso de desarrollo (Vistas) Miller y Mukerji, 2003
Lógica de Negocio,
Procesos de negocios
(la realidad de la
organización)
Business Services,
Capabilities
Servicios
(Software Assets, Web
Services, por ejemplo)
Sistemas Operacionales,
Tecnologías
ERP
CRM
Legacy Systems
Databases
Packaged Applications
Introducción a la Orientación a Servicios
Servicios y
Comentarios de: Orientación a Servicios en el Desarrollo de Software (0)
No hay comentarios