Download presentation
Presentation is loading. Please wait.
1
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta
2
Distributed Systems Complex Limited knowledge Multiple points of failure Fault-tolerant Scalable => A better fit for integrated, highly scalable, and adaptable systems
3
Middleware Definition: Infrastructure that allow multiple processes to interact across a network. Context: Distributed systems Role: Coordination and communication (connectivity software) Implements: Session & Presentation Layers Bonus: Higher level primitives
4
Middleware Requirements Required Network communication Coordination Reliability Scalability Heterogeneity Desired Enhanced security Application oriented services (transaction monitoring) Interaction with other network services (security, performance management)
5
Network Communication Implement lower level network layers Provide higher level primitives Support marshalling & unmarshalling
6
Coordination Support concurrent execution by synchronization based on threading policies Restore component states based on activation policies Deliver multicast messages
7
Reliability Handle individual and multiple requests (transactions) Accommodate different levels and extensions (reliable delivery, order preservation) Support replication
8
Scalability Load Balancing -Access transparency -Location transparency -Migration transparency -Replication transparency
9
Heterogeneity Integrate elements from various contexts -hardware -software -operating system -middleware Support interoperability
10
Middleware Solutions ModelNetwork Communication CoordinationReliabilityScalabilityHeterogeneity Transactional IBM’s CICS, BEA’s Tuxedo, Transarc’s Encina Transparent transportation of requests among the client and server components Through synchronous and asynchronous methods. Support for activation policies Fault-tolerant due to DTP and 2 phase commit protocol Support load balancing & replication of server components Component heterogeneity supported but no support for data heterogeneity Message- Oriented IBM’s MQSeries Sun’s JMQ Through Notification, Request and Reply messages. Content includes information Asynchronous message delivery. More scalable and easy broadcast but difficult for synchronous requests Fault-tolerance implemented using message queues Not scalable as no support for access, migration & replication transparency. No support for heterogeneity either
11
Middleware Solutions ModelNetwork Communication CoordinationReliabilityScalabilityHeterogeneity Procedural Sun’s RPC Marshalling and unmarshalling of procedure calls into messages by the stubs and messages sent to hosts where server reside Synchronous interactions between exactly one client & server. Support for activations At-most once semantics are only supported Limited Scalability as no replication mechanisms Heterogeneity of components and data supported Object and Component Microsoft’s COM, OMG’s CORBA, Sun’s EJB Client objects can request execution of a server object’s operation and client object has object reference of server object Mainly synchronous, but others supported. Also support activation policies Default is at- most once but others also supported Support for transactions too Still limited scalability as very limited replication support They support both kinds of heterogeneity
12
Middleware State of the Art Flexible Middleware -Trading -Reflection -Application-level Transport Protocol Scalable Middleware -Replication Real-time Middleware - Lack on prioritization on requests - High memory requirements Middleware for Mobile Computing - Lack of continuous bandwidth availability - Problems of network outages - Increased complexity of software and size efficient data representation
13
Academic Solutions Brown University (Field) University of Colorado (Q) University of Maryland (Polylith) Washington University (TAO) Vrije University (Globe)
14
Future Research Requirements Engineering -quantification of non-functional goals -adaptation to unstable requirements Software Architecture -addressing global properties and non functional requirements -calibrated models for validation -development of middleware oriented ADLs Design -development of middleware design notations, methods, and tools
15
Middleware in Embedded Software Embedded software -specialized -demanding QoS on certain subdomains (telecommunications, multimedia, command control systems) Middleware -simplify composition and configuration of distributed systems -limitations exist (lack of real-time features & prioritization, performance optimizations, non-functional requirement support, heavy memory requirements, -future promising (industry supported flexible, adaptable, optimized, and standardized infrastructures, e.g Real-time CORBA, TAO)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.