Upload
ignaz-wanders
View
648
Download
4
Embed Size (px)
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.
Citation preview
Impact Analysis
Web Service and Cloud Integrations
GraphConnect London, 19/11/2013
11/04/2023 Archimiddle 2
SOFTWARE INTEGRATION
11/04/2023 Archimiddle 3
Integrating software
CUSTOMPOINT-TO-POINT
INTEGRATION
11/04/2023 Archimiddle 4
Integrating software
STANDARDS-BASEDPOINT-TO-POINT
INTEGRATION
11/04/2023 Archimiddle 5
Integrating software
SERVICE-ORIENTEDINTEGRATION
11/04/2023 Archimiddle 6
Integrating software
IMPACT OF CHANGE?
11/04/2023 Archimiddle 7
INTEGRATION THROUGH WEB SERVICES
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
11/04/2023 Archimiddle 9
Service Oriented Architecture• Collaboration of many
services• Business process automation• Composite services• Cloud services
THIS LOOKS PRETTY
GRAPHY
11/04/2023 Archimiddle 10
The functional SOA Graph
The “soft stuff”
Who uses what, when and how?
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
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
11/04/2023 Archimiddle 13
The technical SOA Graph
The “hard stuff”
The technical contract
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
11/04/2023 Archimiddle 15
The technical SOA Graph
Building the technical graph requires an automated tool
Service repository functionality
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
11/04/2023 Archimiddle 17
THE IMPACT OF AN EVENT
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!
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
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
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
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
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
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
11/04/2023 Archimiddle 25
Introducing Meteorite
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
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
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
11/04/2023 Archimiddle 29
Sample impact graph
11/04/2023 Archimiddle 30
Sample impact graph
To be changed
Impacted
11/04/2023 Archimiddle 31
SERVICE VERSIONING
11/04/2023 Archimiddle 32
A change in the service contract
API CHANGE
NEWSERVICEVERSION
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
11/04/2023 Archimiddle 34
METEORITE ROADMAP
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
11/04/2023 Archimiddle 36
FINAL WORDS
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
[email protected]@ignazw