Document 7848263

Download Report

Transcript Document 7848263

IBM TJ Watson Research Center
Websight
Visualizing the Execution of Web Services
Wim De Pauw, Bob Hoch, Sophia Krasikov, Michelle Lei, John Morar, Raju Pavuluri, Amit
Phalgune, Ed Pring, Senthil Velayudham
Contact: [email protected]
Workshop on Testing, Analysis and Verification of Web Services
July 11, 2004
Boston, MA
IBM T.J. Watson Research Center
Outline
 Motivation
 Debugging Web Services
 Profiling and understanding Web Services
 Dealing with complexity
 Technology
 Conclusions
2
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
What are Web Services?
"A WSDL described interface that defines a collection of network
accessible operations"







3
Modular
Composed
Described
Published
Found
Bound
Invoked
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Evolution of Web Services
 Internal Enterprise Application Integration
 External Integration
 Dynamic adaptation in e-business
=> Lingua Franca for (loosely coupled) distributed systems
4
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Web Services: the Challenge
5

Do you know how your Web Services are interacting ?

Ever tried to read their trace logs?

Ever tried to collate ten trace logs?

Where are the bottlenecks?

Is your workflow correct?
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Websight:
Problem Determination for Web Services
6

Debugging and
understanding

Analysis at application level

Understand message flow of
Web Services in complex
applications

Total processing time vs.
business logic time

Experimental research tool
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Sample Target: eServicePac
------
BP Model
for SPV
---
Compatibility
-----
--
Exclusivity
Partner
World
Check
warranty
period
SAP-F
Check
Model &
Serial number
BPEL Engine
Java to Web Services
Web Services wrapper
Validation Functions
7
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Lifecycle
Operation
Maintenance
Problem Determination
Implement
Deploy
Design
Business requirements
Country= Utopia
Order entry scenario
e-ServicePac type
1 - tied order
Warranty and maintenance option
1,3
Installation
1,3
Maintenance
8
A
1,2,3,4
3 – discrete order
(no h/w specified)
A
A
B
B
1,2,3,4
B
Example
Example
2 – discrete order (h/w
specified)
1,2,5
1,2,3
3
3
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Websight demo
9
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Debugging Web Services
 Syntax errors
 Semantic errors
 “Resource unavailable” errors
 Business logic errors
10
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Syntax Errors
 Often relate to representing “unusual values”
 Example: ambiguous type conversions XML – Java
– In subsequent versions of a SOAP engine:
java.util.GregorianCalendar  xsd:date
java.util.GregorianCalendar  xsd:dateTime
 Example: encoding of null String vs. empty String
 Example: problem with “out of range” values
11
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Find Syntax Errors by Inspecting the Content
12
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Semantic Errors: Discordant Meanings
 Even if the syntax is correct, service providers and consumers may
associate different meanings to certain expressions
 Examples:
–Empty field means: “wildcard” or “missing information”?
–Timestamp (omitting or ignoring time zones)
2004-07-11T10:49:24.938000-04:00
13
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Semantic Errors: Unexpected Modes of Execution
 Example:
–Client node sends
(unexpectedly!) two
identical messages for
every transaction.
–Functional Testing did not
reveal this problem
14
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Semantic Error: Unexpected Modes of Execution

Unexpected Flow Order:
Architect did not expect
“stackingChecker” before
“compatibilityChecker”
because workflow
engine was in parallel
instead of serial mode.
15
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
“Resource Unavailable” Errors
 Find out if/where a node is down
 Effect / cause may be in different places
 Examples:
–Database server down, workflow engine
continues
–Server throws an HTTP error, fed into SOAP
parser
 We use reactive approach
 Proactive approach: synthetic heartbeat
16
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Business logic error

Example:
– For this operation we didn’t
need to call StackingChecker
service
– Unit testing did not expose
this problem – since the
existing test data generated
the correct result
17
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Profiling is Understanding
 Where is time spent?
 Network vs. business logic?
 Chatty communication?
18
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Profiling: Sorting Statistics
19

Table view helps find outliers
by sorting Network Duration
in table view for several
transactions

Selecting the outliers in table
highlights corresponding
messages in other views
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Understanding Web Services Configurations
 Example: Two concurrent Transactions using two workflow engines
20
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Understanding Web Services Configurations

Supply Chain Management from WS-I
From Design Document SCM
21
Websight - Visualizing the Execution of Web Services
Traced Topology SCM
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Dealing with complexity
22

High traffic, high number of nodes, complex interactions

Pattern extraction

Selective tracing
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Dealing with complexity: Pattern Extraction
Fifty Concurrent Transactions
23
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Selective Tracing for Heavy Loads
 Tracing everything during
heavy load is undesirable:
too much perturbation, too
much data
 Start with “marked”
transaction (carrying
correlator)
 Tracing will be turned on
when this transaction is
handled
 Reduces amount of data to
be traced
 Easier to understand 1
typical transaction than
10000
24
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Technology: based on Eclipse and Hyades
Hyades:
Integrated test, trace and monitoring environment
– Open source basic infrastructure
– Tool interoperability across testing/profiling process
– www.eclipse.org/hyades
Components
– Information model (EMF)
– Communication framework (Remote Agent Controller)
– Data collection
25
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Typical architecture for existing testing/profiling tools
26
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Hyades provides a common infrastructure
27
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Deployment
1) Collect runtime
information
28
Websight - Visualizing the Execution of Web Services
2) Present to user
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Websight Runtime
(experimental setup)
Apache SOAP
Parser
Axis
Parser
Websphere
Parser
Non-SOAP
protocols
Websight Interface
Websight Runtime
Logging
Selective
Tracing
Correlation
Websphere
Runtime
Remote Agent Controller
Visualizer
Websight Trace File
29
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Correlating Distributed Events
 Problem : correlating messages
 Goal : trace end-to-end message flow across system
30
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Correlating Distributed Events
 Correlator technology:
– ARM correlator technology
 Web Services correlator
– Websight SOAP header carries correlator
– Propagation through business logic handled by middleware
Receive
Correlator
31
Attach
Correlator
Websight - Visualizing the Execution of Web Services
Receive
Correlator
IBM TJ Watson Research
Attach
Correlator
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Summary
 Debugging Web Services requires new methodologies and tools
 Complexity at the application level
 Opportunities for work flow
32
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM TJ Watson Research Center
Contact:
[email protected]
Workshop on Testing, Analysis and Verification of Web Services
July 11, 2004
Boston, MA
IBM T.J. Watson Research Center
Backup foils
34
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
New Order Transaction
35
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Existing Order Transaction
36
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Two Concurrent Transactions using Two Workflow Engines
37
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Navigation between Views
Selecting an item in one view…
…highlights corresponding
items in the other views
38
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation
IBM T.J. Watson Research Center
Supply Chain Management: Maximal Transaction
(understanding the complex flow)
39
Websight - Visualizing the Execution of Web Services
IBM TJ Watson Research
© 2004 IBM Corporation