The Integration blog covers the latest in product updates, best practices, customer stories, and more.

  • December 15, 2015

New SOA Diagnostics Tool - IWS Reports - Overview


Among many new features added for 12.2.1 version of Oracle Fusion Middleware (announcement link) and demoed at this year's recently concluded Oracle Open World, I'm particularly excited about brand new diagnostics feature of Oracle SOA Suite called IWS Reports - being the lead designer and implementer of this project. 

IWS stands for Integration Workload Statistics and is intended to provide Oracle DB AWR like diagnostics for SOA applications. At high level, IWS can help user with two common challenges faced in SOA:

1 - Scaling Issue
2 - Performance Bottlenecks

Diagnosing performance and scalability issues in SOA can be hard. Performance of a system depends on number of factors. SOA Systems pose particular challenge since large installations typically involves interactions between partners and services - internal and external, stateful and stateless components, synchronous and asynchronous communications, deployment over multi-domain clusters etc.

Main causes for performance/scalability issues:

  1. Insufficient resources - CPU/Memory/network bandwidth
  2. Improper configurations - thread pools/data-sources etc.
  3. Slow partners
  4. Slow database (back-end)
  5. Lower stack (such as application server or operating system) performance issues

    The above causes can manifest in following:

    • Lower overall throughput
    • Large increase in response time
    • Backups in global queues
    • System stuck in extreme cases
    • Random errors/non-deterministic behavior (extreme low memory situations)

    IWS Reports provide variety of statistics such as system resource usage, message flows at key points in the system, backlogs at various components and activity execution times which can diagnose performance/scaling issues. 

    IWS in nutshell

    • Helps in identifying bottlenecks and/or backups in the system
    • Useful for tuning for scaling or performance improvement
    • Snapshot based (configurable)/Automatic 
    • Central - collects stats from components and bindings/adapters in single output
    • Lends top-down/outside-in or direct analysis
    • Statistics maps to user application/project environment
    • Single point filtering based on Application/Composite/Component
    • Adds very little memory/processing overhead. Can be left always-on in production systems (off by default)
    • Snapshots persisted - for historical analysis/bench-marking/baseline and snapshot comparison
    Note that there are two patents pending around concepts of diagnostics and backlog calculations as used in IWS Reports. 

    In series of follow up articles I'll explain features of this new tool in more detail using simple scenario and also explain the methodology that can be used for diagnosing performance or scaling issues. Will also provide some internal details about design and architecture.  

    Be the first to comment

    Comments ( 0 )
    Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.