Top Banner
Impact Analysis Web Service and Cloud Integrations GraphConnect London, 19/11/2013
38

Impact Analysis using Graph DB

Apr 24, 2015

Download

Technology

Ignaz Wanders

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Impact Analysis using Graph DB

Impact Analysis

Web Service and Cloud Integrations

GraphConnect London, 19/11/2013

Page 2: Impact Analysis using Graph DB

11/04/2023 Archimiddle 2

SOFTWARE INTEGRATION

Page 3: Impact Analysis using Graph DB

11/04/2023 Archimiddle 3

Integrating software

CUSTOMPOINT-TO-POINT

INTEGRATION

Page 4: Impact Analysis using Graph DB

11/04/2023 Archimiddle 4

Integrating software

STANDARDS-BASEDPOINT-TO-POINT

INTEGRATION

Page 5: Impact Analysis using Graph DB

11/04/2023 Archimiddle 5

Integrating software

SERVICE-ORIENTEDINTEGRATION

Page 6: Impact Analysis using Graph DB

11/04/2023 Archimiddle 6

Integrating software

IMPACT OF CHANGE?

Page 7: Impact Analysis using Graph DB

11/04/2023 Archimiddle 7

INTEGRATION THROUGH WEB SERVICES

Page 8: Impact Analysis using Graph DB

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

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

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

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

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

11/04/2023 Archimiddle 13

The technical SOA Graph

The “hard stuff”

The technical contract

Page 14: Impact Analysis using Graph DB

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

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

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

11/04/2023 Archimiddle 17

THE IMPACT OF AN EVENT

Page 18: Impact Analysis using Graph DB

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

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

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

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

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

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

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

11/04/2023 Archimiddle 25

Introducing Meteorite

Page 26: Impact Analysis using Graph DB

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

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

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

11/04/2023 Archimiddle 29

Sample impact graph

Page 30: Impact Analysis using Graph DB

11/04/2023 Archimiddle 30

Sample impact graph

To be changed

Impacted

Page 31: Impact Analysis using Graph DB

11/04/2023 Archimiddle 31

SERVICE VERSIONING

Page 32: Impact Analysis using Graph DB

11/04/2023 Archimiddle 32

A change in the service contract

API CHANGE

NEWSERVICEVERSION

Page 33: Impact Analysis using Graph DB

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

11/04/2023 Archimiddle 34

METEORITE ROADMAP

Page 35: Impact Analysis using Graph DB

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

11/04/2023 Archimiddle 36

FINAL WORDS

Page 37: Impact Analysis using Graph DB

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

[email protected]@ignazw