Building Web Services Middleware with Predictable Service Execution
Websight Visualizing the Execution of Web Services
description
Transcript of Websight Visualizing the Execution of Web Services
IBM TJ Watson Research Center
Workshop on Testing, Analysis and Verification of Web ServicesJuly 11, 2004 Boston, MA
WebsightVisualizing 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]
2
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Outline
Motivation
Debugging Web Services
Profiling and understanding Web Services
Dealing with complexity
Technology
Conclusions
3
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
What are Web Services?
"A WSDL described interface that defines a collection of network accessible operations"
Modular Composed Described Published Found Bound Invoked
4
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Evolution of Web Services
Internal Enterprise Application Integration
External Integration
Dynamic adaptation in e-business
=> Lingua Franca for (loosely coupled) distributed systems
5
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Web Services: the Challenge
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?
6
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Websight: Problem Determination for Web Services
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
7
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
BPEL Engine
PartnerWorld
SAP-F
Compatibility
Exclusivity
Check warranty
period
Check Model &
Serial number
--
------
---
--------
Web Services wrapperValidation Functions
BP
Mod
elfo
r SP
V
Java to Web Services
Sample Target: eServicePac
8
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Lifecycle
Business requirementsCountry= Utopia Order entry scenario
e-ServicePac type 1 - tied order 2 – discrete order (h/w specified)
3 – discrete order(no h/w specified)
Warranty and maintenance option 1,3 A 1,2,3,4 A A
Installation 1,3 1,2,3,4
Maintenance B 1,2,5 B B
Example 1,2,3
Example 3 3
Design
ImplementDeploy
OperationMaintenance
Problem Determination
9
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Websight demo
10
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Debugging Web Services
Syntax errors
Semantic errors
“Resource unavailable” errors
Business logic errors
11
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
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:datejava.util.GregorianCalendar xsd:dateTime
Example: encoding of null String vs. empty String
Example: problem with “out of range” values
12
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Find Syntax Errors by Inspecting the Content
13
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
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
14
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Semantic Errors: Unexpected Modes of Execution
Example:
–Client node sends (unexpectedly!) two identical messages for every transaction.
–Functional Testing did not reveal this problem
15
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
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.
16
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
“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
17
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
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
18
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Profiling is Understanding
Where is time spent?
Network vs. business logic?
Chatty communication?
19
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Profiling: Sorting Statistics
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
20
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Understanding Web Services Configurations Example: Two concurrent Transactions using two workflow engines
21
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Understanding Web Services Configurations
From Design Document SCM Traced Topology SCM
Supply Chain Management from WS-I
22
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Dealing with complexity
High traffic, high number of nodes, complex interactions
Pattern extraction
Selective tracing
23
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Fifty Concurrent Transactions
Dealing with complexity: Pattern Extraction
24
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
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
25
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
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
26
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Typical architecture for existing testing/profiling tools
27
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Hyades provides a common infrastructure
28
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Deployment
1) Collect runtimeinformation
2) Present to user
29
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Websight Runtime (experimental setup)
Websight Interface
AxisParser
WebsphereParser
Websight Runtime
Non-SOAPprotocols
Apache SOAPParser
Websight Trace FileVisualizer
WebsphereRuntimeCorrelationLogging Selective
Tracing
Remote Agent Controller
30
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Correlating Distributed Events
Problem : correlating messages
Goal : trace end-to-end message flow across system
31
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Correlating Distributed Events
Correlator technology:– ARM correlator technology
Web Services correlator– Websight SOAP header carries correlator
– Propagation through business logic handled by middleware
AttachCorrelator
ReceiveCorrelator
ReceiveCorrelator
AttachCorrelator
32
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Summary
Debugging Web Services requires new methodologies and tools
Complexity at the application level
Opportunities for work flow
IBM TJ Watson Research Center
Workshop on Testing, Analysis and Verification of Web ServicesJuly 11, 2004 Boston, MA
Contact:[email protected]
34
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Backup foils
35
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
New Order Transaction
36
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Existing Order Transaction
37
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Two Concurrent Transactions using Two Workflow Engines
38
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Navigation between Views
…highlights corresponding items in the other views
Selecting an item in one view…
39
IBM T.J. Watson Research Center
Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation
Supply Chain Management: Maximal Transaction(understanding the complex flow)