Você está na página 1de 12

Testing service-oriented architecture

(SOA) applications and services


Business white paper
Table of contents
Introduction.............................................................3
Understanding SOA................................................3
Aligning IT resources and business objectives .............4
Implications of SOA on testing . .................................4
HP quality management solutions . .............................6
Ease of use ...........................................................7
HP Quality Center software .....................................7
Functional and performance testing ..........................8
Integration with application management and
governance solutions ............................................ 11
Application management with
HP Business Availability Center software ................ 11
Governance with HP SOA Systinet software ............. 11
Summary............................................................... 12
Introduction
Few other innovations in IT offer the transformative
potential of service-oriented architecture (SOA). SOA
is centered around a transformation of your enterprise
IT architecture into a set of services that can be shared
and reused across application development initiatives.
This introduces new levels of business agility and
drives down IT costs. SOA allows you to:
• Coordinate services instead of large, monolithic
applications: You can reduce development costs
through the reuse of services across multiple
applications, and you can more efficiently leverage
existing enterprise assets by coordinating services
across any number of applications.
• Decouple applications from underlying
infrastructure: SOA abstracts development from
underlying detail and complexity, and it relies on
loosely coupled and self-contained services that
enable greater flexibility.
• Shift the orientation from technology to business:
SOA allows for rapid change by enabling services
to be easily added, removed, composed/assembled,
and recomposed as a business grows.
Without a strategy for SOA, you risk being
outperformed by competitors that are better equipped
to serve customers, seize opportunities, and respond
to changes. The successful deployment of services
requires the ability to manage the quality of these
services so you can increase the use of IT resources
and reuse services across multiple applications to
enhance business agility.

Understanding SOA
With SOA, you can move toward a new enterprise
architecture, with business functionality exposed as
standards-based, shared, and reusable services.
SOA is a collection of declared services that are
independent and loosely coupled, but controlled
through policies. The services are self-describing, and
they are assembled ad hoc to orchestrate business
processes. SOA is an approach to constructing
enterprise systems from components in which a
system consists of a set of collaborating services
corresponding to higher-level business use cases. Each
of these cases provides a well-defined collection of
functionality available over the network.
SOA is an implementation process of having services BTO enhances the strategic touch points where
that are shared among applications. Service providers technology and the business meet, and HP helps
create services, and service consumers utilize these IT organization adopt an SOA lifecycle approach.
services. Composite services are made up of two or You can manage service quality and conformance,
more services, and Web services create a common enabling services to scale in a production
platform that enables SOA. There are multiple environment. HP Software offerings can monitor
components to Web services: services to facilitate compliance and identify problems
• Simple Object Access Protocol (SOAP) provides the quickly before they impact the business.
envelope for sending the Web services messages. HP offers SOA application delivery solutions for
• The Web Services Definition Language (WSDL) testing the functionality and performance of individual
forms the basis for Web services. A service provider services and composite applications comprised of
describes its service using WSDL. multiple services. HP also offers SOA application
• Universal Description, Discovery and Integration management solutions for monitoring and measuring
(UDDI) registries can be searched to quickly, easily, services and composite applications in production
and dynamically find and use Web services. based on service level agreements (SLAs).

The services used in SOA are not limited to Web In addition, HP has SOA governance solutions for
services, but can include other technologies such as managing the consistency, predictability, change,
Distributed Component Object Model (DCOM) and and interdependencies of services and composite
XML over Remote Method Invocation (RMI). applications. By selecting solutions from HP, you can
develop, manage, and evolve composite applications
over time to address new business requirements and
Aligning IT resources and business successfully deliver the functionality and performance
objectives expected by users throughout your organization.
Organizations are looking for ways to move faster to
respond to changing business drivers, such as market Implications of SOA on testing
conditions, customer requirements, and competitive The shift toward SOA is not risk-free. Many moving
threats. SOA allows businesses to react more quickly— parts must work together closely along with constant
with greater agility—and promises to: change. Services have diverse characteristics. With
• Allow IT to better and more economically support SOA comes multiple stakeholders—such as service
business initiatives providers, and service consumers—and services have
• Reduce time-to-delivery for new services because the independent lifecycles tied to how they are developed
implementation of business processes will be highly and maintained. Successful implementations of SOA
configurable require that services remain interoperable despite all
of the inevitable changes they face.
• Simplify application integration
• Better utilize development resources through the SOA introduces increased complexity to IT
reuse of existing assets organization, and these complexities center on new
relationships that need to be managed. There are
SOA offers tremendous business advantages, but it technical relationships, since services depend on
also places pressure on your IT organizations to make infrastructure and applications depend on services.
sure that services and infrastructure continue to meet But there are also organizational relationships. Service
the changing needs of your business. You need to providers need to collaborate across roles and functions
implement Business Technology Optimization (BTO) to define, develop, and manage services. Consumers
solutions that bring IT into full alignment with the and providers need to collaborate to negotiate SLAs
business, enabling IT to focus on addressing business and other terms and conditions for using a service.
priorities and delivering outstanding value. Throughout the lifecycle of a service, providers are

4
inevitably going to change the service, and consumer without realizing the impact that these changes
needs are inevitably going to evolve. You need to might make on other applications sharing these
be able to address ongoing questions throughout the services. Shared services include security and
lifecycle of a service, such as how you can: reliable messaging, which are managed according
• Enable services to meet functional requirements and to policies, and there are many potential points of
scale in production failure for any given service. Hence, services need
to be continuously tested to make sure that they do
• Manage the complexity of testing dozens—or even
not create bottlenecks or fail to perform as expected
hundreds—of services
throughout their lifecycles.
• Identify and resolve response-time issues for
• Manage quality over time: Services need to
services quickly
encompass a quality assurance (QA) focus, and
• Understand the overall impact of testing coverage IT needs to build and manage a QA process
needed when services change to manage quality over time. Quality objectives
• Enable services to be interoperable throughout the must be carefully defined with centralized quality
enterprise and comply with industry standards assurance and distributed tasks to enhance the use
• Start testing as early as possible in the of IT resources in supporting services.
development cycle • Control massive numbers of services and data:
• Test services and systems even when their supporting Composite applications rely on shared services
infrastructure is not present or is down that may be used throughout the enterprise.
QA may need to manage hundreds—or even
• Continue to share services across multiple
thousands—of shared services that are often
applications as services change and evolve
changing and evolving.
All of this complexity needs to be managed to improve • Manage new SOA testing aspects: Since WSDL is
the outcomes of SOA initiatives. IT organizations need used to describe Web services, you need to develop
the ability to test the shared SOA abstraction layer common standards so different applications can rely
as a self-entity—regardless of changing application on shared services. For example, if your architect
lifecycles. By testing an SOA abstraction layer, IT defines internal standards, your developers need
organization can verify that it continues to deliver to program against those standards. But different
expected functionality and performance over time to teams may use different programming toolkits, so
diverse enterprise applications. SOA has many other interoperability testing is essential. The need for
implications on testing, including the need to: interoperability introduces more moving parts and
• Gain visibility of shared services: You need to less control than development organizations have
provide broad visibility into shared services so that ever managed in the past.
different departments and individuals can play key
Services must be compliant with organizational
roles in the quality process. One of the greatest
standards so they can be consistently tested by
challenges is to understand both the business impact
different QA teams throughout the enterprise, and
and the proper prioritization of deployment-related
organizations need the ability to validate that
issues by gaining visibility into both the broader
services conform to established standards. QA
business layer and shared services.
also needs to be able to perform boundary testing
• Understand the vulnerabilities of shared by invoking each service operation with data and
services: Services can be provided by different metadata that surpass the WSDL specification.
departments, and shared services can be utilized For example, QA may need the ability to test the
by multiple applications. Testing is essential boundaries of SOAP headers. They also need
throughout the lifecycle of services to verify that the ability to test the performance of services and
changes in services do not harm other applications simulate performance under different thresholds to
that utilize them. Service providers can change enable that services will scale over time.
services developed for a specific application

5
• Enable service availability for testing: Services • Perform asynchronous testing: With SOA,
need to be available for testing early in the services are often not synchronized, so QA must
development cycle. When a WSDL service be able to test business processes out of sequence
description is agreed upon, QA can start when necessary. QA needs the ability to address
implementing actual tests before the service arrives asynchronous communications mechanisms such
from development. You also need the ability to test as the polling of data, polling-through-proxy, and
complex environments with missing service back- callbacks through WS-Addressing as well as other
ends. For example, a service that relies on accessing standards.
sensitive data such as employee social security • Test other technologies that can expose services:
numbers could be tested without making that data You also need the ability to run tests that support
freely available throughout the QA cycle. other technologies that can expose services, such
• Create a lifecycle quality process: Services as Java™ Message Service (JMS), which is a
must be tested throughout their lifecycles, from the middleware Application Programming Interface (API)
development stage through production deployment for sending messages between two or more clients,
until end of life. Testing should be integrated into and RMI, which is an API for performing remote
the lifecycle process so that services can evolve over procedure calls.
time while makings sure that they work successfully
with multiple applications. HP quality management
• Analyze the impact of changes: One of the
major challenges in QA is the decision of how to solutions
effectively test changes that occur. You need to Today, how quickly you add or enhance services for
determine which changes potentially cause major critical applications can be the difference between
risks, and where the best places are for QA to invest keeping or losing a customer. Winning companies
their efforts and where they can perform minimal manage costs and risk while aligning their software
validation to enhance resources. In traditional applications with business goals. That’s why
application testing processes, the QA challenge enhancing the quality and performance of shared
has been to understand the changes development services in pre-production has become critical to the
made and decide whether they needed to be viability of the business.
tested. Understanding the impact of changes is
more significant in shared services due to the Our BTO approach to delivering high-quality,
number of services involved, the number of internal high‑performance application delivery solutions
dependencies, and the number of applications using helps drive business outcomes. By increasing quality
shared services. and performance of services and managing change
throughout their entire lifecycles, IT organizations
• Implement functional and performance testing:
can have a direct impact on the business value
Services need to be tested throughout their lifecycles
associated with critical services. HP application
to verify that they function as promised and provide
delivery solutions—HP Quality Center software and
the expected performance and throughput. SOA
HP Performance Center suite—allow you to:
encompasses additional functional and performance
testing challenges. In traditional testing of enterprise • Drive the rapid delivery of services and
applications, a test engineer could test against the composite services
graphical user interface (GUI). The GUI client makes • Make better-informed “go-live” decisions
it easier to understand business processes and data • Reduce the time and cost of deploying new services
flows. But with SOA, services are tested against the • Decrease software defects
WSDL without a GUI available to simplify business
• Gain real-time visibility into the health of services
processes and data flows.
and infrastructure
• Verify that services are ready to deliver their
intended business results

6
Figure 1
HP supports non-GUI testing

Ease of use HP Quality Center software


HP offers solutions that allow QA engineers to simplify Many of the challenges identified earlier in this paper
the ongoing testing of services and decrease scripting were focused on management, and HP Quality
through automation. These solutions are designed to Center software provides a Web-based system for
help QA professionals quickly develop and execute automated software quality testing and management
tests. They simplify the service invocation and security across a wide range of services. HP Service Test
aspects of testing, and allow QA to test services in Management module provides integration with HP
parallel to the development cycle. SOA Systinet software and other third-party SOA
registries, providing full visibility for QA teams. HP
For example, HP supports non-GUI testing so QA can
Quality Center enables the IT team to engage in
create tests against the WSDL (see Figure 1). HP also
service testing even before the development process
simplifies the data, especially XML, so that QA can
is complete. This shortens release schedules while
focus on developing and driving tests that will provide
enabling the highest level of quality. With HP Quality
the greatest value to the organization. Application
Center, you can:
delivery solutions from HP allow organizations
to efficiently enable compliance with corporate • Make go-live decisions with confidence
standards, even in organizations that use multiple • Standardize and manage the entire quality process
development tools.
• Reduce service deployment risk
• Improve service quality and reliability
• Manage service change impact through manual and
automated functional testing
• Enable quality in strategic sourcing initiatives
• Warehouse critical service quality project data

7
HP Quality Center along with HP Service Test HP Business Process Testing software
Management provides major advantages in testing HP Quality Center also offers HP Business Process
SOA services and allows you to benefit from: Testing, which is the industry’s first Web-based
test design solution that bridges the quality chasm
Management
between subject matter experts and quality engineers.
Solutions from HP map the SOA to the application
It is a system purpose-built to enable subject matter
development cycle and drive the QA process.
experts to build, data-drive, and execute manual and
HP Quality Center Dashboard module is used by
automated tests without any programming knowledge.
managers to access a simple, comprehensive view
HP Business Process Testing introduces the concept of
of system quality. It provides the ability to centrally
reusable business components for test design, which
manage masses of assets, including services,
drastically reduces test maintenance and improves test
messages, requirements, and tests. IT can allocate
creation efficiency.
resources, track changes, measure results, and provide
management with the information needed to monitor Every business process is built from multiple services,
the status of application development and delivery. and each of these services is a component within HP
Business Process Testing. When a single component
A full quality process
changes, the tester can update the component and
IT can implement a complete testing process
the change will be automatically populated into other
that includes unit testing, functional testing, and
business processes that use the service. With HP
performance testing so that SOA services can be
Business Process Testing, users can copy and paste
validated to deliver the functionality and performance
components, business process tests, and test sets. This
that the organization expects from them.
allows organizations to leverage testing assets across
Quality over time multiple applications and different testing teams. It
Services will undoubtedly change throughout their also saves testers time and effort, leading to improved
lifecycles, which can potentially result in unintended productivity and efficiency.
negative consequences to some or all of the
applications that utilize them. HP Quality Center Functional and performance testing
provides the ability to understand changes and
evaluate the impact that changes in a service can HP offers solutions for testing the functionality and
have on different applications. An HP Quality Center performance of services. HP Service Test software
user can refresh the service definitions, which will provides a solution that allows QA engineers to
result in comparing the current WSDLs to the WSDLs simplify the ongoing testing of services and decrease
stored in HP Quality Center. Services that have been scripting through automation. Users can efficiently
changed and their related tests will be highlighted so enable compliance with corporate standards, even in
the user will know that changed services should be organizations that use multiple development tools. HP
verified again. Service Test does not require a user interface (UI) for
services testing, and the scripts created can be used
Throughout the lifecycle of a service, providers are for both functional and performance testing.
inevitably going to change the service and consumer
needs are inevitably going to evolve. Key performance HP Service Test is an offering within HP Quality Center
indicators (KPIs) can be measured and tracked so that that provides an outstanding solution for functional
QA can understand the scalability demands on an and regression test automation, and it addresses
application. HP Quality Center Dashboard technology every major software application and environment. HP
provides management with the ability to view KPIs Service Test satisfies the needs of both technical and
to instantly assess quality levels across all pre- non-technical users. It enables you to deploy higher-
deployment projects and track KPIs across all projects quality services faster, cheaper, and with less risk.
and over time.

8
Figure 2
Sample HP LoadRunner software diagnostics for SOA

HP Performance Center suite allows QA to test concurrent users to put services through the rigors of
the performance of services. It includes integrated actual user‑load conditions. IT organization can stress
applications and a business dashboard for key services from end to end and measure the response
performance optimization activities, including time of key business processes. QA can measure
load testing and J2EE diagnostics across end‑to‑end performance, diagnose service and system
complex, heterogeneous computing environments. bottlenecks, and enhance performance—all from a
HP LoadRunner software prevents costly performance single point of control. It supports a wide range of
problems in production by detecting bottlenecks enterprise environments, including Web services, J2EE,
before a new system or upgrade is deployed. and .NET (see Figure 2).
QA can verify that new or upgraded services
IT organizations can rely on HP Service Test for
will deliver intended business outcomes before
functional testing and HP LoadRunner for testing the
they go live, preventing over-spending on hardware
performance of services. IT has unique, shared needs
and infrastructure.
for both functional and load testing as well as specific
HP LoadRunner is the industry-standard load needs for each, and HP integrates HP Service Test
testing solution for predicting system behavior and and HP LoadRunner so QA can efficiently manage
performance. Using limited hardware resources, functional and performance testing of services.
HP LoadRunner emulates hundreds of thousands of

9
Shared SOA requirements employs real-time performance monitors that capture
Both functional and performance testing tools require and display performance data from every tier, server,
interoperability with diverse toolkits so services can be and component. HP LoadRunner’s sophisticated
clearly defined, understood, and shared throughout analysis module allows IT to drill down to determine
the enterprise. HP Service Test offers support for the specific source of bottlenecks and generate
leading development environments, including the .NET actionable reports. With HP LoadRunner, load testing
2.0 framework, and the APACHE Axis framework. scripts, scenarios, and results can be stored and
It offers JMS protocol support, and support for viewed in HP Quality Center to enable traceability of
asynchronous testing. performance testing requirements.
HP Service Test offers automatic generation of testing You can create an SOA abstraction layer that
aspects, such us positive/negative testing. It also offers requires diagnostics, and QA can test SOA services
server-side recording that allows recording on traffic hosted on different logical and physical entities
when there is no client generating the traffic. while enabling full traceability of any performance
problems. HP Diagnostics software technology within
HP allows QA to implement non-GUI testing so
HP LoadRunner helps you provide 24x7 performance
that SOA services can be tested earlier in their
and better quality of service throughout the enterprise.
development cycle, and supports service emulation
It allows you to test services across heterogeneous
so IT can quickly create a service whenever it is not
technology boundaries such as Java, J2EE, and .NET,
available and easily parameterize its response for
and allows management to gain end-to-end visibility
early test creation. Given an agreed-upon WSDL, an
into performance throughout the lifecycle of services.
emulated service can be created and deliver expected
return values so a full test suite can be implemented. SOA functional testing
HP Service Test helps you automate the testing process
You can protect your investments in developing scripts
for non-UI testing of services. It provides the ability to
by re-using functional testing scripts throughout the
import WSDL and validate its functionality and XML
load testing process. Functional test scripts developed
data. This functionality removes the need to create
in HP Service Test can be used in HP LoadRunner to
temporary UIs for QA and helps save time and money.
test the performance of services.
It also provides a stub-simulation capability that
SOA performance testing
allows you to simulate multiple services in QA without
IT needs the ability to monitor services and predict
having to replicate the production environment. This
their performance under loads. Using minimal
also helps QA conduct interoperability and validate
hardware resources, HP LoadRunner emulates
that a service will perform the same under different
hundreds or thousands of concurrent users to put
client technologies. As with all HP testing solutions, HP
the services through the rigors of real-life user loads
Service Test is fully integrated with HP Quality Center
for virtually any client platform or environment.
as an automation tool for the execution of functional
QA can stress a service from end to end across all
testing services.
architectural tiers—applying consistent, measurable,
and repeatable loads—then use the data to identify For a combination of UI and Web services testing, HP
scalability issues before they impact end users. Unified Functional Testing, comprising HP QuickTest
Professional and HP Service Test allows you to
HP LoadRunner measures the response times of key
perform functional testing of GUI-based applications
business processes and transactions, uncovering
leveraging services.
end‑to-end performance problems. The product

10
Integration with application • HP Application Mapping software, which
automatically and dynamically discovers and maps
management and SOA environments, and provides the foundation for
change impact
governance solutions • HP Diagnostics software, which supplies critical,
Our application delivery solutions are integrated low‑level problem analysis, and troubleshooting for
with our application management and governance J2EE and .NET environments
solutions so you can implement a lifecycle approach
to SOA. Governance with HP SOA Systinet
software
Application management with SOA governance consists of the corporate, business,
HP Business Availability Center and IT processes and rules required to control and
software guide the business success of an SOA implementation.
SOA governance provides a means to enable the
The HP approach to application management for SOA quality, consistency, predictability, change, and
services focuses on enabling organizations to achieve interdependencies of services. Its overarching goal
the expected value from services during the normal is to manage the complexity created by SOA by
day-today operations of the business. HP Business enabling you to capitalize on the powerful promise
Availability Center software includes functionality that of SOA without sacrificing control, predictability, and
helps you manage and enhance services so that they efficiency. SOA governance is focused on:
can deliver better value to the enterprise. It delivers
• Visibility: You need a single “system of record” that
value in SOA implementations in three key areas:
captures all of the information about services. This
• Service level management: It enables business and information includes service descriptions, policies,
IT to agree on, manage, and enable visibility into technical documents like WSDLs and schema,
how an application is delivering the actual business contracts, and other metadata that help you to fully
service in real time and over time. understand the intent, operational realities, and the
• Problem resolution: It facilitates fast problem trustworthiness of services.
detection and notification so that despite SOA • Trust: Without trustworthy services, you will typically
complexity, you can quickly diagnose performance recreate rather than reuse existing services, which
issues and reduce mean-time-to-repair (MTTR). undermines the overall purpose of SOA. Creating
• Change impact: It lessens the risk of frequent a system of record enables you to capture the
changes in shared services by quickly detecting information necessary to create a trust profile that
them and establishing their impact. makes the quality and trustworthiness of a service
visible and apparent to consumers. Another aspect
HP Business Availability Center consists of multiple
of trust is the ability to formalize consumer/provider
applications that work together to deliver SOA
relationships with an enforceable agreement that
management including a real-time, correlated, and
specifies service-level expectations and any other
centralized dashboard. HP Business Availability
terms, conditions, and details that need to be
Center applications include:
agreed upon as the basis for service consumption.
• HP End User Management software, which • Control: You need to manage services just as you
provides real and synthetic monitoring of end-to-end manage other high-value IT assets—from introduction
Web service transactions to final retirement and at every step in between. This
• HP Service Level Management software, which means managing access to services, and enabling
enables setting, measuring, and reporting on they are visible and accessible to only authorized
performance criteria as it relates to the business stakeholders. As services evolve, you need to be
• HP System Availability software, which delivers able to anticipate the impact of changes to make
agentless monitoring of the underlying SOA sure modifications to a service do not disrupt other
infrastructure services and applications where dependencies exist.

11
Visibility, trust, and control are essential for you to can integrate testing with the SOA ecosystem to
capitalize on the promise of SOA. HP SOA Systinet test services throughout their lifecycles and enable
software has been a leader in SOA for more than six composite applications to continuously use shared
years. HP SOA Systinet has earned a distinguished services. HP offers the diagnostics and monitors that
reputation of trust by consistently building award- enable IT to manage an abstraction layer for services,
winning products and guiding customers of all sizes to and also delivers integration with SOA governance so
design and deploy effective SOA infrastructures. HP that organizations can centrally focus on managing
SOA Systinet software is a complete SOA governance the quality, consistency, predictability, change, and
and lifecycle management platform, providing interdependencies of services.
a trusted system of record and a complete set of
You can better align IT investments with operational
capabilities for establishing the visibility, trust, and
goals, and enhance the use of IT resources to support
control critical to SOA success. All services defined
business objectives. SOA introduces increased
in HP SOA Systinet can be linked into the HP Quality
complexity to IT, but the opportunity to reuse services
Center to drive the QA process.
across the enterprise creates increased business
agility. HP offers SOA application delivery solutions for
Summary testing the functionality and performance of services,
HP offers a comprehensive solution available for allowing IT to aggressively deploy high-quality services
testing SOA services and interfaces, managing quality, and more efficiently utilize development resources
and enabling performance throughout the lifecycle of through the reuse of existing assets. HP has the only
services and composite applications. With HP Quality solution that can manage quality, test services, and
Center and HP Performance Center, IT organizations integrate with the SOA ecosystem.

To learn more about HP Software and Solutions, visit www.hp.com/go/software

Share with colleagues

Get connected
www.hp.com/go/getconnected
Get the insider view on tech trends, alerts, and
HP solutions for better business outcomes

© Copyright 2007, 2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only
warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein
should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.

Java™ is a US trademark of Sun Microsystems, Inc.

4AA1-1389ENW, Created May 2007; Updated April 2010 Rev. 1

Você também pode gostar