Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

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

description

Many IT systems integrate with other systems via standard protocols and interfaces, such as web service and cloud architectures. But in a fast-moving world, a small change in one system, can result in an unwanted cascade of changes in other systems. In this talk, Ignaz will address the impact of changing a web service contract by performing an impact analysis using a simple tool, called Meteorite, which uses the Neo4j graph database.

Transcript of Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

Page 1: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

Impact Analysis

Web Service and Cloud Integrations

GraphConnect London, 19/11/2013

Page 2: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 2

SOFTWARE INTEGRATION

Page 3: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 3

Integrating software

CUSTOMPOINT-TO-POINT

INTEGRATION

Page 4: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 4

Integrating software

STANDARDS-BASEDPOINT-TO-POINT

INTEGRATION

Page 5: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 5

Integrating software

SERVICE-ORIENTEDINTEGRATION

Page 6: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 6

Integrating software

IMPACT OF CHANGE?

Page 7: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 7

INTEGRATION THROUGH WEB SERVICES

Page 8: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 10

The functional SOA Graph

The “soft stuff”

Who uses what, when and how?

Page 11: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 13

The technical SOA Graph

The “hard stuff”

The technical contract

Page 14: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 15

The technical SOA Graph

Building the technical graph requires an automated tool

Service repository functionality

Page 16: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 17

THE IMPACT OF AN EVENT

Page 18: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 25

Introducing Meteorite

Page 26: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 29

Sample impact graph

Page 30: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 30

Sample impact graph

To be changed

Impacted

Page 31: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 31

SERVICE VERSIONING

Page 32: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 32

A change in the service contract

API CHANGE

NEWSERVICEVERSION

Page 33: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 34

METEORITE ROADMAP

Page 35: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/04/2023 Archimiddle 36

FINAL WORDS

Page 37: Impact Analysis of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

10/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 of Web Service and Cloud Integrations - Ignaz Wanders @ GraphConnect London 2013

[email protected]@ignazw