Application of Model-Driven Techniques to the Design of Non-Functional Concerns of Service-Oriented Software Systems
Total Page:16
File Type:pdf, Size:1020Kb
DEPARTAMENTO DE INGENIERÍA DE SISTEMAS TELEMÁTICOS ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN APPLICATION OF MODEL-DRIVEN TECHNIQUES TO THE DESIGN OF NON-FUNCTIONAL CONCERNS OF SERVICE-ORIENTED SOFTWARE SYSTEMS Autor: Juan Pedro Silva Gallino Ingeniero de Telecomunicación Director: Miguel Ángel de Miguel Cabello Doctor Ingeniero Informático 2012 Tribunal nombrado por el Magfco. y Excmo. Sr. Rector de la Universidad Politécnica de Madrid, el día de de 201 . Presidente: . Vocal: . Vocal: . Vocal: . Secretario: . Suplente: . Suplente: . Realizado el acto de defensa y lectura de la Tesis el día de de 201 en la E.T.S.I. /Facultad . Calificación: . EL PRESIDENTE LOS VOCALES EL SECRETARIO Resumen Internet se ha convertido en la herramienta por excelencia para el intercambio de servicios de negocio e información entre empresas. En este contexto, las arquitecturas orientadas a servicios (SOA) y los servicios web (WS) han surgido como la plataforma más apropiada para las interacciones aplicación-aplicación. Por otra parte, el desarrollo guiado por modelos (MDD), y Model-Driven Architecture (MDA) en particular, son nuevos paradigmas que promueven el uso de modelos del sistema como elementos fundamentales en el proceso de desarrollo. Estos nuevos enfoques soportan la aplicación de mejores prácticas, patrones, y la reutilización en el desarrollo de familias de sistemas. Sin embargo, a las propiedades o características no funcionales (NF) (tales como seguridad, adaptabilidad, calidad de servicio, etc.) no se les ha prestado suficiente atención por parte de estos enfoques. Recientemente, han surgido nuevas propuestas que estudian específicamente el tema de las propiedades no-funcionales del software, permitiendo una separación de las características funcionales y no funcionales de los sistemas en la etapa de diseño. Entre los ejemplos de dichas propuestas encontramos Viewpoints, Multi-Dimensional Separation of Concerns (MDSOC), Aspect-Oriented Modeling (AOM) or Early Aspects (EA). Actualmente, las organizaciones de estándares, tales como el Object Management Group (OMG), se encuentran proponiendo soluciones que ofrezcan alternativas estándar al modelado de servicios. Herramientas y descripciones sobre la experiencia del uso de dichos estándares se esperan en el corto plazo. Sin embargo, no ha sido hasta muy recientemente que los aspectos no funcionales de los servicios han sido considerados para estos procesos de estandarización. Por ende, soluciones en este área no son esperadas en los años venideros. Dentro de las carencias de la computación orientada a servicios se destaca la necesidad de metodologías que soporten la especificación y el diseño de servicios y composiciones de servicios, asociando de esta forma las metodologías de diseño con las técnicas de modelado de procesos de negocio. La conciencia de calidad de servicio es también destacada como otro gran desafío en el futuro de las arquitecturas orientadas a servicios. Estos desafíos, nuevos enfoques y metodologías que han sido enumerados previamente, los cuales brindan soporte para la inclusión de características no funcionales en el desarrollo de sistemas SOA, son los motores que impulsan este trabajo. Aunque existen múltiples tecnologías de implementación que buscan facilitar el desarrollo de servicios web y sistemas SOA, la falta de una sólida base metodológica para el desarrollo de tales aplicaciones acentúa la necesidad de nuevas técnicas o métodos de modelado que pudieran garantizar la calidad del desarrollo de este tipo de sistemas. Esta tesis presenta un enfoque para lograr una solución para el desarrollo de arquitecturas orientadas a servicios con conciencia de características no funcionales, integrada, guiada por modelos, y que engloba múltiples áreas de investigación. La solución propuesta brinda, entre otros beneficios, una mejor comprensión del sistema al completo, y un desarrollo independiente de la plataforma objetivo, mejorando así la reutilización de diseño, y simplificando la evolución del sistema, con el consecuente aumento de la productividad. i Abstract Internet has become the tool “par excellence” for business and information exchange between companies. In this context, service-oriented architectures (SOA) and web services (WS) have emerged as the most suitable platform for application-to-application interactions. On a different token, model-driven development (MDD), and Model-Driven Architecture (MDA) in particular, are new paradigms that promote the use of system models as primary artifacts in the development process. These approaches support the application of best practices, patterns, and reuse in the development of families of systems. However, non-functional (NF) properties or concerns (such as security, adaptability, quality of service, etc.) have not been sufficiently addressed by these approaches. Recently, new proposals have risen that specifically focus on the area of non-functional concerns, allowing for the separation of functional and extra-functional characteristics of the systems at design time. Examples of those are Viewpoints, Multi-Dimensional Separation of Concerns (MDSoC), Aspect-Oriented Modeling (AOM) or Early Aspects (EA). Currently, standardization organizations, such as the OMG, are proposing standard solutions for service modeling. Tools and experiences on the use of such standards are expected in the short term. However, it has not been until very recently that non-functional aspects of services have been considered for standardization processes. Thus, no solution in this area is expected within the next few years. In the research roadmap for service-oriented computing, the need for methodologies supporting the specification and design of services and service compositions is remarked, in that way associating the design methodology with business process modeling techniques. QoS-awareness is also stressed as another grand challenge in the future of service-oriented architectures. These challenges and new approaches and methodologies enumerated above, supporting the inclusion of non-functional concerns development into SOA systems, are the engines propelling this research. Although multiple implementation technologies exist to facilitate the development of web services and SOA systems, the lack of a sound methodological base for the development of such applications stresses the need for new modeling methods or techniques that could guarantee the quality of the development of this type of systems. This dissertation presents an approach for the achievement of an integrated, model-driven solution for the development of service-oriented architectures with non-functional awareness, spanning over multiple areas of research. The proposed approach provides, among other benefits, a greater understanding of the system as a whole and a platform-independent development, improving reusability of designs, and simplifying the evolution of the system, thus increasing productivity. ii Agradecimientos Sería muy crédulo suponer que una persona es capaz de llegar hasta este punto por si solo. A lo largo del camino, muchas otras personas le han llevado de la mano de una u otra forma, hasta que es capaz de lograr su objetivo. Me gustaría recordar aquí a algunos de aquellos que me han ayudado en la travesía. Aunque el orden aquí no pretenda indicar mayor o menor relevancia, reservo un lugar destacado a mi director de tesis, Miguel Ángel de Miguel, que me ha guiado durante estos años por el camino de la investigación, y me ha indicado la dirección correcta en las horas más oscuras de mi trabajo. Sin él, esta tesis no hubiera sido posible. También guardo un lugar muy importante para Alejandro Alonso, quién me encontró un lugar en el grupo y, desde el comienzo y a lo largo de este tiempo, y muy a pesar de mi cabeza dura, ha logrado enseñarme algo de lo tanto que sabe, lo que para mi ha sido mucho. No me puedo olvidar de los demás profesores, Juan Zamorano y Juan Antonio de la Puente, que han estado siempre ahí para lo que necesitase durante todo este tiempo. Todos ellos son, además de mis maestros, mis amigos. En mi trabajo en todo este tiempo me he sentido como en casa, y para ello ha sido fundamental, al igual que los anteriormente mencionados, la presencia de excelentes personas y compañeros de grupo como Javier Fernández Briones, Emilio Salazar, Daniel Tejera, José Pulido, Santiago Urueña, Daniel Berjón, y todos aquellos en algún momento han formado parte del él. A todos ellos, muchas gracias por estos años compartidos. No puedo olvidarme de Angelines, la secretaria del departamento. Sin ella la innumerables barreras burocráticas hubieran sido insalvables!. A tí, Angelines, muchas gracias. Un recuerdo especial lo tengo para mi familia de acogida en España: el Club de Rugby Tres Cantos, y cada uno de los que en él han compartido conmigo tantos buenos momentos. De allí, como de mi trabajo, han surgido excelentes amistades, que perdurarán en el tiempo. Por último, y no por ello menos importante, agradezco a mi familia. No solo por permitirme estar aquí (en el mundo!), sino por haber sido mi apoyo constante y una fuente inagotable de cariño durante toda mi vida. Con ellos, agradezco en especial a Lorena, mi compañera de ruta, a quien le toca soportarme todos los días, y sin la cual este camino hubiera sido intolerable. A ella y a su familia, que ha sido como la mía propia, los llevo en el corazón. A todos aquellos a los que aquí menciono, y a aquellos a los que no menciono, pero que no olvido, gracias... totales!1. 1Parafraseando a Gustavo Cerati. iii