Understanding CORBA Architecture and Features

Nov 13, 2024

Lecture Notes: CORBA

Introduction

  • Presenter: Karavith Saxena, Mtech IT student at IBS DAVV.
  • Guidance by: Professor Dr. Nitin Nagar.
  • Purpose: Part of Mtech internal assessment.

Topics Covered

  • Why CORBA?
  • What is CORBA?
  • How CORBA works?
  • Key elements of CORBA.
  • Applications of CORBA.
  • Features of CORBA.

Why Study CORBA?

  • Problem: Software incompatibility due to different programming languages (C, C++, Java, etc).
  • Solution: In 1989, 29 MNCs aimed to resolve incompatibility issues, leading to the creation of CORBA.
  • Objective: Ensure software developed in any language runs properly, regardless of technical stack.
  • Initiative: Led to the formation of the Object Management Group (OMG) in 1989.

What is CORBA?

  • Definition: Common Object Request Broker Architecture.
  • Function: Supports multiple programming languages.
  • Mechanism: Normalizes method call semantics between application objects in same or remote spaces.
  • Role: Acts as middleware, not confined to two-tier or three-tier architecture.

CORBA Mechanism

  • Object Request Broker (ORB): Connects objects of heterogeneous types.
  • **Types of Objects: **
    • Service Provider Object: Server-side functionalities.
    • Client Object: Requires services from service providers.

Key Elements of CORBA

  • Interface Definition Language (IDL): Implements CORBA, supports multiple systems and languages.
  • ORB Core: Request-reply protocol between client and server, manages process operations.
  • Object Adapter: Server-side, bridges CORBA objects and programming language interfaces.
  • Skeleton: Server-side, generated by IDL compiler in server language.
  • Client Proxies/Stubs: Client-side, generated by IDL compiler in client language.
  • Implementation Repository: Activates and locates servers.
  • Interface Repository: Provides information about registered IDL interfaces.

Applications of CORBA

  • RMI in Java: Remote method invocation for system interaction.
  • Communication: Between client and server across different OS, languages, and hardware.
  • Distributed Applications: Ideal for heterogeneous distributed systems like the internet.

Features of CORBA

  • Language Independence: Supports multiple languages (Java, C++, C, Smalltalk, Perl).
  • OS Independence: Compatible with multiple OS (Linux, Unix, Windows, Mac).
  • Freedom from Technologies: Facilitates communication across different tech stacks.
  • Strong Data Typing: No restrictions on data types usage.
  • Efficient Data Transfer: Binary data compression saves memory.

Conclusion

  • Standard: Defined by OMG, supports multiple platforms and languages.
  • Management by IDL: Provides a platform for diverse software and data types.

Closing

  • Queries and Feedback: Welcome in the comment section.
  • Engagement: Encouraged to like the video if found helpful.