Share PowerPoint. Anywhere!

Websight TAV WEB July 2004

Uploaded from authorPOINT
Download as Download Not Available PPT
Presentation Description

No description available

Views: 30
Like it  ( Likes) Dislike it  ( Dislikes)
Added: September 18, 2007 This presentation is Public
Presentation Category :Entertainment
Tags Add Tags
Presentation StatisticsNew!
Views on authorSTREAM: 30
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)