Impact Analysis using Graph DB

Post on 24-Apr-2015

647 views 4 download

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 of Impact Analysis using Graph DB

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

ContactIgnaz.Wanders@Archimiddle.com@ignazw