CS551 Object Oriented Middleware (III) (Chap. 5 of EDO) - PowerPoint PPT Presentation

View by Category
About This Presentation
Title:

CS551 Object Oriented Middleware (III) (Chap. 5 of EDO)

Description:

CS551 Object Oriented Middleware (III) (Chap. 5 of EDO) Yugi Lee STB #555 (816) 235-5932 yugi_at_cstp.umkc.edu www.cstp.umkc.edu/~yugi – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 24
Provided by: Yug1
Learn more at: http://sce2.umkc.edu
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: CS551 Object Oriented Middleware (III) (Chap. 5 of EDO)


1
CS551 Object Oriented Middleware (III) (Chap. 5
of EDO)
  • Yugi Lee
  • STB 555
  • (816) 235-5932
  • yugi_at_cstp.umkc.edu
  • www.cstp.umkc.edu/yugi

2
Outline
  • Heterogeneous Programming Languages
  • Common Object Model
  • Common Interface Definition Language
  • Programming Language Bindings
  • Heterogeneous Middleware
  • Interoperability
  • Interworking
  • Heterogeneous Data Representation
  • Standardized Data Representation
  • Application-Level Transport Protocol
  • Virtual Machines

3
Heterogeneous Programming Languages
  • Components of distributed systems are written in
    different programming languages
  • Programming languages may or may not have their
    own object model
  • Object models largely vary
  • Differences need to be overcome in order to
    facilitate integration

4
Why do we use an IDL?
PL
PL
PL
PL
2
1
2
1
PL
PL
PL
PL
IDL
6
3
6
3
PL
PL
PL
PL
5
4
5
4
5
CORBA Programming Language Bindings
6
Interface Definition Language
  • Language for expressing all concepts of the
    middlewares object model, e.g., OMG object model
    and OMG/IDL MIDL
  • Object Model Meta-model for middlewares type
    system
  • defines meaning of object type, operation,
    attribute, request, exception, subtyping,
  • defines general enough for mappings to most
    programming languages
  • Interface Definition Language (IDL)
  • Programming-language independent
  • Bindings to different programming languages are
    needed
  • not computationally complete

7
Heterogeneous Middleware
Component
Component
Component
Component
Component
Component
Component
Middleware Vendor A
Middleware Vendor B
Middleware Vendor C
8
Often Different Middleware Required
  • Middleware implementations differ
  • Available programming language bindings
  • Available services facilities
  • Supported hardware platforms
  • Supported operating system platforms
  • Separation of security domains.
  • Large scale distributed systems.

9
Middleware Integration
Component
Component
Component
Component
Component
Component
Component
OLE
ORB
ORB
ORB
RPC
Bridge
Bridge
10
Bridging
  • request-levelbuilt on top of middleware (client
    and server surrogate objects)
  • in-line built into the middleware
    (interoperability protocol)

11
Middleware Integration
  • Interoperability the ability of different
    implementations of the same middleware standard
    to work together.
  • Definition of interaction protocols
  • General Inter-ORB Protocol(GIOP), Internet
    Inter-ORB Protocol (IIOP), etc.
  • Interworking how different middleware standards
    are integrated.
  • Mapping of different object models
  • Definition of interaction protocols

12
Interoperability vs. Interworking
  • Interoperability between different
    implementations of the same standard (CORBA, DCE)
  • Interworking between different standards
  • CORBA COM/DCOM/OLE
  • The order to resolve
  • First CORBA interoperability
  • Then COM/CORBA interworking

13
Interoperable Object References
  • Object references are opaque for clients.
  • Vendors choose reference implementation.
  • Reference cannot be interchanged.
  • Interoperable object references are used to
    present references to ORBs in their native format.

14
Interoperability Protocols
  • General Inter-ORB Protocol (GIOP)
  • Define seven messages Request, Reply, Locate
    Request, Locate Reply, Cancel request, Close
    Connection, Message Error
  • Common Data Representation is defined as part of
    GIOP for Mapping of IDL data types to transport
    byte stream
  • Internet Inter-ORB Protocol (IIOP)
  • Maps GIOP to TCP/IP.
  • Provides operations to open and close TCP/IP
    connections.
  • Is required from ORBs for CORBA compliance.
  • Supported by Netscape Communicator.

15
Motivation for Interworking
  • COM and OLE/Automation are widely used for
    desktop integration of PC applications
  • Compound documents
  • Visual Basic / Visual C User Interfaces.
  • OMG has no support for compound documents and
    user interfaces yet.
  • COM and OLE do not support distribution.
  • CORBA was designed to support distribution.

16
COM-CORBA Interworking
  • Goal provide transparent bi-directional mapping
    between COM/OLE and CORBA.
  • Adopted specification was submitted by consortium
    of 11 ORB vendors.
  • Most of them have COM/OLE Interworking
    implemented in their ORB products.
  • Adopted in March 1996.
  • Microsoft decided not to be involved in this
    effort but rather pursue its own distributed
    object environment (DCOM).

17
Interworking Architecture
Object System A
Object System B
Bridge
objref in A
objref in B
target object implementation in B
View in A of target in B
18
Interworking Mapping Issues
  • Interface Mapping
  • Interface Composition Mapping
  • Identity Mapping
  • Mapping Invertibility

19
Heterogeneous Data Representation
  • Hosts of client and server might use different
    data representation formats.
  • Different Character Encoding Schemes
  • Different programming languages use different
    data representations, e.g. Character string abc
    in Pascal or C

20
Motivation
  • Data representations have to be converted between
    heterogeneous client and server objects
  • Conversion should be transparent to application
    developer
  • Conversion may be done in
  • Presentation layer implementation
  • Application layer implementation
  • Platform implementation

21
Approaches
  • Presentation Layer Standardized Data
    Representation
  • Suns External Data Representation (XDR)
  • OMGs Common Data Representation (CDR)
  • OpenGroups Network Data Representation (NDR)
  • Application layer use of abstract syntax
    notation e.g
  • ASN.1
  • XML SGML
  • STEP
  • Platform Virtual Machine, e.g. Java

22
Key Points
  • Heterogeneity can arise in
  • Programming Language
  • Middleware
  • Data Representation
  • CORBA and COM resolve programming language
    heterogeneity by using an IDL with programming
    language bindings
  • Middleware heterogeneity is resolved by
    interworking and interoperability specifications

23
Key Points
  • Data Heterogeneity may be resolved by
  • Standardized Data Representations
  • CDR, NDR, XDR
  • Application-level Data Structuring
  • XML, SGML, Step, ASN.1
  • Virtual Machines
  • JVM
About PowerShow.com