Roles for Maintenance and Evolution of SOA-Based Systems



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

Getting Started with Service- Oriented Architecture (SOA) Terminology

SOACertifiedProfessional.Braindumps.S90-03A.v by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture

Service Oriented Architecture

A Survey of Quality Assurance Frameworks for Service Oriented Systems

Service-Oriented Architectures

Introduction to Service Oriented Architectures (SOA)

ESB as a SOA mediator: Minimizing Communications Complexity

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

SOA for Healthcare: Promises and Pitfalls

Introduction to Service-Oriented Architecture for Business Analysts

Six Strategies for Building High Performance SOA Applications

Service-Oriented Computing: Service Foundations

Service Oriented Architecture 1 COMPILED BY BJ

SERVICE ORIENTED ARCHITECTURE

How service-oriented architecture (SOA) impacts your IT infrastructure

HP SOA Systinet software

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

Service Oriented Architectures in the Delivery of Capability

JOURNAL OF OBJECT TECHNOLOGY

Service Governance and Virtualization For SOA

David Pilling Director of Applications and Development

Service Oriented Architecture (SOA) An Introduction

Assurance in Service-Oriented Environments

A Service Oriented Security Reference Architecture

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

A Quality of Service Broker Based Process Model for Dynamic Web Service Composition

Federal Enterprise Architecture and Service-Oriented Architecture

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

What You Need to Know About Transitioning to SOA

Oracle SOA Reference Architecture

Business Process Management Enabled by SOA

2.1. The Notion of Customer Relationship Management (CRM)

Definition of SOA. Capgemini University Technology Services School Capgemini - All rights reserved November 2006 SOA for Software Architects/ 2

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

Using ESB and BPEL for evolving healthcare systems towards SOA

SOA REFERENCE ARCHITECTURE: SERVICE ORIENTED ARCHITECTURE

IMPLEMENTATION OF SERVICE ORIENTED ARCHITECTURE USING ITIL BEST PRACTICES

Managing the Services Lifecycle SOA & BPM

Trends in Information Management (TRIM) ISSN: (1), pp

Platform Autonomous Custom Scalable Service using Service Oriented Cloud Computing Architecture

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

Repurpose, Compose, Profit Next Generation SOA Infrastructure

A standards-based approach to application integration

Test Patterns: A New Concept for Testing

Data Mining Governance for Service Oriented Architecture

Business Integration Architecture for Next generation OSS (NGOSS)

Fulfillment Request Management (The approach)

A Service-oriented Architecture for Business Intelligence

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

Monitoring of Business Processes in the EGI

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

Web Services Software Architecture

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

BEA BPM an integrated solution for business processes modelling. Frederik Frederiksen Principal PreSales Consultant BEA Systems

Service-Oriented Architecture and Software Engineering

Service Oriented Architecture Case: IBM SOA Reference Architecture

Reengineering Open Source CMS using Service-Orientation: The Case of Joomla

How to bridge the gap between business, IT and networks

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

Issues in Implementing Service Oriented Architectures

Enterprise Application Designs In Relation to ERP and SOA

Future Internet Architecture

E-Business Suite Oracle SOA Suite Integration Options

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

Global Trends: Unified SOA Performance Management Matters

Prerequisites for Successful SOA Adoption

SOA and API Management

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

Trends in Software Intensive Systems Development JACEK SZYMANSKI INFORMATION SYSTEMS CONSULTANCY

CSCI 5828 Spring 2010 Foundations of Software Engineering. - Arpit Sud

The Enterprise Service Bus: Making Service-Oriented Architecture Real

Impact of Service Oriented Architecture on ERP Implementations in Technical Education

Corresponding Author

Introduction to SOA governance and service lifecycle management.

Requirement Engineering in Service-Oriented Architecture

SOA Enabled Workflow Modernization

Service Oriented Architecture and Its Advantages

Whitepaper. Technology that Delivers with SOA-Based Process-Centric Design. Hexaware Technologies. All rights reserved.

Scientific versus Business Workflows

Service Computing: Basics Monica Scannapieco

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

An Esri White Paper June 2007 Developing and Deploying an Integrated Geoenabled SOA Business Solution: A Case Study

A Step-by-Step Guide to Defining Your Cloud Services Catalog

Implementation of Information Integration Platform in Chinese Tobacco Industry Enterprise Based on SOA. Hong-lv Wang, Yong Cen

From SOA to MOA: Transitioning from Service to Mobile Oriented Architectures

Service Mediation. The Role of an Enterprise Service Bus in an SOA

Three Stages for SOA and Service Governance

Service-oriented architecture in e-commerce applications

Toward an Architectural Model to Facilitate Adopting E- Government Business Model

Chapter 15. Web services development lifecycle

Semantic Transformation of Web Services

SOA, Cloud Computing & Semantic Web Technology: Understanding How They Can Work Together. Thomas Erl, Arcitura Education Inc. & SOA Systems Inc.

41. How Should Services Be Identified or Specified to Maximize Reuse?

SOA : To Do or Not to Do

Unlocking the Power of SOA with Business Process Modeling

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

SOA and Cloud in practice - An Example Case Study

Presentation Outline. Key Business Imperatives Service Oriented Architecture Defined Oracle SOA Platform SOA Maturity/Adoption Model Demo Q&A

Integration Using the MultiSpeak Specification

Transcription:

Roles for Maintenance and Evolution of SOA-Based Systems Mira Kajko-Mattsson Stockholm University and Royal Institute of Technology Sweden mira@dsv.su.se Grace A. Lewis, Dennis B. Smith Software Engineering Institute Pittsburgh, PA, USA {glewis, dbs}@sei.cmu.edu Abstract Development, evolution and maintenance of SOAbased systems demands rethinking of the traditional system evolution and maintenance roles. The key objective of this paper is to present preliminary ideas on the roles required for maintenance and evolution of SOA-based systems and to suggest areas of needed research. 1. Introduction The recent trend toward developing systems based on a service-oriented architecture (SOA) approach has a set of implications for system development and maintenance processes. While roles that are derived from the standard maintenance process offer a starting point, a number of tasks in SOA environments are different from those of traditional maintenance tasks and therefore require a different set of roles [Haines07, Kajko06, Lee06]. This paper identifies the implications of SOA-based systems for the maintenance and evolution process, with a specific focus on roles. It outlines current knowledge and identifies a set of research challenges. Section 2 outlines the perspectives and challenges of developing and maintaining SOA-based systems. Section 3 develops a preliminary outline of the types of roles required for SOA-based systems based on this framework. Section 4 concludes with research challenges for identifying and validating roles in the maintenance and evolution of SOA-based systems. 2. Building Blocks of SOA-Based Systems An SOA-based system consists of 1) services, 2) applications that discover and use services, 3) and an SOA infrastructure that connects applications to services, as shown at a very high level in Figure 1. In this context, the SOA Infrastructure provides a standard communication mechanism between applications and services. Each application invokes the services in the same way. Each service ideally represents a business task and provides an interface that is invoked through a data format and protocol that is understood by all the potential clients of that service. In this setting, services could be globally distributed across organizations and reconfigured into new business processes as organizations evolve [Lewis06].

Application X Application Y Application Z SOA Infrastructure Security Development Tools Discovery Internet Internet A B C D Enterprise Information System Legacy or New Code External System Internal Users Fig. 1. Components of an SOA-Based System Infrastructure developers focus on providing a stable infrastructure that includes standards, infrastructure services, and development tools. The infrastructure supports the protocol and data formats of the service's current and potential clients. Tasks for infrastructure developers include: Selecting standards and products to implement as part of the infrastructure Developing a set of infrastructure services such as discovery, communication, and security Identifying and developing binding mechanisms to satisfy the largest set of potential service users Providing tools for application and service developers Documenting and supporting the infrastructure Application developers focus on the discovery, composition and invocation of services, either statically at design time or dynamically at runtime. Key tasks for application developers are: Understanding SOA infrastructure Discovering appropriate services to be incorporated into applications Retrieving and understanding service description documentation Invoking identified services in applications, including any data conversions, error handling and availability handling Testing services for correctness in the context of the application being developed providers focus on the description and granularity of services, so that applications can easily locate and use them with acceptable Quality of (QoS). Tasks include: Understanding requirements of potential service users Understanding SOA infrastructure Developing code that receives the service request, translates it into calls into new or existing systems, and produces a response Describing and publishing the service Developing service initialization code and operational procedures With the increasing popularity of software as a service, it is becoming common for each of these components to be developed by different organizations. The tasks and risks associated with the development of each will largely depend on the distribution of the development effort across multiple organizations. If the three types of components are developed within the same organization, the challenges are less. However, if the development is distributed across multiple organizations, decisions made locally by any one of these development groups can have an effect on the

other groups. This distribution development also has an impact on the roles that are defined for maintenance and evolution. 3. Roles Required for SOA-Based Systems Maintenance and Evolution Given the characteristics of SOA-based systems, an initial set of roles are proposed for evolving, maintaining and supporting these systems. The roles are categorized into seven groups as outlined below and are presented in Figure 2. Fig. 2. SOA-Based System Maintenance Roles

Role Group 1 SOA Front-End Support: This group is responsible for supporting the SOA-based applications that are in direct contact with customers. Individuals in these roles need to be acquainted with the business processes and their underlying structure, so that they can support the customers in their daily operation. Specific roles include Support Personnel: Assists customers in the daily operation of business processes, accepts reports on problems or changes in business processes, and escalates and monitors problems/change reports to the Business Process Support Personnel role, if necessary. Business Process Support Personnel: Confirms reported problems in business processes, identifies workarounds, if any, and escalates and monitors problems/change requests to the SOA Back-End Support role group after having confirmed the problem. Role Group 2 SOA Back-End Support: This group is responsible for creating, evolving, maintaining and reusing services and business processes. Individuals in this role have deep knowledge of business processes and services that support them. Specific roles include those of Business Process Assistant: Performs initial analysis of problems and change requests coming from the SOA Front-End Support role group and communicates with other teams involved in change implementation. Business Process Manager: Manages Business Process Teams, analyzes problem reports and change requests to business processes, validates required changes with the SOA Design role group, and assigns maintenance and evolution activities. Developer: Performs service evolution and maintenance activities as assigned by the Business Process Manager. Role Group 3 Traditional Back-End Support: This group is responsible for creating, evolving and maintaining the interfaces to the traditional systems that provide the functionality required by the services. The primary role in this group is that of Interface Developer who is responsible for designing the interface to the organization s traditional systems, implementing the interface, and testing the interface. Other members of this group are those in traditional support roles such as Release Manager. The effect on these traditional roles will not be the tasks that they perform, but rather the frequency with which they are performed. For the Release Manager, the projects will be shorter and therefore the releases more frequent. Role Group 4 SOA Management: This group is responsible for the governance of SOA-based systems and ensuring that business needs are met on a strategic, tactical and operational level. This group has a crossenterprise responsibility and authority to prioritize business processes. Individuals in these roles need to possess deep technical expertise as well as an understanding of the role of SOA within the context of the business. Specific roles include SOA Project Manager: Defines, staffs, implements, and monitors SOA project plans. Staffing the project requires selecting individuals from the different role groups. SOA Governance Manager: Creates and evolves policies and procedures for design-time and runtime governance. SOA Business Manager: Creates and evolves the organization s SOA strategy to support business needs. SOA Process Manager: Creates and evolves the organization s development, evolution and maintenance processes. SOA Measurement Manager: Defines the overall development, evolution and maintenance process measurement process model, monitors and control the measurement process, and provides feedback to the rest of the organization. SOA Security Manager: Creates, monitors and controls security policies and strategic plans for all SOA-based systems. SOA Technology Scout: Provides technical direction for SOA implementation, promotes effective adoption of technologies, and assesses technology trends to determine appropriateness for use within the organization. This role also interacts with the SOA Infrastructure provider (usually IT) to make sure that the infrastructure meets the business and technical needs. Role Group 5 SOA Business Process Design: This group is responsible for the modeling and architecture of business processes. Specific roles include: Business Process Architect: Designs the business process architecture and its components, makes decisions on major architectural changes to business processes, and analyzes business requirements and translates them to architectural components. In large organizations managing complex business processes, it might be necessary to split this group into global and local architects.

Business Process Orchestrator: Models and orchestrates business processes by assembling services (lower level business processes) [Pasley06]. Designer: Models services (data, function, states, interfaces, etc.) and assists the Business Process Orchestrator role in modeling and orchestrating business processes. Role Group 6 SOA Quality Assurance: This group is responsible for integrating the business processes and assuring their interoperability and quality. Specific roles include: Business Process Integrator: Integrates business process components and assures their interoperability. Business Process Tester: Tests the overall business processes and validates them against their functional and non-functional requirements. Role Group 7 Business Process Project Members: As within traditional evolution and maintenance, minor changes of business processes and their components are conducted in teams. Major changes, however, are conducted in projects. For this reason, there is the need for the following roles: SOA Project Manager: Responsible for managing projects, defining project plans, implementing the plans, and monitoring the project. SOA Project Member: This role may be composed of a group of different roles coming from various Business Process Teams, SOA Designers, SOA Quality Assurance and other role groups. 4. Conclusions The proposed roles represent an initial framework for a discussion of managing the maintenance and evolution of SOA-based systems. Preliminary discussion can lead to the identification of a set of short- and long-term research issues, including: What are the appropriate roles for evolving and maintaining SOA-based applications? How different are these from traditional maintenance roles? How can current methods for developing, evolving and maintaining SOA-based systems be changed to make them compatible with the roles [Riemenschneider02]? What additional skills are needed if these roles are fulfilled by individuals in traditional maintenance roles? How do these roles change in small versus large organizations? How do these roles change in a distributed environment? How do these roles change across enterprises? Are there differences between government and industry organizations? Are there cross cultural differences? How can these initial distinctions be verified? What types of metrics are appropriate? References [Haines07] Haines, M. N. The Impact of - Oriented Application Development on Software Development Methodology. Proceedings of the 40th Annual Hawaii International Conference on System Sciences, IEEE 2007, pp. 172b-172b. [Kajko06] Kajko-Mattsson M. and Tepczynski M. SERVIAM Maintenance Framework. Proceedings of the IEEE International 9th World Multi-Conference on Hawaii, IEEE Computer Society Press: Los Alamitos, CA, 2006. [Lee06] Lee S.P., Chan L.P., Lee E.W. Web s Implementation Methodology for SOA Application. Proceedings of the International Conference on Industrial Informatics, IEEE, 2006, pp. 335 340. [Lewis06] Lewis, Grace and Smith, Dennis. Three Perspectives Required of -Oriented Architectures. news@sei, Issue 2006 1, January 2006. [Pasley05] Pasley J. How BPEL and SOA are Changing Web Development, Internet Computing, IEEE, 2005, Vol. 9, Issue 3, pp. 60-67. [Riemenschneider02] Riemenschneider, C.K. Hardgrave, B.C. Davis, F.D. Explaining Software Developer Acceptance of Methodologies: A Comparison of Five Theoretical Models. Transactions on Software Engineering, IEEE, 2002, Vol. 28, Issue 12, pp. 1135 1145.