Composing Non-functional Concerns in Web Services

Support for non-functional concerns (NFC) is essential for the success and adoption of web services. This support encompasses two aspects: the specification of NFCs and their realization. However, state-of-the-art works offer only limited support for these aspects. This is especially true for the composition of multiple non-functional concerns with one web service, which is a highly complex task. It is complex because specific knowledge from different domains is required, as well as an understanding of the interdependencies between non-orthogonal NFCs. In this paper, we present an approach and a toolset for the specification and realization of the composition of multiple NFCs in web services. We also present a well-defined process involving different roles and we introduce graphical modeling notations for specifying non-functional requirements, actions realizing the requirements, action compositions and the mapping of actions to web services. These specification models are used for the generation of code that realizes the NFCs.

[1]  Eric Wohlstadter,et al.  A Service-oriented Middleware for Runtime Web Services Interoperability , 2006, 2006 IEEE International Conference on Web Services (ICWS'06).

[2]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[3]  Andreas Zeller,et al.  Program Analysis: A Hierarchy , 2003 .

[4]  Mira Mezini,et al.  Aspect-Oriented Business Process Modeling with AO4BPMN , 2010, ECMFA.

[5]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[6]  Steffen Heinzl,et al.  Using XML schema to improve writing, validation, and structure of WS-policies , 2010, SAC '10.

[7]  Boxes : black , white , grey and glass box views of web-services , .

[8]  George R. Ribeiro-Justo,et al.  Process/sup NFL/: a language for describing non-functional properties , 2002, Proceedings of the 35th Annual Hawaii International Conference on System Sciences.

[9]  Mira Mezini,et al.  Reliable, Secure, and Transacted Web Service Compositions with AO4BPEL , 2006, 2006 European Conference on Web Services (ECOWS'06).

[10]  Jan Mendling,et al.  Transformation Strategies between Block-Oriented and Graph-Oriented Process Modelling Languages , 2008 .

[11]  Lodewijk Bergmans,et al.  Composing Aspects at Shared Join Points , 2005, NODe/GSEM.

[12]  Donald F. Ferguson,et al.  Web Services Addressing (WS- Addressing) , 2004 .

[13]  S. Chiba,et al.  Remote pointcut: a language construct for distributed AOP , 2004, AOSD '04.

[14]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[15]  Valérie Monfort,et al.  Applying AOP concepts to increase Web services flexibility , 2005, International Conference on Next Generation Web Services Practices (NWeSP'05).

[16]  Lodewijk Bergmans,et al.  Static and Dynamic Detection of Behavioral Conflicts Between Aspects , 2007, RV.

[17]  Mehmet Aksit,et al.  Reasoning About Semantic Conflicts Between Aspects , 2005 .

[18]  Sanjiva Weerawarana,et al.  Colombo: Lightweight middleware for service-oriented computing , 2005, IBM Syst. J..

[19]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[20]  Matthias Galster,et al.  A Taxonomy for Identifying and Specifying Non-Functional Requirements in Service-Oriented Development , 2008, 2008 IEEE Congress on Services - Part I.

[21]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[22]  Wil M. P. van der Aalst,et al.  Inheritance of workflows: an approach to tackling problems related to change , 2002 .

[23]  Wim Vanderperren,et al.  Unraveling crosscutting concerns in web services middleware , 2006, IEEE Software.

[24]  Parastoo Mohagheghi,et al.  An Approach for Empirical Evaluation of Model-Driven Engineering in Multiple Dimensions , 2010 .

[25]  Maria Andréia F. Rodrigues,et al.  A Loosely Coupled Aspect Language for SOA Applications , 2008, Int. J. Softw. Eng. Knowl. Eng..

[26]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[27]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[28]  Sam Supakkul,et al.  A UML profile for goal-oriented and use case-driven representation of NFRs and FRs , 2005, Third ACIS Int'l Conference on Software Engineering Research, Management and Applications (SERA'05).

[29]  Marta Indulska,et al.  Measuring Method Complexity : The Case of the Business Process Modeling Notation , 2009 .

[30]  Ana Moreira,et al.  An XML-Based Language for Specification and Composition of Aspectual Concerns , 2006, ICEIS.

[31]  Stéphanie Chollet,et al.  An Extensible Abstract Service Orchestration Framework , 2009, 2009 IEEE International Conference on Web Services.

[32]  Anis Charfi,et al.  QoS-Aware Web Service Compositions Using Non-intrusive Policy Attachment to BPEL , 2007, ICSOC.

[33]  R. Yin The abridged version of case study research: Design and method. , 1998 .

[34]  Slim Kallel,et al.  Specifying and Monitoring Temporal Properties in Web Services Compositions , 2009, 2009 Seventh IEEE European Conference on Web Services.

[35]  Mario E. Sánchez,et al.  A flexible architecture to build workflows using aspect-oriented concepts , 2008, AOM@AOSD.

[36]  Mira Mezini,et al.  Non-functional concerns in web services: requirements and state of the art analysis , 2010, iiWAS.

[37]  Martin Glinz,et al.  Rethinking the Notion of Non-Functional Requirements , 2005 .

[38]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[39]  Mike P. Papazoglou,et al.  Service-oriented computing: concepts, characteristics and directions , 2003, Proceedings of the Fourth International Conference on Web Information Systems Engineering, 2003. WISE 2003..

[40]  Wim Vanderperren,et al.  Adaptive programming in JAsCo , 2005, AOSD '05.

[41]  Shmuel Katz Aspect Categories and Classes of Temporal Properties , 2006, LNCS Trans. Aspect Oriented Softw. Dev..

[42]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[43]  Philippe Massonet,et al.  GRAIL/KAOS: An Environment for Goal-Driven Requirements Engineering , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[44]  Ondrej Lhoták,et al.  Adding trace matching with free variables to AspectJ , 2005, OOPSLA '05.

[45]  Alistair N. Coles,et al.  The SmartFrog configuration management framework , 2009, OPSR.

[46]  Julio Cesar Sampaio do Prado Leite,et al.  Using UML to reflect non-functional requirements , 2001, CASCON.

[47]  Lodewijk Bergmans,et al.  Composing crosscutting concerns using composition filters , 2001, CACM.

[48]  Mira Mezini,et al.  Composing Non-functional Concerns in Composite Web Services , 2011, 2011 IEEE International Conference on Web Services.

[49]  Uwe Zdun Tailorable language for behavioral composition and configuration of software components , 2006, Comput. Lang. Syst. Struct..

[50]  Eric Yu,et al.  Conceptual Modeling: Foundations and Applications , 2009 .

[51]  Abdelkarim Erradi,et al.  AdaptiveBPEL: a Policy-Driven Middleware for Flexible Web Services Composition , 2005 .

[52]  Anthony Nadalin,et al.  Web Services Atomic Transaction (WS- AtomicTransaction) , 2003 .

[53]  Keng Siau,et al.  Evaluation techniques for systems analysis and design modelling methods – a review and comparative analysis , 2011, Inf. Syst. J..

[54]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[55]  Asir S Vedamuthu,et al.  Web Services Policy 1.5 - Framework , 2007 .

[56]  Wouter Joosen,et al.  Managing Concern Interactions in Middleware , 2007, DAIS.

[57]  Mira Mezini,et al.  AO4BPEL: An Aspect-oriented Extension to BPEL , 2007, World Wide Web.

[58]  Martin Henkel,et al.  Moving from Internal to External Services Using Aspects , 2006 .

[59]  Valérie Monfort,et al.  A concrete solution for web services adaptability using policies and aspects , 2004, ICSOC '04.

[60]  Dennis K. Peters,et al.  Design-level Detection of Interactions in Aspect-Oriented Systems , 2006 .

[61]  John C. Grundy,et al.  An architecture for developing aspect-oriented Web services , 2005, Third European Conference on Web Services (ECOWS'05).

[62]  Steven J. DeRose,et al.  XML Path Language (XPath) Version 1.0 , 1999 .

[63]  Guadalupe Ortiz,et al.  A Case Study on Integrating Extra-Functional Properties in Web Service Model-Driven Development , 2007, Second International Conference on Internet and Web Applications and Services (ICIW'07).

[64]  Hafiz Farooq Ahmad,et al.  Representing Shared Join Points with State Charts: A High Level Design Approach , 2008 .

[65]  Awais Rashid,et al.  Domain models are NOT aspect free , 2006, MoDELS'06.

[66]  Mira Mezini,et al.  A survey on non-functional concerns in web services , 2012, Int. J. Web Inf. Syst..

[67]  J. Aagedal,et al.  UML Pro?le for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms , 2004 .

[68]  Jun Li,et al.  Incorporating Security Requirements into Service Composition: From Modelling to Execution , 2009, ICSOC/ServiceWave.

[69]  C. Courbis,et al.  Towards aspect weaving applications , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[70]  Jan Jürjens,et al.  A Framework for Analyzing Composition of Security Aspects , 2006, MMOSS.

[71]  Donald F. Ferguson,et al.  Web Services Reliable Messaging Policy Assertion (WS-RM Policy) , 2005 .

[72]  Mehmet Aksit,et al.  Composing Software from Multiple Concerns: A Model and Composition Anomalies , 2000 .

[73]  Jean Jacques Moreau,et al.  SOAP Version 1. 2 Part 1: Messaging Framework , 2003 .

[74]  허진호 [參觀記] European Conference on Object Oriented Programming 참관기 , 1988 .

[75]  Shmuel Katz,et al.  Aspect Validation Using Model Checking , 2003, Verification: Theory and Practice.

[76]  Chris Sharp,et al.  SCA Policy Association Framework , 2006, ICSOC.

[77]  Jim Hugunin,et al.  Advice weaving in AspectJ , 2004, AOSD '04.

[78]  Norman May,et al.  Composing Services for Third-party Service Delivery , 2009, 2009 IEEE International Conference on Web Services.

[79]  Xavier Franch,et al.  Systematic formulation of non-functional characteristics of software , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

[80]  Wouter Joosen,et al.  Isolating Process-Level Concerns Using Padus , 2006, Business Process Management.

[81]  Laurian M. Chirica,et al.  The entity-relationship model: toward a unified view of data , 1975, SIGF.

[82]  Jonas Boner AspectWerkz - dynamic AOP for Java , 2004 .

[83]  James Coplien,et al.  Feature Interaction in Composed Systems , 2001, ECOOP Workshops.

[84]  Sjaak Brinkkemper,et al.  Complexity Metrics for Systems Development Methods and Techniques , 1996, Inf. Syst..

[85]  Ian Sommerville,et al.  Software Engineering (7th Edition) , 2004 .

[86]  Martin Glinz,et al.  On Non-Functional Requirements , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[87]  Daniel P. Friedman,et al.  Aspect-Oriented Programming is Quantification and Obliviousness , 2000 .

[88]  Matthias Zenger,et al.  PROGRAMMING LANGUAGE ABSTRACTIONS FOR EXTENSIBLE SOFTWARE COMPONENTS , 2004 .