Impact Analysis
Web Service and Cloud Integrations

GraphConnect London, 19/11/2013
SOFTWARE INTEGRATION
20/11/2013

Archimiddle

2
Integrating software

CUSTOM
POINT-TO-POINT
INTEGRATION

20/11/2013

Archimiddle

3
Integrating software

STANDARDS-BASED
POINT-TO-POINT
INTEGRATION

20/11/2013

Archimiddle

4
Integrating software

SERVICE-ORIENTED
INTEGRATION

20/11/2013

Archimiddle

5
Integrating software

IMPACT OF CHANGE?

20/11/2013

Archimiddle

6
INTEGRATION THROUGH WEB SERVICES

20/11/2013

Archimiddle

7
What are (Web) Services?
•

Services
– Encapsulate
• Business logic
• Data logic

– Encourage code reuse
– Are integration...
Service Oriented Architecture
•
•
•
•

Collaboration of many services
Business process automation
Composite services
Cloud...
The functional SOA Graph

The “soft stuff”

Who uses what, when and how?

20/11/2013

Archimiddle

10
The functional SOA Graph
Actor

Business process

:ACTS_IN

:PLAYS_ROLE

User

:CONTAINS_ACTIVITY

Business activity

:USE...
The functional SOA Graph

Building the functional graph requires
custom user interface to maintain the
soft entity relatio...
The technical SOA Graph

The “hard stuff”

The technical contract

20/11/2013

Archimiddle

13
The technical SOA Graph
Interface
:IS_DESCRIBED_BY

XML Group
:USES_ELMS

WSDL

:NAMES

XML Element

:DEFINES_OPS

Namespa...
The technical SOA Graph

Building the technical graph requires an
automated tool
Service repository functionality

20/11/...
Concrete Resources
Interface
:IS_DESCRIBED_BY

XML Group
:USES_ELMS

WSDL

:NAMES

XML Element

:DEFINES_OPS

Namespace

X...
THE IMPACT OF AN EVENT
20/11/2013

Archimiddle

17
Impact of change
Interface

CHANGE!

:IS_DESCRIBED_BY

XML Group
:USES_ELMS

WSDL

:NAMES

XML Element

:DEFINES_OPS

Name...
Impact of change
Interface
:IS_DESCRIBED_BY

XML Group
:USES_ELMS

WSDL

:NAMES

XML Element

:DEFINES_OPS

Namespace

XML...
Impact of change
Interface
:IS_DESCRIBED_BY

XML Group
:USES_ELMS

WSDL

:NAMES

XML Element

:DEFINES_OPS

Namespace

XML...
Impact of change
Interface
:IS_DESCRIBED_BY

XML Group
:USES_ELMS

WSDL

:NAMES

XML Element

:DEFINES_OPS

Namespace

XML...
Impact of change
Interface
:IS_DESCRIBED_BY

XML Group
:USES_ELMS

WSDL

:NAMES

XML Element

:DEFINES_OPS

Namespace

XML...
Impact of change
Interface
:IS_DESCRIBED_BY

XML Group
:USES_ELMS

WSDL

:NAMES

XML Element

:DEFINES_OPS

Namespace

XML...
Impact of a small change
Interface
:IS_DESCRIBED_BY

WSDL

Impact
can be large

XML Element
Namespace

:USES

:DECLARES_EL...
Introducing Meteorite

20/11/2013

Archimiddle

25
Meteorite version 1.0
Build the technical graph
•

Read the technical contract
– WSDL
– XML schema

•
•
•

Parse it
Build ...
Meteorite version 1.0

https://meteorite.archimiddle.com/
Test set:
http://www.archimiddle.com/wp-content/uploads/2013/08/...
Meteorite Practical Usage
•

Logon
– Google or LinkedIn account

•

Upload data
– Zip and rar supported

•

Search the nod...
Sample impact graph

20/11/2013

Archimiddle

29
Sample impact graph

Impacted

To be changed

20/11/2013

Archimiddle

30
SERVICE VERSIONING
20/11/2013

Archimiddle

31
A change in the service contract

API CHANGE

NEW
SERVICE
VERSION
20/11/2013

Archimiddle

32
Complexity: resource versioning
Interface
:IS_DESCRIBED_BY
:CONTAINS
:FIRST_VERSION

WSDL
:LAST_VERSION

WSDL v1

WSDL v3
...
METEORITE ROADMAP
20/11/2013

Archimiddle

34
Meteorite Roadmap
•

Version 1.1
– Add automatic change discovery

•

Version 1.2
– Add versioning strategies

•

Version ...
FINAL WORDS
20/11/2013

Archimiddle

36
Final words

A Graph DB is excellent for performing impact
analysis of events on highly connected
systems

Events can be a...
Contact
Ignaz.Wanders@Archimiddle.com
@ignazw
Upcoming SlideShare
Loading in …5
×

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

1,428 views

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,428
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
30
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

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

×