Upload
julia-hall
View
213
Download
0
Embed Size (px)
Citation preview
The Role of Coordination Analysis in Software Integration Projects
Nuno F. Rodrigues
Nuno OliveiraLuís S. Barbosa
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
University of Minho
Portugal
• Adicionar printscreen do CoordInspector• Trabalhar melhor a maneira de passar do contexto para a
motivação • Explicar melhor o que é a coordination no nosso ponto de vista
• Introduzir melhor o que se entende por fazer perguntas aos developers…
2
Introduction
Companies
Fusion
Acquisition
Legacy
Software
Evolution
3
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Youtube
Blogger
Microsoft
Hotmail
Picasa
Skype
Introduction
• Composition of Different Software Systems• To obtain a Coherent Enterprise Solution
4
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Software Solutions Integration
Enterprise Application Integration(EAI)
Introduction
5
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Forrest Research
Motivation
6
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Main Conceptual Issue:
COORDINATION MODEL(Between Systems)
Definition Implementation
Behaviour concerning
Network of Interactions
HelpsArchitects
AnsweringQuestions
• Which sub-systems are connected?
• How do they communicate?
• Which dependencies do exist?
Problem
7
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Initial Strategy
BC
AD
F E
Final Implementation
BC
A D
F E
Objective
8
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Final Implementation
Validation of(coordination component)
Integration Process
Feedback
Suggestion ofAlternatives
Reconstructed Coordination Model
Outline• CoordInspector
• Methodology• Coordination Patterns• Extracting Strategy
• Integration Analysis Strategy
• Integration Analysis - Example
• Conclusion
9
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
CoordInspector
• Tool to extract (from source code) the network of interactions
• Coordination Layer
• Extraction based on • Slicing Techniques• Graph algorithms
• Search for Coordination Patterns
10
CoordInspector
• Accepts CIL code
• Analyses systems developed in (combinations of) more than 40 languages compliant with the .NET platform
Transforms in into:• Managed System Dependence Graphs (MSDG)
• Coordination Dependence Graphs (CDG)• Hold information about coordination
11
Outline• CoordInspector
• Methodology• Coordination Patterns• Extracting Strategy
• Integration Analysis Strategy
• Integration Analysis - Example
• Conclusion
12
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Coordination Pattern
13
A Coordination Pattern is an equivalence class, a
shape or sub-graph of a Coordination Dependence
Graph, corresponding to a trace of coordination
policies left in the system code.
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Coordination Pattern
• Client orders execution of an operation in a thread x• Launches thread y to retrieve results• Performs service call until result arrives (loop)
14
Asynchronous Query Pattern With Client Multithreading
Aqpcm( n1 | n3, n4) { node n1, n2, n3, n4 = {…}; fork f; root n1;
{f -(x,y)-> (n3,n4)}@[n4 | ] {n1 –x-> f, n4 -y-> n2, n2 –y-> n4}}
CoordL
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Extracting Strategy
15
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Source Code
MSDG
CDG
Source Code (Coordination Layer)
(labeling)
(pruning)
(search for coordination patterns)
Outline• CoordInspector
• Methodology• Coordination Patterns• Extracting Strategy
• Integration Analysis Strategy
• Integration Analysis - Example
• Conclusion
16
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Integration Analysis Strategy
• Post-Integration• Analysis of post-integration coordination model• Comparison with pre-integration coordination model
• 4-steps Strategy
17
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Integration Analysis Strategy
18
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
1. Identify basic coordination solutions (patterns) used during integration
Documentation Analysis
Developers Interview
2. Specify each coordination pattern (identified in step 1)
CoordL notation
Diagrammatical notation
Integration Analysis Strategy
19
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
3. Search for each coordination pattern in source code of Integrated System
CoordInspector
4. Identify cases of mismatch between pre- and post-integration models
Analyse
Document
Discuss Alternatives
Outline• CoordInspector
• Methodology• Coordination Patterns• Extracting Strategy
• Integration Analysis Strategy
• Integration Analysis - Example
• Conclusion
20
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Integration Analysis - Example• Professional training company
• 6 facilities distributed in the country
• 4 (isolated) base components• ERP - Enterprise Resource Planner• CRM - Costumer Relationship Management• TS - Training Server• DSM - Document Management System
• Objective: • Web-Portal for online selling of training courses
21
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Integration Analysis - Example
22
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Problem found: inconsistent User UpdateComponent: Web-PortalPattern: User Update Operation
Integration Analysis - Example
23
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Outline• CoordInspector
• Methodology• Coordination Patterns• Extracting Strategy
• Integration Analysis Strategy
• Integration Analysis - Example
• Conclusion
24
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Conclusion
25
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Tool-based methodology to extract Coordination Model
and on identifying Coordination Patterns
based on Slicing Techniques
Conclusion
26
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Integrated in a strategy for Software Integration Analysis
and allows for the suggestion of Improvement Alternatives
which provides useful Feedback
Conclusion
27
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
In case study
- Unwanted multiple creations of users
Identified and Corrected coordination problems:
- Lack of parallelism leading to delays
- Deadlocks
Conclusion (Future Work)
• CoordInspector
• Live modification of source code by edition of extracted graphs
• Performance study concerning different integration scenarios
28
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
The Role of Coordination Analysis in Software Integration Projects
Nuno F. Rodrigues
Nuno OliveiraLuís S. Barbosa
October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking