Presentation Transcript
WebsightVisualizing the Execution of Web Services : 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: wim@us.ibm.com
Outline : Outline Motivation
Debugging Web Services
Profiling and understanding Web Services
Dealing with complexity
Technology
Conclusions
Agenda slide
What are Web Services? : What are Web Services? 'A WSDL described interface that defines a collection of network accessible operations'
Modular
Composed
Described
Published
Found
Bound
Invoked
Evolution of Web Services : Evolution of Web Services Internal Enterprise Application Integration
External Integration
Dynamic adaptation in e-business
=andgt; Lingua Franca for (loosely coupled) distributed systems
Web Services: the Challenge : 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?
Websight: Problem Determination for Web Services : 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
Sample Target: eServicePac : BPEL Engine Partner
World SAP-F Compatibility Exclusivity Check
warranty
period Check
Model andamp;
Serial number Web Services wrapper Validation Functions BP Model
for SPV Java to Web Services Sample Target: eServicePac
Lifecycle : Lifecycle Business requirements Design Implement
Deploy Operation
Maintenance
Problem Determination
Websight demo : Websight demo
Debugging Web Services : Debugging Web Services Syntax errors
Semantic errors
'Resource unavailable' errors
Business logic errors
Syntax Errors : 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
Find Syntax Errors by Inspecting the Content : Find Syntax Errors by Inspecting the Content
Semantic Errors: Discordant Meanings : 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
Semantic Errors: Unexpected Modes of Execution : Semantic Errors: Unexpected Modes of Execution Example:
Client node sends (unexpectedly!) two identical messages for every transaction.
Functional Testing did not reveal this problem
Semantic Error: Unexpected Modes of Execution : 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.
“Resource Unavailable” Errors : '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
Business logic error : 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
Profiling is Understanding : Profiling is Understanding Where is time spent?
Network vs. business logic?
Chatty communication?
Profiling: Sorting Statistics : 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
Understanding Web Services Configurations : Understanding Web Services Configurations Example: Two concurrent Transactions using two workflow engines
Understanding Web Services Configurations : Understanding Web Services Configurations From Design Document SCM Traced Topology SCM Supply Chain Management from WS-I
Dealing with complexity : Dealing with complexity High traffic, high number of nodes, complex interactions
Pattern extraction
Selective tracing
Fifty Concurrent Transactions : Fifty Concurrent Transactions Dealing with complexity: Pattern Extraction
Selective Tracing for Heavy Loads : 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
Technology: based on Eclipse and Hyades : 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
Typical architecture for existing testing/profiling tools : Typical architecture for existing testing/profiling tools
Hyades provides a common infrastructure : Hyades provides a common infrastructure
Deployment : Deployment Collect runtime
information 2) Present to user
Websight Runtime (experimental setup) : Websight Runtime (experimental setup) Websight Interface Axis
Parser Websphere
Parser Websight Runtime
Non-SOAP
protocols Apache SOAP
Parser Websight Trace File Visualizer Websphere
Runtime Correlation Logging Remote Agent Controller
Correlating Distributed Events : Correlating Distributed Events Problem : correlating messages
Goal : trace end-to-end message flow across system
Correlating Distributed Events : Correlating Distributed Events
Correlator technology:
ARM correlator technology
Web Services correlator
Websight SOAP header carries correlator
Propagation through business logic handled by middleware Attach
Correlator Receive
Correlator Receive
Correlator Attach
Correlator
Summary : Summary Debugging Web Services requires new methodologies and tools
Complexity at the application level
Opportunities for work flow
Contact:wim@us.ibm.com : Contact: wim@us.ibm.com Closing slide
Backup foils : Backup foils
New Order Transaction : New Order Transaction
Existing Order Transaction : Existing Order Transaction
Two Concurrent Transactions using Two Workflow Engines : Two Concurrent Transactions using Two Workflow Engines
Navigation between Views : Navigation between Views …highlights corresponding items in the other views Selecting an item in one view…
Supply Chain Management: Maximal Transaction(understanding the complex flow) : Supply Chain Management: Maximal Transaction (understanding the complex flow)
Catch the
buzz on authorSTREAM
Copyright © 2002-2008 authorSTREAM. All rights reserved.