SOA and Web Services - The Performance Paradox: CA Wily Technology
SOA and Web Services - The Performance Paradox: CA Wily Technology
CA Wily Technology
Table of Contents
section 1 3 Section 6 13
Introduction Managing Additional SOA Technologies
section 2 4 Section 7 15
Web Services and the Problem of SOA Complexity Conclusion
Section 4 9
Gaining Control Over Web Services
Environments: CA Wily Web Services Manager
Section 5 10
SOA Management in Action: Case Studies
Problem Isolation in Full Context
Transaction Mapping
Copyright © 2007 CA.All rights reserved. All trademarks, trade names, service marks and logos referenced herein belong to their respective companies.
section 1
Introduction
By simplifying communication among disparate information systems, loosely-coupled web
services in Service Oriented Architectures (SOAs) provide the flexibility that enterprises need
to adapt quickly to changing business demands. But they introduce new challenges when it
comes to ensuring superior performance and availability.
Many of today’s heterogeneous environments are made up of both legacy applications and
newer, service-based technologies. IT teams lack visibility into web services transactions
as they traverse these environments, where services are often shared among several
applications and failure can occur anywhere along the transaction path.
It’s no longer enough to address the performance of web services without considering their
impact on the web application environment into which they are deployed. In fact, any product
for managing web service-enabled applications will only be effective if it can see into the entire
transaction path and into each critical intersection along the way. Enterprises must therefore
adopt an end-to-end performance management approach that looks at all integration points
as well as services, web applications and connected back-end systems.
This paper discusses the challenges of managing complex web services-enabled application
environments and is intended for IT teams faced with the challenge of maintaining a SOA
production environment. It begins with a discussion of the growing complexity of today’s
SOAs and the requirements for effective web services management. The paper provides
a detailed discussion of CA Wily Web Services Manager and then offers concrete examples
of how IT teams are using it in the real world to gain control over the performance and
availability of web services.
But when it comes to ensuring superior performance and availability, SOA management
is challenging. IT complexity remains a huge burden for most enterprises. And while web
services-enabled information systems provide many business advantages, complexity can
hamper business agility. A number of factors have led to this complexity:
• Enterprise architectures are constantly growing in scope and function. Instead of ripping
and replacing existing systems, most enterprises have grafted new capabilities onto what
they already have. The resulting, heterogeneous environment—made up of both legacy
applications and newer, service-based technologies—becomes more complex and more
difficult to maintain.
• Shifting architectural paradigms add new layers of complexity. When outages occurred
in classical client-server architectures, it was easy to pinpoint a failure, and possible
sources were limited to a handful of systems. In services-enabled composite application
environments, the web application server or the web server is a central point of coordination
across multiple client-server systems, and a failure can occur anywhere along the
transaction path.
• The ability to rapidly deploy new services, or versions thereof, makes it difficult to accurately
map out the application architecture. Almost as soon as it’s drawn, the chart is out of date.
In this type of rapidly-evolving environment, how can someone troubleshooting a single
transaction know which version of a service was deployed at the time of the error?
• Business factors, such as a change in organizational structure, a merger, or an acquisition
can also increase the complexity of an enterprise architecture. Personnel that previously
were experts in specific areas of enterprise functionality can find themselves working
in new departments, leaving behind an institutional knowledge gap. As a result, additional
application functionality tends to be “glued on,” making the service more complex.
Managing response time also becomes more difficult when a particular component or service
Web services performance is shared among several applications. Various applications have different load requirements,
management solutions must new applications can be deployed at any time, and the service administrator may not
be alerted regarding an increase in usage. The varying application usage makes it hard to plan
be able to provide visibility for and predict service load characteristics.
across the entire transaction,
In addition, developers of one service typically don’t know much about another service, other
from initiation to completion, than the information which is expressed in WSDL. Therefore, they usually have no means
from the browser to back-end of diagnosing problems caused by a particular web service, and they may not even be able
systems, ensuring that to identify which web service caused the problem. This lack of visibility is the biggest challenge
with most SOA implementations and one that an effective services management product
no problems occur along must solve.
the way.
As SOA-based web application environments become more widespread, the difficulty
of managing them and the need for end-to-end transaction visibility grow exponentially.
The very fact that SOA makes it easier to integrate standards-based and legacy systems,
whether internal or external, means that management tools must be able to reach across
and within all of those systems to unearth internal relationships and dependencies.
Data Repository
Marketing Sales CRM Finance Data External Marketing Sales CRM Finance Data External
Warehouse Partner Warehouse Partner
SOA therefore, is an evolution rather than a revolution. With composite, distributed web
application environments, specific web applications are responsible for delivering critical
business services, be they Services Scheduling, Order Processing or Account Management
(CRM). This architecture is faster and more efficient than it was 20 years ago, but it still
requires the orchestration of many disparate functions into application “silos.”
On the other hand, with a web services-based architecture, composite application environments
are cleaner and more modular, further reducing inefficiencies and creating business agility.
Now you have the critical business functions exposed as web services that are part
of a services repository. These services can each be invoked as needed in a shared
environment. Again, with web services, you now have a more flexible environment that lets
you quickly and efficiently take advantage of changing business conditions.
Transaction Visibility
Comprehensive transaction visibility is an essential requirement for managing the performance
of web services. IT teams need the ability to monitor 100% of all transactions, 24x7 at the
component level. Many web services transactions span multiple processes or multiple web
applications instances. Therefore, it is essential that IT teams have the ability to understand
each services transaction in the context of the individual transaction path.
The other side of the visibility coin is root-cause analysis. Having the ability to detect incidents
when they happen doesn’t do your IT team a lot of good unless they can transform transaction
performance data into actionable intelligence for remediating problems. Therefore, your team
must be able to use information about web services transactions to isolate the root issue
no matter where it arises within the application infrastructure—individual problem transactions,
service faults, problem components, unstable connections to back-end systems, and more.
Always-On Monitoring
The next step in managing web services is always-on performance and availability monitoring.
IT teams must have visibility into web services performance and SLA compliance in the
production environment so that issues are detected early, in real time. And with the complex
nature of the service-enabled applications that enterprises deploy, discovery of the services
to be monitored must be automatic, so that application support teams spend less time
configuring what to monitor and more time managing the performance of services as well
as the applications and back-end systems to which they connect. The ability to monitor web
services 24x7 enables IT teams to then proactively take steps to detect issues, before they
severely impact the business.
Simply put, your teams must make a distinction between development tools and production
performance and availability management tools. This prevents developers from inheriting
Simply put, your teams must the role of production monitoring specialist and from getting called every time an incident
make a distinction between occurs, regardless of whether the issue is code related or not. Likewise, operations teams need
development tools and a tool they can use to monitor production applications and web services, quickly determine
the nature of the problem and get the right people involved in remediation efforts. And lastly,
production performance a production tool that can monitor the performance of web services-enabled applications
and availability in production, around the clock and provide key data about infrastructure performance trends
management tools. is an invaluable asset for the architects who must ensure web services are meeting Operational
Level Agreements (OLAs) and business objectives.
CA Wily’s SOA Management capabilities help IT teams manage the complexity of SOA
environments and ensure transaction integrity by delivering a deep understanding of service
performance and availability—why a service is slow, underlying dependencies, and how service
performance affects the web applications as a whole.
For example, CA Wily Web Services Manager gives operations and application support teams
advance notification of incidents, before end-users are affected, allowing them to effectively
measure and manage SLAs. Moreover, CA Wily WSM delivers the detailed information
architects and developers need to quickly isolate and resolve problems: views of individual
transactions in which web services are involved, the number and nature of web service faults,
and component interactions.
Once the likely source of the problem has been identified, web services architects or developers
can use CA Wily Web Services Manager to diagnose the root cause. They can drill into web
service errors to obtain critical data about the nature of the issue, including information about
the SOAP message. CA Wily WSM also provides views of individual service and operation
metrics related to response times, faults, stalled threads and concurrent invocations.
Historical reporting facilitates SLA management and ongoing improvements to the web services
architecture. IT teams can run SLA compliance reports on individual services and operations
to ensure that service level objectives are being met and if not, to understand what failed
and when. Performance, availability and usage reports for service capacity planning allow
architects, developers and IT management to plan for future requirements.
section 5
Newly deployed web services-based applications were assumed to be the problem since
performance had degraded immediately after deployment. However, the problem was difficult
to isolate in a complex, composite SOA environment where failure can occur at any number
of points.
Mainframe Database
Network Router Firewall Switch Load Portal
Balancer Web
Servers Applications
Databases
3 rd Party
Applications
As it happened, the performance problem was indeed caused by other factors (in this case,
MQ and database calls) instead of the web services applications. The application support
team was able to quickly isolate the cause and notify the right system administrator to get
the problem fixed quickly.
Web-service development practices were also a problem. Getting the right level of granularity
around service operations requires architectural expertise and a deep understanding
of the interface use cases. Being new to web service development, with the first couple
of development attempts web service interfaces tended to be too granular, requiring several
requests and responses just to complete a single transaction. The increased number
of requests and responses resulted in greater overhead and network latency. IT required
an understanding of the complete path for a single transaction: the long leg of the call stack
and the number of times backend resources were invoked.
The developers also often used service connections that their colleagues had already
implemented, or just used connections that they knew would work. Sometimes, the developers
bypassed the interface altogether and simply executed a direct API call for the service. These
practices created a “spaghetti” of unplanned, ad hoc connections among nodes, further limiting
the ability to properly manage transactions.
WS WS WS
Normalization Normalization Normalization
Service Service Service
WS WS WS
WS WS WS WS WS WS
Backend Backend Backend Backend Backend Backend
System System System System System System
With this product in place, they were able to see live transactions down to the component
level in the context of the transaction path. The application support team was then able
to work with the development team to ensure all transactions were meeting service level
objectives and to develop processes for ensuring superior application performance throughout
each stage of the web application lifecycle.
section 6
Conclusion
Loosely-coupled service environments provide unique benefits to the organizations that
utilize them but they introduce new challenges. IT teams responsible for ensuring service
performance and availability currently do not have the comprehensive visibility they need
to detect performance issues before SLAs are violated, to determine the exact nature
of errors as they occur, and to resolve problems quickly, regardless of whether they are
caused by a service, application code or connections to supporting systems.
As the real-world examples in this paper illustrate, ensuring the superior performance
of services enabled environments requires:
• End-to-end response-time monitoring of web-based transactions;
• A deep understanding of service performance (why a service isn’t performing and how
poor service affects an application);
• The ability to view down to the individual transaction level of a web application and its
associated services;
• Capabilities for ensuring SLA compliance via real-time 24x7 visibility into performance
and proactive notification that can provide advance warning of a slowdown or outage.
Only when these requirements are met can IT teams—operations, application support,
architects and developers—fully gain control over complex, composite applications upon
which so much of their business depends.
0807