SOA Performance Testing Challenges



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

Service Oriented Architecture (SOA) An Introduction

Guiding SOA Evolution through Governance From SOA 101 to Virtualization to Cloud Computing

Service Oriented Architecture

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

Test Automation for Embedded Devices

David Pilling Director of Applications and Development

Performance Testing: Scott Barber

Performance Testing Uncovered

Choose Wisely. Scott Barber

Applying SOA to OSS. for Telecommunications. IBM Software Group

Service Oriented Architecture 1 COMPILED BY BJ

Service Oriented Architectures

SOA Blueprints Concepts

Understanding Client/Server Computing

Service Oriented Architecture (SOA) Implementation Framework for Satellite Mission Control System Software Design

OPENIAM ACCESS MANAGER. Web Access Management made Easy

Service-Oriented Architectures

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

Oracle SOA Reference Architecture

SOA and BPO SOA orchestration with flow. Jason Huggins Subject Matter Expert - Uniface

Service Virtualization: Managing Change in a Service-Oriented Architecture

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

SERVICE ORIENTED ARCHITECTURE

Architectural Requirements for an SOA Based on Web Services. Jim Bole VP, Engineering Infravio, Inc. April 23, 2003

The Integration Between EAI and SOA - Part I

SOA : To Do or Not to Do

The Service Revolution software engineering without programming languages

Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group. Tuesday June 12 1:00-2:15

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CICS Modernization & Integration

Moving from EAI to SOA An Infosys Perspective

Chapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server

Government's Adoption of SOA and SOA Examples

What You Need to Know About Transitioning to SOA

Enterprise Service Bus 101

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

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

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Agenda. Background and cloud portability and interoperability concepts Distributed computing reference model. development Conclusions

TNC is an open architecture for network access control. If you re not sure what NAC is, we ll cover that in a second. For now, the main point here is

Guiding Principles for Modeling and Designing Reusable Services

Service-Oriented Architecture: Analysis, the Keys to Success!

Architecture. Reda Bendraou

Why is CICS Still Alive? Dr Geoff Sharman Visiting Professor in Computer Science Birkbeck College

Distributed Objects and Components

Lesson 18 Web Services and. Service Oriented Architectures

Introduction to Service Oriented Architectures (SOA)

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

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

Service Oriented Architecture

A NEW PLATFORM FOR BUSINESS:

BPM and SOA require robust and scalable information systems

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

Distributed systems. Distributed Systems Architectures

Software Life-Cycle Management

Extend the value of your core business systems.

Web Cloud Architecture

Service-oriented architecture in e-commerce applications

CHAPTER 1 INTRODUCTION

Chapter 1 Introduction to Enterprise Software

Relational Databases in the Cloud

Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

IBM Information Management

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

Cloud Computing & Service Oriented Architecture An Overview

SOA-14: Continuous Integration in SOA Projects Andreas Gies

Prerequisites for Successful SOA Adoption

Technical Track Session Service-Oriented Architecture

EnergySync and AquaSys. Technology and Architecture

What Is the Java TM 2 Platform, Enterprise Edition?

Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models

Web Services and Service Oriented Architectures. Thomas Soddemann, RZG

Federated ESBs and Service Federation Management

Network and Services (NETW-903)

An Architecture for Web-based DSS

B. WEB APPLICATION ARCHITECTURE MODELS

SOA REFERENCE ARCHITECTURE: WEB TIER

Business Process Management Enabled by SOA

JOURNAL OF OBJECT TECHNOLOGY

Transcription:

SOA Performance Testing Challenges First Presented for: Software Test & Performance Conference November 2006, Boston, MA Most Recently Revised for: Software Test & Performance Conference October 2007, Boston, MA Scott Barber Chief Technologist PerfTestPlus, Inc. Page 1 SOA Performance Testing Challenges

**Note** This presentation presumes that you have access to both the services and the application as a whole. Due to the technical diversity of SOA as it is being implemented today, this presentation is more conceptual than technical. SOA Performance Testing Challenges Page 2

Agenda Overview Evolution of Software Architecture The Concept of SOA SOA Testing Challenges Summary SOA Performance Testing Challenges Page 3

Overview The technologies, standards, applications and management of Services Oriented Architectures (SOA) are still in a significant state of flux. Unfortunately, that doesn't stop folks from using it or wanting us to test it. SOA Performance Testing Challenges Page 4

Overview SOA is based on a variety of concepts that we, as an industry, have seen and tested before... some for nearly a decade. Luckily, this means that, as an industry, we have a lot of tried and true testing techniques at our disposal to apply to SOA projects. SOA Performance Testing Challenges Page 5

Overview Testing SOA applications is more complex than testing the majority of the applications many of us have become used to. The up-side is that this complexity is likely to force service providers to test their services in the ways applications should have been tested all along. SOA Performance Testing Challenges Page 6

Overview There is a common perception among the consumers of 3 rd party developed services that they (the consumer) should test the service like they test internally developed applications. This perception is unreasonable and virtually impossible to implement. SOA Performance Testing Challenges Page 7

Overview If the consumers of 3 rd party developed services want increased confidence in the capabilities and functionality of a service; the consumer would be better served to ask their lawyers test the contracts and SLAs than to ask their testers to test the service itself. SOA Performance Testing Challenges Page 8

SOA Performance Testing Challenges Scott Barber, (A.K.A. The Perf Guy ) Chief Technologist & President, PerfTestPlus www.perftestplus.com VP Operations & Executive Director, Association for Software Testing www.associationforsoftwaretesting.org sbarber@perftestplus.com SOA Performance Testing Challenges Page 9

Evolution of Software Architecture Stand Alone Client-Server Distributed n-tier Web Services Service Oriented SOA Performance Testing Challenges Page 10

Stand Alone Architecture A tightly coupled collection of data and functions residing on a single machine. Reuse, redesign, and replacement of component parts is often difficult. SOA Performance Testing Challenges Page 11

Client-Server Architecture Similar to Stand Alone: A tightly coupled collection of data and functions residing on a single machine (server). Reuse, redesign, and replacement of component parts is often difficult. Differs in allowing multiple users access to the application from remote machines (clients). SOA Performance Testing Challenges Page 12

Distributed Architecture A loosely or tightly coupled collections of data and function residing on multiple machines. May be easier to reuse, redesign, and/or replace component parts. Typically serves multiple remote users. SOA Performance Testing Challenges Page 13

Web Services Architecture A loosely or tightly coupled collection of data and functions residing on multiple machines. One or more collections of data and/or functions are built and hosted externally. May be easier to reuse, redesign, and/or replace component parts. (The web service is intended to be plug and play.) Typically serves multiple remote users. SOA Performance Testing Challenges Page 14

Service Oriented Architecture A loosely coupled collection of data and functions residing on multiple internal or external machines. Often, collections communicate through a single interface. Reuse, redesign, and replacement of component parts is intended to be (relatively) easy. Typically serves multiple remote users. SOA Performance Testing Challenges Page 15

The Concept of SOA (General) Service Oriented Architecture (SOA) is an approach to implementing business systems across a loosely coupled set of technologies. SOA Performance Testing Challenges Page 16

The Concept of SOA (View 1) SOA is a way of designing and implementing enterprise applications that deals with the intercommunication of loosely coupled, coarse grained (business level), reusable artefacts (services) that are accessed through well-defined, platform independent interface contracts. - Steve Wilkes SOA Performance Testing Challenges Page 17

The Concept of SOA (View 2) I've heard people say the nice thing about SOA is that it separates data from process, that it combines data and process, that it uses web standards, that it's independent of web standards, that it's asynchronous, that it's synchronous, that the synchronicity doesn't matter...... I was on the SOA panel. I played it for laughs by asking if anyone else understood what on earth SOA was. Afterwards someone made the comment that this ambiguity was also something that happened with Object Orientation. There's some truth in that; there were (and are) some divergent views on what OO means. But there's far less Object Ambiguity than the there is Service Oriented Ambiguity - Martin Fowler SOA Performance Testing Challenges Page 18

SOA Application Design This part everyone seems to agree on: SOA Performance Testing Challenges Page 19

Innovations The ambiguity Martin Fowler jokes about is the myriad of available choices in hardware, software, and process technologies. SOA Performance Testing Challenges Page 20

Service Oriented Architecture Testing Challenges SOA Performance Testing Challenges Page 21

SOA Testing Challenges Since SOA applications are composed of loosely coupled business-level services distributed over a network, we must test the application... end-to-end service-by-service and interface-by-interface SOA Performance Testing Challenges Page 22

SOA Testing Challenges Although we may not control the testing, we need to establish trust in SOA services in the following areas: Functionality Performance Security Connectivity SOA Performance Testing Challenges Page 23

Functionality Testing Challenges SOA architectures should make the application s overall functionality easier to test. However, this is only true if we, or someone we trust, have tested the services before we assemble them to create the application. Starting with lower-defect components typically makes for a smoother testing process, BUT SOA Performance Testing Challenges Page 24

Functionality Testing Challenges SOA applications tend to have more APIs, and communication paths. This increases the amount of integration and interoperability testing that must be performed. Performance testers often have tools and skills that make them extremely valuable to SOA functional testing teams. SOA Performance Testing Challenges Page 25

Performance Testing Challenges All this loosely-coupled, platform-independent stuff is not free. Major performance problems are often due to: Layer upon layer, abstraction upon abstraction Small services with large overhead Large services that are under-supported by hardware Services distributed across a network with its associated latency One could also say... Performance is not synergistic. SOA Performance Testing Challenges Page 26

Performance Testing Challenges The application will need to be performance tested: End-to-end, from the user's perspective (consumer) At the unit level during development (provider) At the service level (likely both consumer and provider) To validate each interface (likely both consumer and provider) To ensure correct functionality under load SOA Performance Testing Challenges Page 27

Performance Testing Challenges What we ve become accustomed to SOA Performance Testing Challenges Page 28

Performance Testing Challenges What we should have been doing in the first place SOA Performance Testing Challenges Page 29

Security Testing Challenges An SOA application is a collection of independent services collaborating to provide valuable functionality. Valuable often suggests the need for secure user authentication. Consider an application in which each service required a different authentication approach and enforced different security policies it would be design, development, and testing nightmare. SOA Performance Testing Challenges Page 30

Security Testing Challenges The security of your users data depends on a centralized SOA security management approach. Performance testers are frequently called upon to do this testing as well because their tools and skills are the best fit in organizations that don t have dedicated security testers. SOA Performance Testing Challenges Page 31

Connectivity Testing Challenges Services must be available for use by the applications that use them. Service users (SOA applications) must be able to see and connect to the services to make use of them. Service brokers (for example) manage communications and connectivity. SOA Performance Testing Challenges Page 32

Connectivity Testing Challenges You may not have tested anything like this before, unless you've tested 3 rd party credit card processing for a web application. In fact, performance testers are frequently called in to assist with this testing because they have skills and tools that make it easier than it is for functional testers. SOA Performance Testing Challenges Page 33

Summary SOA adds complexity, but very little that is really new. If you are simply a consumer of services, test with lawyers, not testers. SOA ought to force us to test the way we probably should be testing anyway. Performance testers tend to be involved in a wider variety of testing in SOA environments. Performance testing SOA requires an ability to decompose and recompose the system tier by tier. Specialized tools may be helpful, but not unless we are analyzing the problem adequately. SOA Performance Testing Challenges Page 34

Questions SOA Performance Testing Challenges Page 35

Contact Info Scott Barber Chief Technology Officer PerfTestPlus, Inc E-mail: sbarber@perftestplus.com Web Site: SOA Performance Testing Challenges Page 36