Architectural Decision Making for Service-Based Platform - - PowerPoint PPT Presentation

architectural decision making for service based platform
SMART_READER_LITE
LIVE PREVIEW

Architectural Decision Making for Service-Based Platform - - PowerPoint PPT Presentation

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,


slide-1
SLIDE 1

Architectural Decision Making for Service-Based Platform Integration: A Qualitative Multi-Method Study

Ioanna Lytra, Stefan Sobernig, Uwe Zdun

Faculty of Computer Science University of Vienna, Austria Institute for IS and New Media WU Vienna, Austria

slide-2
SLIDE 2

WICSA/ECSA 2012

Architectural Decisions in Service-based Platform Integration

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 software applications

Service-based Platform Integration

Applications Platforms

2

slide-3
SLIDE 3

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

slide-4
SLIDE 4

Case Study

Virtual Service Platform:

handles various integration aspects like interface adaptation between platforms, integration of service-based and non- service-based solutions, routing, enriching, aggregation, splitting of messages and events

WICSA/ECSA 2012 4

VSP Operator Application WMS YMS RMS 53 x n Design

Decisions

53 services to

be integrated

service adapters/ proxies/facades

slide-5
SLIDE 5

Research Design

Systematic Literature Survey Pattern Language (PL) Architectural Decision Model (ADM) Interview Coded Interview Field Memos Improved PL/ADM distill coding summarizing 3 iterations distill Preparation for qualitative study Staging of Platform Integration Decisions generalizing Design Decisions Architecture Design Design Levels Case Study

5

slide-6
SLIDE 6

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

slide-7
SLIDE 7

Interview Instrument (4 categories, 29 questions)

Interviews

  • 3 interviews
  • 9 experts
  • 3 companies – 3 platforms

WICSA/ECSA 2012 7

slide-8
SLIDE 8

Case Study Design

RMS VSP OperatorApp Operator Application YMS OperatorAppFacade Truck Management Video Handling Truck ManagementProxy Video HandlingAdapter WMS Dock Management Dock ManagementProxy Communication FlowManager YMS WMS Operator Application WMSNotificationEnricher YMSNotificationEnricher PlatformNotificationAggregator

Integration and Adaptation Communication Flow

B A A B

confirmatory:

to which extend our pattern language and our decision model correspond to the platform integration domain?

exploratory:

how is the decision making in platform integration being performed?

8

slide-9
SLIDE 9

Relations between ADDs and Patterns

Integration with in/compatible interfaces? Local or remote connection?

9

slide-10
SLIDE 10

ADD Model

  • Adaptation and Integration Patterns (6)
  • Interface Design (6)
  • Communication Style (8)
  • Communication Flow (9)

WICSA/ECSA 2012 10

slide-11
SLIDE 11

Exemplary Levels and Stages of Decision Making

synchronous asynchronous (sync.) RPC CommStyle ... ... asynchronous CommStyle Channels WCF Invokers Events AsyncPattern Channels WCF AsyncPattern derived from

Level-1 (architecture): integration architect Level-2 (platform): platform supplier Level-3 (integration): system integrator

  • async. RPC

Messaging asynchronous CommStyle Messaging One-Way Request- Acknowledge Request-Reply ... ... ... ... ... ActiveMQ ActiveMQConnection Producer Consumer Session MessageListener ActiveMQ ActiveMQConnection Producer Consumer Session MessageListener VSPComm ActiveMQ ApacheCXF ...

Level-4 (application): application engineer

asynchronous CommStyle Messaging Request-Reply Request- Acknowledge AndroidComm RabbitMQ AIDL IPC/RPC KSoap2 RabbitMQ Consumer ... Consumer OnReceiveMessageHandler OnReceiveMessageHandler ...

Stage-0 Stage-2 Stage-3

implies implies implies

Stage-1

derived from derived from derived from derived from derived from derived from ... ... ... ... implies ...

11

slide-12
SLIDE 12

Example for 2 Levels and 2 Stages

WICSA/ECSA 2012 12

synchronous asynchronous (sync.) RPC CommStyle ... ... asynchronous CommStyle Channels WCF Invokers Events AsyncPattern Channels WCF AsyncPattern derived from

Level-1 (architecture):

integration architect

Level-2 (platform):

platform supplier

  • async. RPC

Messaging ... ... ... ... ...

Stage-0

implies

Stage-1

derived from ... ... ...

slide-13
SLIDE 13

Artifacts in Levels of Decision Making

WICSA/ECSA 2012 13

slide-14
SLIDE 14

Limitations and Threats

  • Systematic Literature Review: completeness, authors’ bias
  • Interviews: external and internal validity
  • Generalizability: small sample but broad domain

WICSA/ECSA 2012 14

slide-15
SLIDE 15

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
  • nto the subjects.
  • 4. The architecting process should be observed in the context
  • f a real development project.

WICSA/ECSA 2012 15

slide-16
SLIDE 16

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

slide-17
SLIDE 17

Thank you for your attention!