Impact Analysis using Graph DB

1,254 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
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,254
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
16
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

×