Download presentation
Presentation is loading. Please wait.
1
Software Engineering and Middleware A Roadmap Author: Wolfgang Emmerich Presented by: Sam Malek
2
What is Middleware? Layer(s) of software between client and server processes Hides the complexity of underlying protocol, OS, and Hardware configuration Simplifies Construction of large distributed systems
3
Why So Popular? Mergers and Acquisition in corporate world Incompatible IT Infrastructure Unpredictable scalability of e-commerce sites Unprecedented number of users
4
Why So Popular? (Cont.) Shorter time-to-market demand Easier integration of off-the-shelf components Opinion: Off-the shelf reuse of components doesn’t always satisfy requirements Opinion: Making modifications to them is costly and time consuming
5
Why So Popular? (Cont.) Tolerant against Failures Opinion: What about Middleware failures? Opinion: Middleware failure will bring down the whole system Provides high-level abstraction Simplifies application construction, concurrency control, transaction management
6
Middleware Requirements Network Communication Abstracts away from protocol differences Provides marshalling / unmarshalling services Coordination Synchronous vs. Asynchronous Threading Policies Reliability Best effort, at-most-once, at-least-once and exactly-once Transactions
7
Middleware Requirements Scalability Accommodate a growing future load Concept of Transparency Access Transparency Location Transparency Migration Transparency Replication Transparency Heterogeneity Ability to cope with inherently different components Hardware OS platforms Programming languages Middleware
8
Middleware Solutions Transactional Middleware Example: IBM’s CICS and BEA’s Tuxedo Multiple request to be executed in an atomic, consistency- preserving, isolated and durable manner. All or None Pro: Reliable Con: Overhead Manual Marshalling / Unmarshalling Lack of standards
9
Middleware Solutions Message-Oriented Middleware (MOM) Example: IBM MQSeries, Sun’s Java Message Queue, Prism Using Message / Notification to communicate Pro: Ideal for Asynchronous Paradigm and group communication Fault tolerant persistent message queues Con: Not as reliable as Transactional Middleware Limited support for scalability and heterogeneity
10
Middleware Solutions Procedural Middleware Example: RPC (Remote Procedure Calls) Available on Unix and Windows Define server components as RPC programs Clients invoke those procedures across the network Pro: Automatic Marshalling/Unmarshalling Con: Not very fault tolerant and scalable. Not reflexive: Procedure of one RPC program cannot return another RPC program
11
Middleware Solutions Object and Component Middleware Example: CORBA, COM, RMI Provide object components that can be accessed across the network to perform services Pro: Very popular and powerful Reliable:Transaction support Sync/Async communication Heterogeneous Con: Limited scalability
12
State-Of-The-Art Flexible Middleware Trading: Component are located based on service types Scalable Middleware Shortcomings to achieve global distribution Research in non-transparent replication Real-time Middleware Lack of prioritization
13
Middleware for Mobile Computing Current Problems Not enough bandwidth Unreachability treated as Exception (error) Too much transparency (1) Point-to-Point communication assumption 1) Middleware for Mobile computing: Awareness vs. Transparency, Wolfgang Emmerich
14
Middleware for Mobile Computing Current Research (1) Awareness instead of Transparency Ability to inspect the context and adapt the behavior of middleware accordingly. Context awareness Example: Component decides the type of communication protocol depending on the available bandwidth Replication awareness Example: Component tells the middleware what to ‘cache’ Location awareness Example: component decides which service provider is the optimal component to send it’s request. 1) Middleware for Mobile computing: Awareness vs. Transparency, Wolfgang Emmerich
15
Middleware for Mobile Computing Current Research (1) Treat Unreachability as Normal Tuple spaces: coordination primitive Use compression techniques to save bandwidth 1) Middleware for Mobile computing: Awareness vs. Transparency, Wolfgang Emmerich
16
Middleware and Software Engineering Research Two trends that have had a major impact on Middleware and Software Engineering research: More than ever Middleware products are conceived to deliver immediate benefits in the construction of distributed systems in the industry. Middleware vendors have a proven track record to incorporate middleware research results into their products.
17
Middleware and Software Engineering Research Non-functional Nature of Middleware requirements UML ignores non-functional concerns Need for better technique to quantify non-functional Req. Example: quantification model for response time or data volume Define software architectures that meet non-functional requirements Example: Develop MW-oriented ADLs
18
Conclusion MW is the “glue” that makes the elements of cyberinfrastructure work together 8 billion dollar industry by 2004
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.