Architectural Decision Making for Service-Based Platform Integration: A Qualitative Multi-Method Study Ioanna Lytra, Stefan Sobernig, Uwe Zdun Faculty of Computer Science Institute for IS and New Media University of Vienna, Austria WU Vienna, Austria
Architectural Decisions in Service-based Platform Integration Platforms Software Platform : a collection of software sub- systems (e.g., communication middleware, databases) and interfaces which form an infrastructure for developing a set of related Service-based Platform software applications Integration Applications WICSA/ECSA 2012 2
Research Questions What are the recurring architectural design decisions on service-based platform integration documented by existing software patterns and pattern collections? What are the levels of decision making when designing an architecture for service-based platform integration? WICSA/ECSA 2012 3
Case Study V irtual S ervice P latform: Operator Application handles various service adapters/ integration aspects like proxies/facades VSP interface adaptation between platforms, integration of 53 x n Design Decisions service-based and non- service-based solutions, routing, enriching, 53 services to be integrated aggregation, splitting of messages and events WMS YMS RMS WICSA/ECSA 2012 4
Research Design Systematic Literature Survey distill Pattern Architectural Decision Language (PL) Model (ADM) Preparation for qualitative study 3 iterations Case Study Interview Design Decisions coding Coded Interview Architecture Design Design Levels summarizing Field Memos generalizing distill Staging of Platform Improved PL/ADM Integration Decisions 5
Systematic Literature Survey Inclusion and Exclusion Criteria: 33 conference proceedings of PLoP and EuroPLoP, 2 issues of TPLoP, 5 pattern collection and 25 pattern books ( 402 patterns) Quality Assessment: reviewed patterns, referenced in SOA technical domain Pattern Extraction and Synthesis: 29 patterns selected + 11 patterns referenced WICSA/ECSA 2012 6
Interviews 3 interviews 9 experts 3 companies – 3 platforms Interview Instrument ( 4 categories, 29 questions) WICSA/ECSA 2012 7
Case Study Design Application Operator OperatorApp confirmatory : to which extend our pattern VSP language and our decision OperatorAppFacade model correspond to the platform integration domain? Communication FlowManager Dock Video Truck ManagementProxy exploratory : HandlingAdapter ManagementProxy how is the decision making in Video Truck Dock WMS RMS YMS platform integration being Handling Management Management performed? Integration and Adaptation WMSNotificationEnricher WMS A B YMSNotificationEnricher Operator YMS Application A B 8 PlatformNotificationAggregator Communication Flow
Relations between ADDs and Patterns Integration with Local or remote in/compatible 9 connection? interfaces?
ADD Model Adaptation and Integration Patterns (6) Interface Design (6) Communication Style (8) Communication Flow (9) WICSA/ECSA 2012 10
Exemplary Levels and Stages of Decision Making Level-1 (architecture): Level-2 (platform): Level-3 (integration): Level-4 (application): integration architect platform supplier system integrator application engineer ... ... ... ... CommStyle WCF AndroidComm Stage-0 VSPComm synchronous asynchronous Channels Invokers RabbitMQ AIDL IPC/RPC ActiveMQ ApacheCXF KSoap2 Events AsyncPattern ... ... Consumer (sync.) RPC OnReceiveMessageHandler derived from derived derived from from CommStyle WCF Stage-1 asynchronous Channels async. RPC Messaging implies AsyncPattern ... ... ... ... ... ... ... derived derived from from ActiveMQ CommStyle asynchronous ActiveMQConnection Stage-2 Session Producer Messaging MessageListener Request- implies One-Way Consumer Acknowledge derived from Request-Reply ... ... derived from ActiveMQ RabbitMQ implies CommStyle Stage-3 ActiveMQConnection Consumer asynchronous Producer Session OnReceiveMessageHandler Messaging Consumer 11 MessageListener Request- Request-Reply implies Acknowledge
Example for 2 Levels and 2 Stages Level-1 (architecture): Level-2 (platform): integration architect platform supplier ... ... CommStyle WCF asynchronous synchronous Stage-0 Channels Invokers Events AsyncPattern ... ... (sync.) RPC derived from derived from CommStyle WCF asynchronous Stage-1 Channels implies async. RPC Messaging AsyncPattern ... ... ... ... ... ... WICSA/ECSA 2012 12
Artifacts in Levels of Decision Making WICSA/ECSA 2012 13
Limitations and Threats Systematic Literature Review : completeness, authors’ bias Interviews : external and internal validity Generalizability : small sample but broad domain WICSA/ECSA 2012 14
Lessons Learned 1. Using software patterns facilitates iterative decision making. 2. Patterns are an important communication vehicle between interviewers and interviewees with different backgrounds. 3. Our research design should not impose design decisions onto the subjects. 4. The architecting process should be observed in the context of a real development project. WICSA/ECSA 2012 15
Conclusions Architectural Decision Model Refine with further qualitative studies Asses its cost-benefit balance Decision stages and levels Tool support How do they apply to other platform-like software development approaches? WICSA/ECSA 2012 16
Thank you for your attention!
Recommend
More recommend