Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Impact Analysis using Graph DB

1,353 views

Published on

Slides from presentation at GraphConnect London 19/11/2013 about performing an impact analysis using Neo4J graph database in the domain of web service integration.

Published in: Technology
  • Be the first to comment

Impact Analysis using Graph DB

  1. 1. Impact Analysis Web Service and Cloud Integrations GraphConnect London, 19/11/2013
  2. 2. SOFTWARE INTEGRATION 19/11/2013 Archimiddle 2
  3. 3. Integrating software CUSTOM POINT-TO-POINT INTEGRATION 19/11/2013 Archimiddle 3
  4. 4. Integrating software STANDARDS-BASED POINT-TO-POINT INTEGRATION 19/11/2013 Archimiddle 4
  5. 5. Integrating software SERVICE-ORIENTED INTEGRATION 19/11/2013 Archimiddle 5
  6. 6. Integrating software IMPACT OF CHANGE? 19/11/2013 Archimiddle 6
  7. 7. INTEGRATION THROUGH WEB SERVICES 19/11/2013 Archimiddle 7
  8. 8. What are (Web) Services? • Services – Encapsulate • Business logic • Data logic – Encourage code reuse – Are integration building blocks • Business logic Data logic Service Parts – Implementation – Interface – Contract 19/11/2013 Archimiddle 8
  9. 9. Service Oriented Architecture • • • • Collaboration of many services Business process automation Composite services Cloud services 19/11/2013 Archimiddle 9
  10. 10. The functional SOA Graph The “soft stuff” Who uses what, when and how? 19/11/2013 Archimiddle 10
  11. 11. The functional SOA Graph Actor Business process :ACTS_IN :PLAYS_ROLE User :CONTAINS_ACTIVITY Business activity :USES_SERVICE :USES_SERVICE Service Usage Agreement :OBEYS Service Level Agreement :DEFINES_SLA :USES_SERVICE Service :HAS_IMPL :HAS_CONTRACT :HAS_ITF Contract Implementation :DEFINES_ITF :SUPPORTS_ITF Interface 19/11/2013 Archimiddle 11
  12. 12. The functional SOA Graph Building the functional graph requires custom user interface to maintain the soft entity relations Service repository functionality 19/11/2013 Archimiddle 12
  13. 13. The technical SOA Graph The “hard stuff” The technical contract 19/11/2013 Archimiddle 13
  14. 14. The technical SOA Graph Interface :IS_DESCRIBED_BY XML Group :USES_ELMS WSDL :NAMES XML Element :DEFINES_OPS Namespace XML Schema :REQUESTS 19/11/2013 :DECLARES_ELEMENT :DEFINES :USES_ELM XML Type :NAMES Operation :RECEIVES :USES Message :DECLARES_TYPE :IS_DEFINED_BY Archimiddle 14
  15. 15. The technical SOA Graph Building the technical graph requires an automated tool Service repository functionality 19/11/2013 Archimiddle 15
  16. 16. Concrete Resources Interface :IS_DESCRIBED_BY XML Group :USES_ELMS WSDL :NAMES XML Element :DEFINES_OPS Namespace XML Schema :REQUESTS 19/11/2013 :DECLARES_ELEMENT :DEFINES :USES_ELM XML Type :NAMES Operation :RECEIVES :USES Message :DECLARES_TYPE :IS_DEFINED_BY Archimiddle 16
  17. 17. THE IMPACT OF AN EVENT 19/11/2013 Archimiddle 17
  18. 18. Impact of change Interface CHANGE! :IS_DESCRIBED_BY XML Group :USES_ELMS WSDL :NAMES XML Element :DEFINES_OPS Namespace XML Schema :REQUESTS 19/11/2013 :DECLARES_ELEMENT :DEFINES :USES_ELM XML Type :NAMES Operation :RECEIVES :USES Message :DECLARES_TYPE :IS_DEFINED_BY Archimiddle 18
  19. 19. Impact of change Interface :IS_DESCRIBED_BY XML Group :USES_ELMS WSDL :NAMES XML Element :DEFINES_OPS Namespace XML Schema :REQUESTS 19/11/2013 :DECLARES_ELEMENT :DEFINES :USES_ELM XML Type :NAMES Operation :RECEIVES :USES Message :DECLARES_TYPE :IS_DEFINED_BY Archimiddle 19
  20. 20. Impact of change Interface :IS_DESCRIBED_BY XML Group :USES_ELMS WSDL :NAMES XML Element :DEFINES_OPS Namespace XML Schema :REQUESTS 19/11/2013 :DECLARES_ELEMENT :DEFINES :USES_ELM XML Type :NAMES Operation :RECEIVES :USES Message :DECLARES_TYPE :IS_DEFINED_BY Archimiddle 20
  21. 21. Impact of change Interface :IS_DESCRIBED_BY XML Group :USES_ELMS WSDL :NAMES XML Element :DEFINES_OPS Namespace XML Schema :REQUESTS 19/11/2013 :DECLARES_ELEMENT :DEFINES :USES_ELM XML Type :NAMES Operation :RECEIVES :USES Message :DECLARES_TYPE :IS_DEFINED_BY Archimiddle 21
  22. 22. Impact of change Interface :IS_DESCRIBED_BY XML Group :USES_ELMS WSDL :NAMES XML Element :DEFINES_OPS Namespace XML Schema :REQUESTS 19/11/2013 :DECLARES_ELEMENT :DEFINES :USES_ELM XML Type :NAMES Operation :RECEIVES :USES Message :DECLARES_TYPE :IS_DEFINED_BY Archimiddle 22
  23. 23. Impact of change Interface :IS_DESCRIBED_BY XML Group :USES_ELMS WSDL :NAMES XML Element :DEFINES_OPS Namespace XML Schema :REQUESTS 19/11/2013 :DECLARES_ELEMENT :DEFINES :USES_ELM XML Type :NAMES Operation :RECEIVES :USES Message :DECLARES_TYPE :IS_DEFINED_BY Archimiddle 23
  24. 24. Impact of a small change Interface :IS_DESCRIBED_BY WSDL Impact can be large XML Element Namespace :USES :DECLARES_ELEMENT :DEFINES :USES_ELM XML Type :NAMES Operation XML Schema :REQUESTS 19/11/2013 :USES_ELMS :NAMES :DEFINES_OPS :RECEIVES XML Group Message :DECLARES_TYPE :IS_DEFINED_BY Archimiddle 24
  25. 25. Introducing Meteorite 19/11/2013 Archimiddle 25
  26. 26. Meteorite version 1.0 Build the technical graph • Read the technical contract – WSDL – XML schema • • • Parse it Build the graph Store the graph Perform impact analysis • • • • Pick a point of change Traverse the graph “upward” Build the “impact graph” Make it available off-line – In embedded Neo4J 19/11/2013 Archimiddle 26
  27. 27. Meteorite version 1.0 https://meteorite.archimiddle.com/ Test set: http://www.archimiddle.com/wp-content/uploads/2013/08/meteorite-test.rar Step-by-step guide: http://ignazw.blogspot.be/2013/08/meteorite-test-set.html Collection of WSDL and XML schema files 19/11/2013 Archimiddle 27
  28. 28. Meteorite Practical Usage • Logon – Google or LinkedIn account • Upload data – Zip and rar supported • Search the node you want to analyse – Go down the tree or use the search box • Start the impact analysis – View or download the results • Visual graph • Textual path data 19/11/2013 Archimiddle 28
  29. 29. Sample impact graph 19/11/2013 Archimiddle 29
  30. 30. Sample impact graph Impacted To be changed 19/11/2013 Archimiddle 30
  31. 31. SERVICE VERSIONING 19/11/2013 Archimiddle 31
  32. 32. A change in the service contract API CHANGE NEW SERVICE VERSION 19/11/2013 Archimiddle 32
  33. 33. Complexity: resource versioning Interface :IS_DESCRIBED_BY :CONTAINS :FIRST_VERSION WSDL :LAST_VERSION WSDL v1 WSDL v3 XML Schema :USES_SCHEMA :FIRST_VERSION :NEXT_VERSION WSDL v2 :NEXT_VERSION XML Schema v2 :USES_SCHEMA :NEXT_VERSION :USES_SCHEMA 19/11/2013 :LAST_VERSION XML Schema v1 Archimiddle 33
  34. 34. METEORITE ROADMAP 19/11/2013 Archimiddle 34
  35. 35. Meteorite Roadmap • Version 1.1 – Add automatic change discovery • Version 1.2 – Add versioning strategies • Version 2.0 – Add functional SOA graph • User Interface • Resource API • Version 3.0 – Service repository 19/11/2013 Archimiddle 35
  36. 36. FINAL WORDS 19/11/2013 Archimiddle 36
  37. 37. Final words A Graph DB is excellent for performing impact analysis of events on highly connected systems Events can be anything: a change, a failure, an addition, … Thousands of use cases exist 19/11/2013 Archimiddle 37
  38. 38. Contact Ignaz.Wanders@Archimiddle.com @ignazw

×