The role of middleware in architecture-based software development

被引:13
|
作者
Medvidovic, N [1 ]
Dashofy, EM
Taylor, RN
机构
[1] Univ So Calif, Dept Comp Sci, Los Angeles, CA 90089 USA
[2] Univ Calif Irvine, Dept Informat, Sch Informat & Comp Sci, Irvine, CA 92697 USA
关键词
software architecture; connectors; middleware;
D O I
10.1142/S0218194003001330
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Software architectures promote development focused on modular functional building blocks (components), their interconnections (configurations), and their interactions (connectors). Since architecture-level components often contain complex functionality, it is reasonable to expect that their interactions will be complex as well. Middleware technologies such as CORBA, COM, and RMI provide a set of predefined services for enabling component composition and interaction. However, the potential role of such services in the implementations of software architectures is not well understood. In practice, middleware can resolve various types of component heterogeneity - across platform and language boundaries, for instance - but also can induce unwanted architectural constraints on application development. We present an approach in which components communicate through architecture-level software connectors that are implemented using middleware. This approach preserves the properties of the architecture-level connectors while leveraging the beneficial capabilities of the underlying middleware. We have implemented this approach in the context of a component- and message-based architectural style called C2 and demonstrated its utility in the context of several diverse applications. We argue that our approach provides a systematic and reasonable way to bridge the gap between architecture-level connectors and implementation-level middleware packages.
引用
收藏
页码:367 / 393
页数:27
相关论文
共 50 条
  • [31] Architecture-based regulatory compliance argumentation
    Mihaylov, Boyan
    Onea, Lucian
    Hansen, Klaus Marius
    JOURNAL OF SYSTEMS AND SOFTWARE, 2016, 119 : 1 - 30
  • [32] Architecture-Based Issue Propagation Analysis
    Speth, Sandro
    Krieger, Niklas
    Heinrich, Robert
    Becker, Steffen
    SOFTWARE ARCHITECTURE, ECSA 2024, 2024, 14889 : 121 - 137
  • [33] Towards architecture-based management of platforms in the cloud
    Huang, Gang
    Chen, Xing
    Zhang, Ying
    Zhang, Xiaodong
    FRONTIERS OF COMPUTER SCIENCE, 2012, 6 (04) : 388 - 397
  • [34] Reliability and Performance Analysis of Architecture-Based Software Implementing Restarts and Retries Subject to Correlated Component Failures
    Li, Xiao-Dan
    Yin, Yong-Feng
    Fiondella, Lance
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2015, 25 (08) : 1307 - 1334
  • [35] Architecture-based Integrated Management of Cloud Resources
    Chen, Xing
    Zhang, Ying
    Zhang, Xiaodong
    Zheng, Xianghan
    Guo, Wenzhong
    Chen, Guolong
    2013 INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND BIG DATA (CLOUDCOM-ASIA), 2013, : 474 - 481
  • [36] Towards architecture-based management of platforms in the cloud
    Gang Huang
    Xing Chen
    Ying Zhang
    Xiaodong Zhang
    Frontiers of Computer Science, 2012, 6 : 388 - 397
  • [37] Research on the architecture-based adaptive grid application
    Zhang, GY
    Guo, YZ
    DCABES 2004, PROCEEDINGS, VOLS, 1 AND 2, 2004, : 48 - 50
  • [38] Improving software performance and reliability in a distributed and concurrent environment with an architecture-based self-adaptive framework
    Lung, Chung-Horng
    Zhang, Xu
    Rajeswaran, Pragash
    JOURNAL OF SYSTEMS AND SOFTWARE, 2016, 121 : 311 - 328
  • [39] Architecture-Based Quality Attribute Synergies and Conflicts
    Boehm, Barry
    2015 IEEE/ACM 2ND INTERNATIONAL WORKSHOP ON SOFTWARE ARCHITECTURE AND METRICS (SAM), 2015, : 29 - 34
  • [40] An Architecture-based Approach to Developing Context-aware Adaptive Systems
    Hussein, Mahmoud
    Han, Jun
    Colman, Alan
    Yu, Jian
    2012 IEEE 19TH INTERNATIONAL CONFERENCE AND WORKSHOPS ON ENGINEERING OF COMPUTER BASED SYSTEMS (ECBS), 2012, : 154 - 163