Managing Complexity: Middleware Explained By Andrew Campbell, Geoff Coulson, Michael Kounavis - PowerPoint PPT Presentation

About This Presentation
Title:

Managing Complexity: Middleware Explained By Andrew Campbell, Geoff Coulson, Michael Kounavis

Description:

The basic idea of CORBA is much the same as it is for RPC. ... Microsoft's specification/model that allows developers to create objects and ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 21
Provided by: manavp
Category:

less

Transcript and Presenter's Notes

Title: Managing Complexity: Middleware Explained By Andrew Campbell, Geoff Coulson, Michael Kounavis


1
Managing Complexity Middleware
ExplainedByAndrew Campbell, Geoff Coulson,
Michael Kounavis
  • Presented
  • By
  • Manav Purohit
  • Nick Morgowicz

2
Distributed Computing
  • Computing is said to be Distributed when the
    programs and data that computers work on are
    spread over more than one computers in a network.

3
Features of Distributed Computing Platform
  • Addressing
  • In order for components of a distributed system
    to find each other, each must have an address.
    Servers must be able to publish their address,
    and clients must be able to acquire a server's
    address, either by administrative intervention or
    looking it up in a naming service.
  • Synchronization
  • All participating parties must agree on a
    certain protocol when data may be sent or
    received.
  • Encoding
  • Defines the format used for transferring data.
  • Interoperability
  • The distributed platform should not be limited
    to a certain hardware, operating system or
    programming language.

4
Middleware
  • Middleware is a general term for any programming
    that serves to "glue together" or mediate between
    two separate and often already existing programs.

5
Benefits of using middleware
  • Simplifies the task of sharing data between
    applications and provide a common interface to
    different applications
  • Provides persistence
  • Provide general purpose services which aid
    application development and deployment.

6
Types of Middleware
Technology Metaphor Example What it does
ORB Translator CORBA, EJB Allows components written in different languages to transparently inter-operate across a network
TP Monitors Illusionist CICS - IBM Using sophisticated resource management techniques hundreds of clients appear to have 1-1 connections with data server and offers scalability and reliability
Database Access Gateway JDBC Facilitates access to databases
Messaging Postal Services MQSeries IBM Relays data from one application to another in message format
Security and Directory Card Key Reader LDAP Intercedes between incoming requests and requested resources to enforce access policies
7
Remote Procedure Call (RPC)
  • Remote Procedure Call (RPC) is a protocol that
    one program can use to request a service from a
    program located in another computer in a network
    without having to understand network details.

8
Remote Procedure Call (RPC)
9
Common Object Request Broker Architecture
  • The basic idea of CORBA is much the same as it is
    for RPC. However, whereas RPC is based on a
    procedural language and allows remote procedure
    calls, CORBA is based on object-oriented
    programming and allows remote method invocations
    on objects.
  • Interface Definition
  • Interface Definition Language (IDL) is used to
    describe object interfaces.
  • Interface declarations are independent of the
    programming language.
  • Addressing
  • Interoperable Object References (IOR) are used as
    addresses of remote objects.
  • IORs are strings stored in files which can be
    converted to an object references by ORB.

10
Common Object Request Broker Architecture
  • Invocation
  • Using the interface and the address, methods can
    be invoked and executed remotely
  • Interoperability
  • General Inter-ORB Protocol (GIOP) to describe the
    format for requests and replies when transported
    from one ORB to another as part of a method
    invocation.

11
Remote Method Invocation
  • RMI allows programmers to develop distributed
    Java programs with the same syntax and semantics
    used for non-distributed systems.
  • RMI supports two classes that implement the same
    interface. The first class is the implementation
    of the behavior, and it runs on the server. The
    second class acts as a proxy for the remote
    service and it runs on the client.

12
Remote Method Invocation
  • Stubs and Skeletons are proxies which know how to
    forward method calls between participating
    objects
  • Remote reference layer defines and supports
    invocation
  • The transport layer makes connection between JVMs

13
Microsofts DCOM Technology
  • History
  • Based on Microsofts COM (Component Object Model)
    technology which provides a framework for
    application interoperation within Windows.
  • Operation
  • Similar to CORBA since operating system calls are
    intercepted, processed, and redirected.
  • Provides persistence, security, and transactions.
  • Specifications
  • Closed technology owned and developed soley by
    Microsoft.
  • Quick evolution due to no external politics.
  • Experience?
  • How does DCOM actually fit within Windows and
    developing?

14
Microsofts DCOM Technology
  • Operation
  • DCOM intercepts Client calls to deliver to the
    end component

15
Open Implementations
  • Popularity of Middleware causes technology to
    spread
  • Multimedia, real-time and embedded systems,
    handheld devices, and mobile networking
  • Active projects?
  • Intellisync (Palm/CE to Groupware)

16
Network Programming
  • Networking technology and connectivity is
    standard and is governed by RFCs and whitepapers
  • Programming routers, switches, DSUs, etc, are
    manufacture specific
  • Would this be in essence a glorified SNMP?

17
Middleware Glossary
  • Common Object Request Broker Architecture
    (CORBA)
  • Specification from the Object Management Group
    that describes how object-oriented networked
    applications communicate with one another.
  • Distributed Component Object Model (DCOM)
  • Microsofts specification/model that allows
    developers to create objects and have other
    programs and objects operate on them in a
    distributed environment.
  • Message-oriented middleware (MOM)
  • Comprised of message-passing and message-queuing
    middleware in which information is passed in the
    form of a message from one program to one or more
    other programs.
  • Stub
  • A client-side proxy for the remote object that
    implements all the interfaces supported by the
    remote object.

18
Current Middleware Developments
  • Components
  • Piece applications together with multiple
    components.
  • Popular in MS DCOM and Suns JavaBeans.
  • CORBA cannot support until upcoming version 3.0.
  • Plans
  • Improve reliability, availability, and
    scalability to support millions of objects that
    must adhere to strict performance requirements.

19
Problems with Middleware
  • Speed and Performance
  • Current products have a reputation of being slow.
  • Development is going into understanding why.
  • Quality of Service
  • Lack of interfaces for QoS specification and
    enforcement

20
Questions/Discussion ?
  • Personal experience
  • Web based middleware and development
  • Automation
Write a Comment
User Comments (0)
About PowerShow.com