SOEN 423

Just to make you hate this course even more: Why Corba Fails

Java RMI

Useful Stackoverflow Q/As:

Resources

Course Videos

Midterm Fall 2015

  • Topics:
    • IPC and RPC
      • Why does IPC need TCP or UDP? Why can’t it just run directly on IP?
      • Describe the RPC process
      • Can you have distributed systems without IPC? RPC?
    • Invocation Semantics
      • What are the advantages of each?
      • Should the client make another request in “at-least-once”? “at-most-once”? How would you implement each in pseudocode?
      • Why is “exactly once” not possible?
    • Compare Java RMI to CORBA
      • What components of CORBA make it platform independent? Language independent?
      • What is the advantage of using UDP instead of calling Java RMI method?

Notes:

  • CORBA Architecture
    • orbarchThis confusing diagram shows the different components involved in the ORB Architecture. First of all, take note of the color codings of the different elements. The pale blue “Standard Interface”  blocks are the same for all ORB programs – for example, DII and DSI define methods that the server must provide in order for dynamic invocation (i.e. calling methods that were not defined at initial runtime) to be possible. The pale red blocks are elements that are a part of the application being created but mapped from whatever language into an IDL.
      The diagram is intended to show what uses what, and not what passes to what. The GIOP/IIOP ORB CORE block at the bottom is what underpins the whole ORB functionality. Here is a good article about it from Carleton University
    • Acronyms:
      • IDL = Interface Definiton Language
      • DII = Dynamic Invocation Interface
      • DSI = Dynamic Skeleton Interface
      • GIOP = General Inter-ORB Protocol
      • IIOP = Internet Inter-ORB Protocol
  • URL vs URN vs URI