software engineering and middleware a roadmap l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Software Engineering and Middleware A Roadmap PowerPoint Presentation
Download Presentation
Software Engineering and Middleware A Roadmap

Loading in 2 Seconds...

play fullscreen
1 / 18

Software Engineering and Middleware A Roadmap - PowerPoint PPT Presentation


  • 166 Views
  • Uploaded on

Software Engineering and Middleware A Roadmap. Author: Wolfgang Emmerich Presented by: Sam Malek. What is Middleware?. Layer(s) of software between client and server processes Hides the complexity of underlying protocol, OS, and Hardware configuration

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Software Engineering and Middleware A Roadmap' - Albert_Lan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
software engineering and middleware a roadmap
Software Engineering and MiddlewareA Roadmap

Author: Wolfgang Emmerich

Presented by: Sam Malek

what is middleware
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
why so popular
Why So Popular?
  • Mergers and Acquisition in corporate world
    • Incompatible IT Infrastructure
  • Unpredictable scalability of e-commerce sites
    • Unprecedented number of users
why so popular cont
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
why so popular cont5
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
middleware requirements
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
middleware requirements7
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
middleware solutions
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
middleware solutions9
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
middleware solutions10
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
middleware solutions11
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
state of the art
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
middleware for mobile computing current problems
Middleware for Mobile ComputingCurrent Problems
  • Not enough bandwidth
  • Unreachability treated as Exception (error)
  • Too much transparency(1)
  • Point-to-Point communication assumption
  • Middleware for Mobile computing: Awareness vs. Transparency, Wolfgang Emmerich
middleware for mobile computing current research 1
Middleware for Mobile ComputingCurrent 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.
  • Middleware for Mobile computing: Awareness vs. Transparency, Wolfgang Emmerich
middleware for mobile computing current research 115
Middleware for Mobile ComputingCurrent Research(1)
  • Treat Unreachability as Normal
      • Tuple spaces: coordination primitive
  • Use compression techniques to save bandwidth
  • Middleware for Mobile computing: Awareness vs. Transparency, Wolfgang Emmerich
middleware and software engineering research
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.
middleware and software engineering research17
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
conclusion
Conclusion
  • MW is the “glue” that makes the elements of cyberinfrastructure work together
  • 8 billion dollar industry by 2004