Websight Visualizing the Execution of Web Services

39
http://w3.ibm.com/ibm/presentations IBM TJ Watson Research Center Workshop on Testing, Analysis and Verification of Web Services July 11, 2004 Boston, MA 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]

description

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]. Outline. Motivation Debugging Web Services Profiling and understanding Web Services - PowerPoint PPT Presentation

Transcript of Websight Visualizing the Execution of Web Services

Page 1: 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]

Page 2: Websight Visualizing the Execution of Web Services

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

Page 3: Websight Visualizing the Execution of Web Services

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

Page 4: Websight Visualizing the Execution of Web Services

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

Page 5: Websight Visualizing the Execution of Web Services

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?

Page 6: Websight Visualizing the Execution of Web Services

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

Page 7: Websight Visualizing the Execution of Web Services

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

Page 8: Websight Visualizing the Execution of Web Services

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

Page 9: Websight Visualizing the Execution of Web Services

9

IBM T.J. Watson Research Center

Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation

Websight demo

Page 10: Websight Visualizing the Execution of Web Services

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

Page 11: Websight Visualizing the Execution of Web Services

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

Page 12: Websight Visualizing the Execution of Web Services

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

Page 13: Websight Visualizing the Execution of Web Services

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

Page 14: Websight Visualizing the Execution of Web Services

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

Page 15: Websight Visualizing the Execution of Web Services

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.

Page 16: Websight Visualizing the Execution of Web Services

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

Page 17: Websight Visualizing the Execution of Web Services

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

Page 18: Websight Visualizing the Execution of Web Services

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?

Page 19: Websight Visualizing the Execution of Web Services

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

Page 20: Websight Visualizing the Execution of Web Services

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

Page 21: Websight Visualizing the Execution of Web Services

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

Page 22: Websight Visualizing the Execution of Web Services

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

Page 23: Websight Visualizing the Execution of Web Services

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

Page 24: Websight Visualizing the Execution of Web Services

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

Page 25: Websight Visualizing the Execution of Web Services

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

Page 26: Websight Visualizing the Execution of Web Services

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

Page 27: Websight Visualizing the Execution of Web Services

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

Page 28: Websight Visualizing the Execution of Web Services

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

Page 29: Websight Visualizing the Execution of Web Services

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

Page 30: Websight Visualizing the Execution of Web Services

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

Page 31: Websight Visualizing the Execution of Web Services

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

Page 32: Websight Visualizing the Execution of Web Services

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

Page 33: 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

Contact:[email protected]

Page 34: Websight Visualizing the Execution of Web Services

34

IBM T.J. Watson Research Center

Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation

Backup foils

Page 35: Websight Visualizing the Execution of Web Services

35

IBM T.J. Watson Research Center

Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation

New Order Transaction

Page 36: Websight Visualizing the Execution of Web Services

36

IBM T.J. Watson Research Center

Websight - Visualizing the Execution of Web Services IBM TJ Watson Research © 2004 IBM Corporation

Existing Order Transaction

Page 37: Websight Visualizing the Execution of Web Services

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

Page 38: Websight Visualizing the Execution of Web Services

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…

Page 39: Websight Visualizing the Execution of Web Services

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)