impact analysis using graph db
DESCRIPTION
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.TRANSCRIPT
![Page 1: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/1.jpg)
Impact Analysis
Web Service and Cloud Integrations
GraphConnect London, 19/11/2013
![Page 2: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/2.jpg)
11/04/2023 Archimiddle 2
SOFTWARE INTEGRATION
![Page 3: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/3.jpg)
11/04/2023 Archimiddle 3
Integrating software
CUSTOMPOINT-TO-POINT
INTEGRATION
![Page 4: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/4.jpg)
11/04/2023 Archimiddle 4
Integrating software
STANDARDS-BASEDPOINT-TO-POINT
INTEGRATION
![Page 5: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/5.jpg)
11/04/2023 Archimiddle 5
Integrating software
SERVICE-ORIENTEDINTEGRATION
![Page 6: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/6.jpg)
11/04/2023 Archimiddle 6
Integrating software
IMPACT OF CHANGE?
![Page 7: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/7.jpg)
11/04/2023 Archimiddle 7
INTEGRATION THROUGH WEB SERVICES
![Page 8: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/8.jpg)
11/04/2023 Archimiddle 8
What are (Web) Services?• Services
– Encapsulate • Business logic• Data logic
– Encourage code reuse– Are integration building blocks
• Service Parts– Implementation– Interface– Contract
Business logic Data logic
![Page 9: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/9.jpg)
11/04/2023 Archimiddle 9
Service Oriented Architecture• Collaboration of many
services• Business process automation• Composite services• Cloud services
THIS LOOKS PRETTY
GRAPHY
![Page 10: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/10.jpg)
11/04/2023 Archimiddle 10
The functional SOA Graph
The “soft stuff”
Who uses what, when and how?
![Page 11: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/11.jpg)
11/04/2023 Archimiddle 11
The functional SOA Graph
Business process
Business activity
Service
Contract
Interface
Implementation
User
Service Usage Agreement
Service Level Agreement
Actor
:PLAYS_ROLE
:USES_SERVICE
:ACTS_IN:CONTAINS_ACTIVITY
:USES_SERVICE
:USES_SERVICE:OBEYS
:DEFINES_SLA
:DEFINES_ITF
:HAS_ITF
:HAS_CONTRACT :HAS_IMPL
:SUPPORTS_ITF
![Page 12: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/12.jpg)
11/04/2023 Archimiddle 12
The functional SOA Graph
Building the functional graph requires custom user interface to maintain the soft entity relations
Service repository functionality
![Page 13: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/13.jpg)
11/04/2023 Archimiddle 13
The technical SOA Graph
The “hard stuff”
The technical contract
![Page 14: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/14.jpg)
11/04/2023 Archimiddle 14
The technical SOA Graph
Interface
WSDL
Namespace
Operation
Message
XML Schema
XML Element
XML Type
:IS_DESCRIBED_BY
:DEFINES_OPS
:NAMES
:NAMES
:REQUESTS
:RECEIVES :IS_DEFINED_BY
:DECLARES_ELEMENT
:DECLARES_TYPE
:DEFINES
XML Group
:USES:USES_ELMS
:USES_ELM
![Page 15: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/15.jpg)
11/04/2023 Archimiddle 15
The technical SOA Graph
Building the technical graph requires an automated tool
Service repository functionality
![Page 16: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/16.jpg)
11/04/2023 Archimiddle 16
Concrete Resources
Interface
WSDL
Namespace
Operation
Message
XML Schema
XML Element
XML Type
:IS_DESCRIBED_BY
:DEFINES_OPS
:NAMES
:NAMES
:REQUESTS
:RECEIVES :IS_DEFINED_BY
:DECLARES_ELEMENT
:DECLARES_TYPE
:DEFINES
XML Group
:USES:USES_ELMS
:USES_ELM
![Page 17: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/17.jpg)
11/04/2023 Archimiddle 17
THE IMPACT OF AN EVENT
![Page 18: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/18.jpg)
11/04/2023 Archimiddle 18
Impact of change
Interface
WSDL
Namespace
Operation
Message
XML Schema
XML Element
XML Type
:IS_DESCRIBED_BY
:DEFINES_OPS
:NAMES
:NAMES
:REQUESTS
:RECEIVES :IS_DEFINED_BY
:DECLARES_ELEMENT
:DECLARES_TYPE
:DEFINES
XML Group
:USES:USES_ELMS
:USES_ELM
CHANGE!
![Page 19: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/19.jpg)
11/04/2023 Archimiddle 19
Impact of change
Interface
WSDL
Namespace
Operation
Message
XML Schema
XML Element
XML Type
:IS_DESCRIBED_BY
:DEFINES_OPS
:NAMES
:NAMES
:REQUESTS
:RECEIVES :IS_DEFINED_BY
:DECLARES_ELEMENT
:DECLARES_TYPE
:DEFINES
XML Group
:USES:USES_ELMS
:USES_ELM
![Page 20: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/20.jpg)
11/04/2023 Archimiddle 20
Impact of change
Interface
WSDL
Namespace
Operation
Message
XML Schema
XML Element
XML Type
:IS_DESCRIBED_BY
:DEFINES_OPS
:NAMES
:NAMES
:REQUESTS
:RECEIVES :IS_DEFINED_BY
:DECLARES_ELEMENT
:DECLARES_TYPE
:DEFINES
XML Group
:USES:USES_ELMS
:USES_ELM
![Page 21: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/21.jpg)
11/04/2023 Archimiddle 21
Impact of change
Interface
WSDL
Namespace
Operation
Message
XML Schema
XML Element
XML Type
:IS_DESCRIBED_BY
:DEFINES_OPS
:NAMES
:NAMES
:REQUESTS
:RECEIVES :IS_DEFINED_BY
:DECLARES_ELEMENT
:DECLARES_TYPE
:DEFINES
XML Group
:USES:USES_ELMS
:USES_ELM
![Page 22: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/22.jpg)
11/04/2023 Archimiddle 22
Impact of change
Interface
WSDL
Namespace
Operation
Message
XML Schema
XML Element
XML Type
:IS_DESCRIBED_BY
:DEFINES_OPS
:NAMES
:NAMES
:REQUESTS
:RECEIVES :IS_DEFINED_BY
:DECLARES_ELEMENT
:DECLARES_TYPE
:DEFINES
XML Group
:USES:USES_ELMS
:USES_ELM
![Page 23: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/23.jpg)
11/04/2023 Archimiddle 23
Impact of change
Interface
WSDL
Namespace
Operation
Message
XML Schema
XML Element
XML Type
:IS_DESCRIBED_BY
:DEFINES_OPS
:NAMES
:NAMES
:REQUESTS
:RECEIVES :IS_DEFINED_BY
:DECLARES_ELEMENT
:DECLARES_TYPE
:DEFINES
XML Group
:USES:USES_ELMS
:USES_ELM
![Page 24: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/24.jpg)
11/04/2023 Archimiddle 24
Impact of a small change
Interface
WSDL
Namespace
Operation
Message
XML Schema
XML Element
XML Type
:IS_DESCRIBED_BY
:DEFINES_OPS
:NAMES
:NAMES
:REQUESTS
:RECEIVES :IS_DEFINED_BY
:DECLARES_ELEMENT
:DECLARES_TYPE
:DEFINES
XML Group
:USES:USES_ELMS
:USES_ELM
Impact can be large
![Page 25: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/25.jpg)
11/04/2023 Archimiddle 25
Introducing Meteorite
![Page 26: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/26.jpg)
11/04/2023 Archimiddle 26
Meteorite version 1.0
Build the technical graph
• Read the technical contract– WSDL– XML schema
• Parse it• Build the graph• Store the graph
– In embedded Neo4J
Perform impact analysis
• Pick a point of change• Traverse the graph “upward”• Build the “impact graph”• Make it available off-line
![Page 27: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/27.jpg)
11/04/2023 Archimiddle 27
Test set: http://www.archimiddle.com/wp-content/uploads/2013/08/meteorite-test.rar
Meteorite version 1.0
https://meteorite.archimiddle.com/
Collection of WSDL and XML schema files
Step-by-step guide: http://ignazw.blogspot.be/2013/08/meteorite-test-set.html
![Page 28: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/28.jpg)
11/04/2023 Archimiddle 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
![Page 29: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/29.jpg)
11/04/2023 Archimiddle 29
Sample impact graph
![Page 30: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/30.jpg)
11/04/2023 Archimiddle 30
Sample impact graph
To be changed
Impacted
![Page 31: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/31.jpg)
11/04/2023 Archimiddle 31
SERVICE VERSIONING
![Page 32: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/32.jpg)
11/04/2023 Archimiddle 32
A change in the service contract
API CHANGE
NEWSERVICEVERSION
![Page 33: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/33.jpg)
11/04/2023 Archimiddle 33
Complexity: resource versioning
Interface
WSDL
XML Schema
:IS_DESCRIBED_BY
:FIRST_VERSION
:CONTAINS
WSDL v1
WSDL v2
WSDL v3
:LAST_VERSION
:NEXT_VERSION :NEXT_VERSION
XML Schema v1
XML Schema v2
:LAST_VERSION:FIRST_VERSION
:NEXT_VERSION:USES_SCHEMA
:USES_SCHEMA
:USES_SCHEMA
![Page 34: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/34.jpg)
11/04/2023 Archimiddle 34
METEORITE ROADMAP
![Page 35: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/35.jpg)
11/04/2023 Archimiddle 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
![Page 36: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/36.jpg)
11/04/2023 Archimiddle 36
FINAL WORDS
![Page 37: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/37.jpg)
11/04/2023 Archimiddle 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
![Page 38: Impact Analysis using Graph DB](https://reader036.vdocuments.mx/reader036/viewer/2022062312/553bc2b94a795980388b471d/html5/thumbnails/38.jpg)
[email protected]@ignazw