1 / 23

sCrawler SOA Dependency Tracker

sCrawler is a powerful tool that provides graphical visibility into dependencies within Oracle SOA applications. It enables quick impact analysis, finding bottlenecks, and monitoring endpoints, making development more efficient.

achittenden
Download Presentation

sCrawler SOA Dependency Tracker

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sandeep Phukan Oracle SSI Prestige Tech Park, Bangalore, India sandeep.phukan@oracle.com sCrawlerSOA Dependency Tracker

  2. Agenda • What is Dependency • Computational Graphs for Dependency • Designtime Vs Runtime • Oracle SOA Gaps • sCrawler Abilities • Crawling Algorithm • Demo • References • Questions And Answers

  3. What is Dependency • Dependency is a relationship between one entity to another • In SOA Context, dependency means • Which endpoints are referred to by a BPEL or ESB Service • Which types of Adapters are referred to by BPEL or ESB Service • Which external services / Abstract WSDLs are referred by BPEL or ESB Service • Given a change to a particular Service, which other services might be impacted immediately, etc

  4. Computational Graphs for Dependency • Graphs can be directed or undirected • ESB Request Response BPEL (bi-directional) • ESB One Way BPEL (unidirectional) • Multi Graphs allow more than a single relationship to be modeled • InboundAdapter to ESB one to Many • BPEL to ESB Many to One • Cyclic Relationships can be identified • ESB1 BPEL1BPEL2……  ESB1

  5. DesignTime Runtime ChangeTime Designtime Vs Runtime

  6. Oracle SOA Gaps • There is no graphical means to track Designtime dependencies end to end • InboundAdapter  ESB  BPEL  ESB  OutboundAdapter • Time Consuming Tasks • Track manually via Enterprise Manager • Heavy on XML • Refer to JDeveloper Source Code • Requires good understanding of Oracle SOA Internals • Difficult to do quick Impact Analysis

  7. Visibility Use Case

  8. Visibility Use Case (contd)

  9. Visibility Use Case (contd)

  10. sCrawler Abilities • Provides a graphical end to end view of SOA Designtime Artifacts • ESB Services • BPEL Processes • Inbound and Outbound Adapters • Abstract WSDLS • External Services • Message Exchange Patterns • No understanding of Oracle SOA required • Zero configuration, Completely Automatic • Only input is URL of a SOA Artifact • Runs as a Standalone Application

  11. sCrawler Abilities (contd) • Scalable • Thread Pools, Thread Safe, Deterministic response time • 263 Artifacts,166 Relationships, 101 Integration Scenarios crawled in 22 secs at an average of 72 ms per artifact on Oracle Application Server running on a single 2.2Ghz CPU using 8 worker threads • Complete separation of concern: sCrawler Graph Vs Visualization • Can be plugged with any XML based graphics Rendering Engine • sCrawler  Flex via BlazeDS • sCrawler  SVG via Batik • sCrawler  Microsoft Documents via Apache POI

  12. sCrawler Abilities (contd) • Quick and Effective Impact Analysis • Finding bottlenecks (Fan Out, Fan In) • Finding Impacted Services or Processes • Graph can be extended for • Discovering Paths for Parallel Deployment • Automatic endpoint testing via Stubs • Endpoint monitoring for an Integration Scenario • Development Effort Estimation

  13. sCrawler Abilities (contd)

  14. sCrawler Abilities (contd) Graphical Abstractions

  15. sCrawler Abilities (contd) Message Exchange Patterns

  16. sCrawler Abilities (contd) Cyclic Views

  17. sCrawler Abilities (contd) Graphical Impact Analysis

  18. sCrawler Abilities (contd) Ease of Use

  19. sCrawler Abilities (contd) Pluggable Front end

  20. Crawling Algorithm • Iterative Recursive Algorithm: Simple Approach • If runtime of process is NULL, return graph • Else, add parent Node to graph and find list of immediate children • If list is NULL, return graph • Else, for each child in children, add child Node to graph and link [parent,child] • Call Step 1 with child runtime Process Process Process Process Process O(nlogN)

  21. Demo

  22. References • http://code.google.com/p/scrawler/ • http://www.oracle.com/technology/pub/articles/scrawler_sandeep_phukan.html • http://blogs.oracle.com/SoaRanch/sCrawler%20Paper.pdf • http://blogs.oracle.com/SoaRanch/2008/12/soa_process_dependency_trackin.html

  23. Questions & Answers

More Related