Dagstuhl seminar on Service Oriented Computing. Service design and development. Group report by Barbara Pernici, Politecnico di Milano



Similar documents
Service-Oriented Architectures

Introduction to Service Oriented Architectures (SOA)

Business-Driven Software Engineering Lecture 3 Foundations of Processes

ESB as a SOA mediator: Minimizing Communications Complexity

Service Oriented Architecture

Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc.

Service-oriented architecture in e-commerce applications

Di 6.1a. Warum naive SOA scheitert Ein Erfahrungsbericht. Adam Bien. January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich

Service Oriented Architecture (SOA) An Introduction

Service Oriented Architecture 1 COMPILED BY BJ

The Service Revolution software engineering without programming languages

Amit Sheth & Ajith Ranabahu, Presented by Mohammad Hossein Danesh

A Comparison of SOA Methodologies Analysis & Design Phases

Introduction to Service-Oriented Architecture for Business Analysts

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

Federal Enterprise Architecture and Service-Oriented Architecture

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Chapter 15. Web services development lifecycle

Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles

Six Strategies for Building High Performance SOA Applications

2 (18) - SOFTWARE ARCHITECTURE Service Oriented Architecture - Sven Arne Andreasson - Computer Science and Engineering.

Semantically-enabled Service Oriented Architecture : Concepts, Technology and Application

Service-Oriented Architecture and Software Engineering

Prerequisites for Successful SOA Adoption

10 Years of Hype Cycles - Do We Forget Knowledge?

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Getting Started with Service- Oriented Architecture (SOA) Terminology

QoS in Multichannel IS: the MAIS approach

Model Driven and Service Oriented Enterprise Integration---The Method, Framework and Platform

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Policy Driven Practices for SOA

Service Computing: Basics Monica Scannapieco

Figure 1: Illustration of service management conceptual framework

HP SOA Systinet software

The case for service oriented architecture in realising trusted, interoperable, pan-european egovernment services.

SOA: The missing link between Enterprise Architecture and Solution Architecture

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

The Role of Service Granularity in A Successful SOA Realization A Case Study

An Oracle White Paper October Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus

Service-Oriented Computing and Service-Oriented Architecture

Toward Next Generation Distributed Business Information Systems: Five Inherent Capabilities of Service-Oriented Computing

A standards-based approach to application integration

Challenges and Opportunities for formal specifications in Service Oriented Architectures

What SOA can do for Software Dependability. Karl M. Göschka Vienna University of Technology

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

Lesson 18 Web Services and. Service Oriented Architectures

Enterprise Application Integration (EAI) Architectures, Technologies, and Best Practices

Semantic Business Process Management Lectuer 1 - Introduction

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

SOA Myth or Reality??

Business Intelligence and Service Oriented Architectures. An Oracle White Paper May 2007

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Applying SOA to OSS. for Telecommunications. IBM Software Group

Service-oriented Development of Federated ERP Systems

JOURNAL OF OBJECT TECHNOLOGY

Developing SOA solutions using IBM SOA Foundation

SOA REFERENCE ARCHITECTURE

ITU-T Kaleidoscope Conference Innovations in NGN. Managing NGN using the SOA Philosophy. Y. Fun Hu University of Bradford

Agile Modeling and Design of Service-Oriented Component Architecture

How To Build A Financial Messaging And Enterprise Service Bus (Esb)

SOA Enabled Workflow Modernization

MDE Adoption in Industry: Challenges and Success Criteria

Oracle SOA Suite: The Evaluation from 10g to 11g

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Comparative Analysis of SOA and Cloud Computing Architectures using Fact Based Modeling

Service Oriented Architecture

ANALYZING THE USAGE OF OPEN SOURCE PRODUCTS FOR SOA. Sajid Ali. A thesis submitted in partial fulfillment of the requirements for the degree of

Case Study: Adoption of SOA at the IRS

A Modeling Language for Activity-Oriented Composition of Service-Oriented Software Systems

Table of Contents. 1 Executive Summary SOA Overview Technology Processes and Governance... 8

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

Roles for Maintenance and Evolution of SOA-Based Systems

Sadržaj seminara: SOA Architecture. - SOA Business Challenges s: Billion Dollar Lock-In. - Integration Tools. - Point-to-Point Approach

Independent Insight for Service Oriented Practice. An SOA Roadmap. John C. Butler Chief Architect. A CBDI Partner Company.

E-Business Suite Oracle SOA Suite Integration Options

The Enterprise Service Bus: Making Service-Oriented Architecture Real

California Enterprise Architecture Framework. Service-Oriented Architecture (SOA) Reference Architecture (RA)

Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery

Service Oriented Architecture Design and Development Method. Name: René van Donselaar. Universiteit Utrecht

EERP: End-to-End Resource Planning

Enterprise Application Designs In Relation to ERP and SOA

Oracle SOA Reference Architecture

SOA and Cloud in practice - An Example Case Study

Guiding Principles for Modeling and Designing Reusable Services

Myths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.

SOA for Healthcare: Promises and Pitfalls

Application Integration Patterns Based on Open Resource-Based Integrated Process Platform

Reusing Existing * Java EE Applications from Oracle SOA Suite

Transcription:

Dagstuhl seminar on Service Oriented Computing Service design and development Group report by Barbara Pernici, Politecnico di Milano Abstract This paper reports on the discussions on design and development which were held during the Dagstuhl seminar on Service Oriented Computing held at Dagstuhl in November 2005. The group discussed design and development considering modeling and methodological issues, different perspectives on the development life cycle, and set up a research agenda on these issues. 1. Introduction When design and development is discussed, and important aspect is to clarified which of the several possible design goals, and in particular:_ Integration (EAI): in this case the goal is to integrate different information systems, to create new cooperative applications. In this case it is important to define the granularity at which s are considered, and how existing systems are wrapped to offer their functionalities in a cooperative information system through a -oriented approach (Papazoglou 2006). Redesign (e.g., mobile, multi-channel): the goal is to modify existing functionalities in order to offer them in a variable environment setting. For instance, allowing the client to interact with the system from a variety of different devices and from different places. To provide the requested functionality, redesign has to take into consideration quality of parameters and their variability, dynamic selection and binding of s. New added-value s: new s are created as a composition of existing s. Composition allows reusing s in several contexts and for different applications. Composition may be performed following a fixed process schema, or designing the composition structure dynamically. As shown Figure 1, the provisioning infrastructure considers s in different layers. Starting from existing legacy systems, wrapped as components and provided through a infrastructure, business level s can be offered, combined in business processes and distributed. The issue of differences between component-based and -based approaches was discussed. A is a functionality that a component offers, while a component is a software system which can be deployed ( is already deployed, component is like a package). A can also be seen as an access point to a component. The issue of Dagstuhl Seminar Proceedings 05462 Service Oriented Computing (SOC) http://drops.dagstuhl.de/opus/volltexte/2006/525

composition has been studied also within component literature, and in particular with respect to quality of aspects, such as for instance availability. Another distinction which was underlined is that a is seen as a business thing, while a component as a software thing (e.g., EJBs). Business () Domain Purchasin g Dist ribu tio n Order Management Invento ry Business Processes Business Services Infrastructure Services Component- based realizations Operational CR Systems M ERP Database s Packaged Applications s Legacy Appli cation s Figure 1 - Service provisioning and legacy systems (Papazoglou 2006)

2. Design perspectives 2.1 Client and provider perspectives The discussion in the introduction presents s mainly from the point of view of the providers, which are offering their information systems functionality through a oriented infrastructure. However, the group agreed during the discussions that in the design process the perspective of the client of the is an essential element to correctly design the, independently on how it is provided (new, wrapping of an existing application or composed ). In fact, only the client can design the business process for his purpose, with his own requirements. Some authors have proposed a goal driven approach to elicitate requirements for s to be provided to clients and to design their functionality and deployment (Kaabi et al. 2004) Application logic New Existing e Ser vice Provider #1 Simple applicatio n Service requester use Application logic web proxy Application logic web usage interface e Serv ice wrap per orchestration specification Serv ice Existing application ation wrap per web content Existing e Existing application ation New Figure 2 - Providing s to clients (modified from Papazoglou 2006) Service Provider #2 Se rvice - Clientapplication Ena ble d Service pre- Provider #3 exis tin g applica tion Assembled (orchestrate d) application

A possible direction to build s for a wide community is to study requirements of reference clients or groups of clients, including current clients or future clients. Standardization and certification criteria can help developing s which may be used in different contexts, possibly with a customization of s for personalizing to a client, with limited costs and well defined functionality. Economic aspects have to considered to pursue this approach, to make provisioning possible in a competitive market and the possibility of providing add-ons with respect to standardized s possible, to differentiate products of different producers. 3. Models The need for models with a rich set of elements as a basis for the design process emerged as a clear prerequisite for design methodologies. Models should include a variety of aspects, and in particular: business s Composition and coordination Interaction between clients and providers How to model a and its QoS properties Transactional properties Self description (meta-data) For each model element a modeling language should be defined. The discussion focused on existing background in the area, and which are the languages and models which can be a basis for modeling web s, including for instance the WS-stack, UML2, BPMN, EPC, Aris, and so on. No clear and unique background emerged from the discussion. Among the aspects to be considered, the representation of interaction among organizations was discussed. Boundaries between organization are relevant in the ability for a client to state his requirements, either with request languages or with a goal oriented approach, specifying his goals, and in the possibility of modeling processes across organizational boundaries. 3. Methodologies 3.1 Starting points Clear starting points emerging from the discussion, and represented in Section 1, are the representation both from the requestor and the provider points of view, including both functional and non-functional aspects. The discussion was centered on the specific point of how a public view should be. The common black box approach presents some limitations which are difficult to overcome, and this consideration paves the way to a grey box approach, although a black box view would be preferrable since it is simpler. A grey box view becomes necessary

when s have an observable state, on which external protocols defining possible conversations can be defined, similarly to what is done in the hardware design area. 3.2 Strategies Different aspects related to design strategies where examined. A meet-in-the-middle approach to design emerged as preferrable. The granularity of the has to be defined, in particular when considering legacy systems specifying s using a fine granularity can be an excruciating task. A possible solution to some design problems has been proposed using reference models and ontologies. Horizontal and vertical integration (process integration or within same company) where discussed. One of the problems considered is where to start from in the design process, and the question arises if the analysis should be limited to e- design. An approach starting from business s, looking also at existing processes) seems appropriate. Part of the discussion debated at length on how domain-specific approaches should be followed, to the extreme that all development should be basically domain-specific. This issue also emerged when discussing some of the phases of the development life cycle illustrated below. A need for a governance strategy was indicated. 3.3 Life cycles A number of life cycles were discussed and proposed. They originate from the different points of view discussed above, and in particular distinguishing between the provider s view, when the goal of a provider is to develop new s, and the requestor s and provider s views, in the case the provider has to provide a dynamically adapting the characteristics to a client request. 3.3.1 Provider s view: developing and providing a new The main issue in this case is how to transform a system into a. The existence of legacy systems and the definition of the granularity of the s are particularly relevant here. Vice versa, a different approach is needed when designing new s from platformindependent s into runtime artifacts, going to abstract to concrete s. An important issue related to development is the ability to manage changes.

Planning Evaluation for change -> maintenance Execution Monitoring support Deployment Analysis Logical Design Design Conformance validation Physical design Construction Testing Provisioning Service management + governance Change management Figure 3 - Development of s Figure 3 include the following: The phases illustrated in Analysis: Proposed alternatives are to define goals to guide the composition of existing s and to base design (or redesign) on QoS requirements. The granularity of s should be defined in this phase, adopting criteria such as cohesion and coupling. Logical design: it should define what the s are (the focus here is mainly on micro-s rather than complex business s) and in particular: interface composition of s selection of components coordination design (and possibly distributed orchestration) interaction paradigms adaptivity exceptions and self-healing WS Domain-specific editors for composition, for instance to generate BPEL code have been proposed. The issue of domain-specific development was debated and strongly supported during the meeting by some of the participants of the group. Physical design: there was some debate on whether physical design should be an issue specific of design. Relevant topics are optimization, aimed at improving performance, and selective reuse. Deployment: for the deployment phase deployment criteria should be specified during the design of s.

Monitoring: the issue here is to design the right level of information for monitoring, providing selective visibility of QoS for a given (depending on consumer, context, costs involved,.) Testing: testing should be performed both on functional and non-functional characteristics of s. A contract with the clients should be provided as a basis. Atomic s (i.e. s providing a single function) should be tested. A language for specifying testing should be designed. 3.3.2 Requestor s view A requestor s view focuses on the selection and negotiation of s before invocation, according to the SOA approach. After discovery and selection, either the can be invoked and therefore integrated in the application invoking it, or some adaptation or customization performed either on the requestor s or on the provider s side. Planning Request specification discovery selection negotiation Execution Monitoring support Integration (advanced invocation) Testing Adaptation/ customization Testing Figure 4 - Service request from the requestor point of view 3.3.3 Provisioning for a given request Symmetrically to the perspective given above, providers may adapt a for a given request. In this case, as shown in Figure 5, the main relevant phases are negotiation and adaptation, followed by the other phases described above for the development of new s.

publication Answer request negotiation Execution Monitoring adaptation (maintenance) (Re) Deployment Provisioning Adaptation/customization Testing Figure 5 - Service request from the provider point of view 4. Research issues A number of open research issues where discussed during the seminar concerning the models and requirements for development. Research on models should focus on the following issues: Policies (QoS), behavior, Service design patterns (WF, interaction, ) Business rules Relationships among models Service hierarchies Self-description (also for data; visibility of properties for grey box approaches) Historical information Protocols and states traceability among models Negotiation and contracts representation (differences with agents area) Exceptions and recovery The following general requirements need investigation: Adaptive s (design for), autonomic Context awareness Hierarchical approaches, multiple s until final requestor s goal is reached (s in the middle) Data heterogeneity (also semantic) Traceability Management of life cycle

Rich request languages Reference models: repositories, criteria for conformance Requirements for design environments have also been discussed: Support for integrating legacy systems Integration Transformation into Process modeling (integration of processes vertical and horizontal) Change management support Testing Deployment criteria (including adaptivity features, monitoring support) Migration of s 5. References B. Pernici (ed.) Mobile Information Systems. Infrastructure and Design for Flexibility and Adaptivity, Springer, 2006 MAIS web site: http://www.mais-project.it M. Papazoglou, W.-J. van den Heuvel, Service-Oriented Design and Development Methodology, Int. J. on Web Engineering and technology, 2006 D. Florian, B. Pernici, Insights into Web Service Orchestration and Choreography," accepted for the special issue of International Journal of E- business Research (IJEBR) on Web Services-Based E-Business Systems, Jan. 2006 C. Francalanci, S. Grega, P. Losi, A. Maurino, S. Modafferi, B. Pernici, C. Raibulet, F. Tisato. The MAIS approach to web design. EMMSAD 2005 Workshop Proceedings, Porto, June 2005. Invited for publication on Adavanced Topics in Database Research - Vol. 5, Idea Group Publ. D. Ardagna, B. Pernici. Global and Local QoS Guarantee in Web Service Selection. Workshop on Business Processes and Services, Sept. 2005. S. Modafferi, B. Benatallah, F. Casati, B. Pernici. A Methodology For Designing And Managing Context-Aware Workflows. In Proceedings of IFIP International Working Conference MOBIS, Dec. 2005. R.S. Kaabi, C. Souveyet, C. Rolland, Eliciting composition in a goal driven manner, ICSOC, 2004