1 / 22

Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke. References. A. Tanenbaum and M. van Steen (TvS) Distributed Systems: Principles and Paradigms Prentice-Hall 2002 G. Coulouris, J. Dollimore and T. Kindberg (CDK)

renee
Télécharger la présentation

Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Distributed Systemsand CORBA Slides for CSCI 3171 Lectures E. W. Grundke

  2. References • A. Tanenbaum and M. van Steen (TvS) • Distributed Systems: Principles and Paradigms • Prentice-Hall 2002 • G. Coulouris, J. Dollimore and T. Kindberg (CDK) • Distributed System: Concepts and Design • Addison-Wesley 2001

  3. Acknowledgement • Some slides from: • TvS: http://www.prenhall.com/divisions/esm/app/author_tanenbaum/custom/dist_sys_1e/ • CDK: http://www.cdk3.net/ig/beida/index.html

  4. Distributed Systems

  5. What is a Distributed System? • A collection of independent computers that appears to its users as a single coherent system. • Examples: • Distributed object-based systems (CORBA, DCOM)Distributed file systems (NFS)etc. TvS 1.2

  6. Heterogeneity • Applies to all of the following: • networks • Internet protocols mask the differences between networks • computer hardware • e.g. data types such as integers can be represented differently • operating systems • e.g. the API to IP differs from one OS to another • programming languages • data structures (arrays, records) can be represented differently • implementations by different developers • they need agreed standards so as to be able to interwork CDK Ch. 1.4

  7. Transparency in a Distributed System Different forms of transparency in a distributed system. TvS 1.4

  8. Layered Protocols: IP • Layers, interfaces, and protocols in the Internet model.

  9. Layered Protocols: OSI • Layers, interfaces, and protocols in the OSI model. 2-1 TvS 2.2

  10. Middleware Protocols • An adapted reference model for networked communication. 2-5 TvS 2.6

  11. Middleware • A software layer that • masks the heterogeneity of systems • provides a convenient programming abstraction • provides protocols for providing general-purpose services to more specific applications, eg. • high-level communication protocols • remote procedure calls (RPC) • remote method invocation (RMI) • authentication protocols • authorization protocols • distributed commit protocols • distributed locking protocols

  12. Middleware • General structure of a distributed system as middleware. 1-22 TvS 1.24

  13. Middleware and Openness • In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. 1.23 TvS 1.25

  14. Middleware Programming Models • Remote Calls • remote Procedure Calls (RPC) • distributed objects and Remote Method Invocation (RMI) • eg. Java RMI • Common Object Request Broker Architecture (CORBA) • cross-language RMI • Other programming models • remote event notification • remote SQL access • distributed transaction processing CDK Ch 1

  15. CORBA(Common Object Request Broker Architecture)

  16. References • A. Tanenbaum and M. van Steen (TvS) • Distributed Systems: Principles and Paradigms • Prentice-Hall 2002 • G. Coulouris, J. Dollimore and T. Kindberg (CDK) • Distributed System: Concepts and Design • Addison-Wesley 2001 • Kate Keahey’s Tutorial on CORBA • http://www.cs.indiana.edu/hyplan/kksiazek/tuto.html • OMG (Object Management Group) Documentation • http://www.omg.org/

  17. CORBA • Common Object Request Broker Architecture • Language/platform-independent RMI and more • Specification of the OMG (Object Management Group) • non-profit consortium • formed in 1989 • now ~800 members (but not Microsoft) • CORBA 1: 1990 • CORBA 2: 1996 • (These slides deal with a small subset only.)

  18. CORBA RMI • ORB (Object Request Broker) • communication infrastructure • IDL (Interface Definition Language): • language for describing a remote object’s properties • platform-independent, language-independent • looks like C • declarative only; no implementation (no executable code) • ...

  19. CORBA RMI (cont.) • General Inter-ORB Protocol (GIOP) • request/reply protocol • incl. an xdr named CDR • remote object references • TCP/IP version is Internet Inter-ORB Protocol (IIOP) (port 900) • CORBA services • Naming Service (like Java’s RMI Registry) • Event Service • etc....

  20. CORBA RMI (cont.) • CORBA Objects • exist in the server • accessible by remote object references • implement IDL interfaces • have methods that are callable remotely • can be implemented in non-OO languages

  21. CORBA IDL • Entities • modules, interfaces, types, attributes, method signatures • Resembles C/C++ • but new keywords: interface, in, out, inout, raises etc. • Supports C++ preprocessing • Supports inheritance • interfaces can extend other interfaces • Compiles to stubs/skeletons using language-specific tools (for java: idlj) • mappings into various languages (not just OO-languages!)

  22. CORBA Block Diagram • From http://www.omg.org/gettingstarted/Images/ORBdiagram.gif:

More Related