390 likes | 508 Vues
Discover the power of Websight in optimizing web services execution. This comprehensive session covers the core challenges of debugging and profiling web services, understanding complex interactions, and effectively managing system configurations. Learn how to determine problems through effective analysis of applications, trace logs, and performance metrics. The discussion includes common errors, semantic discrepancies, and methods for reducing complexity during high-load scenarios. Join experts from IBM as they present tools and strategies to enhance your web services’ reliability and efficiency.
E N D
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: wim@us.ibm.com
Outline • Motivation • Debugging Web Services • Profiling and understanding Web Services • Dealing with complexity • Technology • Conclusions Agenda slide
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 • Internal Enterprise Application Integration • External Integration • Dynamic adaptation in e-business => Lingua Franca for (loosely coupled) distributed systems
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 • 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 Compatibility BP Model for SPV Exclusivity Partner World Check warranty period SAP-F Check Model & Serial number Java to Web Services Web Services wrapper Validation Functions
Operation Maintenance Problem Determination Lifecycle Implement Deploy Design Business requirements
Debugging Web Services • Syntax errors • Semantic errors • “Resource unavailable” errors • Business logic 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
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 • Example: • Client node sends (unexpectedly!) two identical messages for every transaction. • Functional Testing did not reveal this problem
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 • 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 • 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 • Where is time spent? • Network vs. business logic? • Chatty communication?
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 • Example: Two concurrent Transactions using two workflow engines
From Design Document SCM Traced Topology SCM Understanding Web Services Configurations • Supply Chain Management from WS-I
Dealing with complexity • High traffic, high number of nodes, complex interactions • Pattern extraction • Selective tracing
Dealing with complexity: Pattern Extraction Fifty Concurrent Transactions
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 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
Deployment • Collect runtime • information 2) Present to user
SelectiveTracing Websight Runtime (experimental setup) Apache SOAP Parser Axis Parser Websphere Parser Non-SOAP protocols Websight Interface Websight Runtime Websphere Runtime Logging Correlation Remote Agent Controller Visualizer Websight Trace File
Correlating Distributed Events • Problem : correlating messages • Goal : trace end-to-end message flow across system ?
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 Receive Correlator Attach Correlator Attach Correlator
Summary • Debugging Web Services requires new methodologies and tools • Complexity at the application level • Opportunities for work flow
Contact:wim@us.ibm.com Closing slide
Navigation between Views Selecting an item in one view… …highlights corresponding items in the other views
Supply Chain Management: Maximal Transaction(understanding the complex flow)