Software engineering and Middleware : a Roadmap Wolfgang Emmerich - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Software engineering and Middleware : a Roadmap Wolfgang Emmerich

Description:

... of a major detector at CERN, the European high energy physics laboratory. ... by planning and coordinating evacuation, notifying hospitals, and so forth. ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 35
Provided by: Sag59
Category:

less

Transcript and Presenter's Notes

Title: Software engineering and Middleware : a Roadmap Wolfgang Emmerich


1
Software engineering and Middleware a
Roadmap Wolfgang Emmerich
  • Presented by
  • Tarun Nainani
  • CS589_Fall2007

2
Overview
  • Middleware overview
  • Distributed Systems overview
  • Paper Overview
  • Paper Summery
  • Middleware in Embedded Software
  • Weakness Strengths

3
Middleware ?
  • In a distributed computing system, middleware is
    defined as the software layer that lies between
    the operating system and the applications on each
    side of the system.
  • Middleware is computer software that connects
    software components or applications.
  • Middleware is connectivity software that consists
    of a set of enabling services that allow multiple
    processes running on one or more machines to
    interact across a network.

4
Middleware
5
Functions of Middleware
  • Hiding distribution, i.e. the fact that an
    application is usually made up of many
    interconnected parts running in distributed
    locations.
  • Hiding the heterogeneity of the various hardware
    components, operating systems and communication
    protocols
  • Providing uniform, standard, high-level
    interfaces to the application developers and
    integrators, so that applications can be easily
    composed, reused, ported, and made to
    interoperate
  • Supplying a set of common services to perform
    various general purpose functions, in order to
    avoid duplicating efforts and to facilitate
    collaboration between applications.

6
Middleware in action
  • Thousands of physicists at hundreds of
    laboratories and universities worldwide come
    together to design, create, operate, and analyze
    the products of a major detector at CERN, the
    European high energy physics laboratory. During
    the analysis phase, they pool their computing,
    storage, and networking resources to create a
    "Data Grid" capable of analyzing petabytes of
    data.

7
Middleware in Action
  • Middleware services deployed across industry and
    higher education institutions work seamlessly
    together to verify students electronic
    identities, permit remote access to libraries,
    and deliver streamed-video classroom content. The
    students are not continually asked for usernames,
    passwords or account numbers, because the
    institutions and their constituents trust open
    standards for authentication, information sharing
    and privacy management.

8
Middleware in Action
  • A crisis management team responds to a chemical
    spill by using local weather and soil models to
    estimate the spread of the spill, determining the
    impact based on population location as well as
    geographic features such as rivers and water
    supplies, creating a shortterm mitigation plan
    (perhaps based on chemical reaction models), and
    tasking emergency response personnel by planning
    and coordinating evacuation, notifying hospitals,
    and so forth.

9
Middleware in Action
  • Administrators and faculty at a U.S. university
    access a broad range of services through a secure
    portal that uses middleware in the background to
    permit powerful calendar applications, desktop
    video and IP telephony. Whether in an office or
    an airport, the user comes to depend on
    middleware services for quality-of-service,
    security and privacy to access and share data
    with colleagues on campus and across the country.

10
The Middleware Diagram
11
Distributed Computing
  • Distributed computing is a method of computer
    processing in which different parts of a program
    run simultaneously on two or more computers that
    are communicating with each other over a network

12
Goals of Distributed computing
  • The main goal of a distributed computing system
    is to connect users and resources in a
    transparent, open, and scalable way.
  • Openness
  • Monotonic
  • Pluralism
  • Unbounded non-determinism

13
Paper Overview
  • Introduction
  • Distributed Systems
  • Role of Middleware
  • Middleware overview
  • Middleware Solutions
  • Middleware State-Of-The-Art
  • Middleware and Software Engineering
  • Summery

14
Introduction
  • Increasing demand for distributed systems
  • Mergers between companies is continuing to
    increase
  • Need of Integration
  • Time available for integration is deceasing
  • Scalability is important issue

15
Distributed systems a Solution
  • Distributed systems can solve the above problems
    as they-
  • Integrate Legacy components
  • Decrease time to market
  • Fault-tolerant
  • Scalable
  • Complex
  • Multiple points of failure
  • A better fit for integrated, highly scalable,
    and adaptable systems

16
Problems With Distributed Systems
  • Not easy to build
  • If not planned properly, a distributed system can
    decrease the overall reliability of computations
    if the unavailability of a node can cause
    disruption of the other nodes.
  • Security issues

17
Role of Middleware
  • It simplifies distributed system construction
  • They resolve heterogeneity
  • Facilitates communication and coordination of
    distributed components.

18
Which Middleware to choose and how??
  • In order to build distributed systems that meet
    the requirements,software engineers have to know
    what middleware is available.
  • Which one is best suited to the problems at hand?
  • and how middleware can be used in the
    architecture, design and implementation of
    distributed systems.

19
Typical Middleware Requirements
  • Network Communication
  • Coordination
  • Reliability
  • Scalability
  • Heterogeneity
  • Enhanced Security
  • Application Oriented services
  • Interaction with other network services.
  • http//video.google.com/videoplay?docid-818615
    82465072488qmiddlewaretotal113start0num10
    so0typesearchplindex2

20
Network Communication
  • Implement lower level network layers
  • - DS are usually built on top of transport
    layer.
  • Provide higher level primitives
  • - app engineers should be able to request
    parameterized services
  • Support marshalling unmarshalling

21
Co-ordination
  • Support concurrent execution by synchronization
    based on threading policies
  • - deferred synchronous client
  • - asynchronous - server
  • Restore component states based on activation
    policies.

22
Reliability
  • Handle individual requests
  • - Best Effort
  • - Atmost once
  • - Atleast once
  • - Exactly Once
  • Handle multiple requests
  • - K reliability
  • - Time outs
  • - Totally Ordered
  • Accommodate different levels and extensions
    (reliable delivery, order preservation, ACID
    properties)
  • Support replication

23
Scalability
  • Load Balancing
  • -Access transparency
  • -Location transparency
  • -Migration transparency
  • -Replication transparency

24
Heterogeneity
  • Integrate elements from various contexts
  • -hardware
  • -software
  • -operating system
  • -middleware
  • Support interoperability

25
Middleware Solutions
  • Transactional Middleware
  • -Transactional middleware supports transactions
    involving components that run on distributed
    hosts.
  • Message-oriented Middleware
  • -supports the communication between distributed
    system components by facilitating message
    exchange.

26
Middleware Solutions
  • Procedural Middleware
  • -These are based on RPC Remote Procedure Calls
    (RPCs) were devised by Sun Microsystems in the
    early 1980s as part of the Open Network Computing
    (ONC) platform.
  • Object and Component Middleware
  • -idea here is to make object-oriented
    principles, such as object identification through
    references and inheritance, available for the
    development of distributed systems

27
Middleware Solutions
28
Middleware Solutions .
29
Weakness
  • Transactional
  • - it creates undue overhead if there is no
    use of transactions.
  • - marshalling and unmarshalling needs to be
    done manually.
  • - portability is reduced due to no
    standardized approach for defining the services
    offered by server components
  • MOM
  • - Supports only at-least once reliability
  • - Does not support ACID properties
  • - Limited support for scalability and
    heterogeneity.
  • RPC
  • - Not scalable and fault tolerant
  • - Not reflexive

30
State-of-art
  • Flexible Middleware
  • 1)Trading using a trader in place of naming
    service/mechanism
  • 2)Reflection mechanism to discover the types
    of the classes and define method invocation at
    runtime
  • 3)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

31
Middleware and Software Engineering Research
  • Requirements Engineering
  • 1)quantification of non-functional goals
  • 2)adaptation to unstable requirements
  • Software Architecture
  • 1)addressing global properties and non
    functional requirements
  • 2)alibrated models for validation
  • 3)Distributed software engineering research
    needs to identify notations,


    methods and tools that support architecting.
  • Design
  • 1)development of middleware design notations,
    methods, and tools

32
Middleware in Embedded Software
  • Embedded software
  • -specialized
  • -demanding QoS on certain sub domains
    (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 is promising (industry supported
    flexible, adaptable, optimized, and standardized
    infrastructures, e.g Real-time CORBA, TAO)

33
Comments
  • Likes
  • - One of the better roadmap papers.
  • - Systematic
  • - timeline
  • - Good identification of relation between SE
    and MW.
  • - Future needs well identified.
  • Dislikes
  • - No explanation of relation between SE and MW
  • - Security aspect has been ignored.

34
Discussion
  • !!Thank You!!
Write a Comment
User Comments (0)
About PowerShow.com