290 likes | 424 Views
The Role of Coordination A nalysis in Software I ntegration P rojects. Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa. University of Minho Portugal. October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking. Adicionar printscreen do CoordInspector
E N D
The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa University of Minho Portugal October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
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…
Introduction Microsoft Legacy Companies Skype Software Google Acquisition Evolution Hotmail Youtube Fusion Picasa Blogger October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Introduction • Composition of Different Software Systems • To obtain a Coherent Enterprise Solution Software Solutions Integration Enterprise Application Integration (EAI) October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Introduction Forrest Research October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Motivation Main Conceptual Issue: Definition Implementation COORDINATION MODEL (Between Systems) • Which sub-systems are connected? • How do they communicate? • Which dependencies do exist? Behaviour concerning Network of Interactions Helps Architects Answering Questions October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Problem Initial Strategy Final Implementation Significant Difference C C B B D A D A E F E F October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Objective Reconstructed Coordination Model Final Implementation Validation of (coordination component) Integration Process Feedback Suggestion of Alternatives October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Outline • CoordInspector • Methodology • Coordination Patterns • Extracting Strategy • Integration Analysis Strategy • Integration Analysis - Example • Conclusion 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
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
Outline • CoordInspector • Methodology • Coordination Patterns • Extracting Strategy • Integration Analysis Strategy • Integration Analysis - Example • Conclusion October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Coordination Pattern 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 CoordL 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} } • Client orders execution of an operation in a thread x • Launches thread y to retrieve results • Performs service call until result arrives (loop) Asynchronous Query Pattern With Client Multithreading October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Extracting Strategy Source Code MSDG (labeling) (pruning) CDG (search for coordination patterns) Source Code (Coordination Layer) October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Outline • CoordInspector • Methodology • Coordination Patterns • Extracting Strategy • Integration Analysis Strategy • Integration Analysis - Example • Conclusion 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 October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Integration Analysis Strategy 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 October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Integration Analysis Strategy 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 October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Outline • CoordInspector • Methodology • Coordination Patterns • Extracting Strategy • Integration Analysis Strategy • Integration Analysis - Example • Conclusion 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 October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Integration Analysis - Example Problem found: inconsistent User Update Component: Web-Portal Pattern: User Update Operation October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Integration Analysis - Example October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Outline • CoordInspector • Methodology • Coordination Patterns • Extracting Strategy • Integration Analysis Strategy • Integration Analysis - Example • Conclusion October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Conclusion Tool-based methodology to extract Coordination Model based on Slicing Techniques and on identifying Coordination Patterns October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Conclusion Integrated in a strategy for Software Integration Analysis which provides useful Feedback and allows for the suggestion of Improvement Alternatives October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Conclusion In case study Identified and Corrected coordination problems: - Unwanted multiple creations of users - Lack of parallelism leading to delays - Deadlocks October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
Conclusion (Future Work) • CoordInspector • Live modification of source code by edition of extracted graphs • Performance study concerning different integration scenarios October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking
The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking