↓ Archives ↓

Corba Stubs and Skeleton

Defining Corba Stubs and Skeleton is defining ORB stubs and skeleton

Basically Stubs is at client, Skeleton is at server.

Stubs has no problem meshing perfectly with the skeleton at server.

Even if different programming language

Even if different ORB by different vendor

Why is that ?

Because IDL define the interface so strictly that every programming language and vendor must follow the standard, thus having no problem in compatibility with different language or vendor.



Cryptography System

  • Cryptography is a practice of creating and using encryption system
  • Cryptographic system is a method of hiding data so that only certain people can view
  • Plain text is the original data
  • Ciphertext is the protected data or the encrypted text
  • Encryption is the process or procedure to convert plain text to ciphertext
  • Decryption is the procedure of converting ciphertext to plain text
  • Cryptographic system consist of algorithm + key + key management facilities

2 basic type of cryptographic system

Symmetric

  • Have only one key – private key
  • use the same key to encrypt and decrypt

Asymmetric

  • Have 2 key
  • Public and private

What is ORB interface?

ORB interface is the one that provides access to every ORB service, except:

  • Client invocation (through Stubs or DII)
  • Object activation and call (through object adapter, typically POA)

The services include:

  • Access to Initial Service (Naming Service, Trader Service, Root POA and others)
  • Access to the IFR and construction of DII invocations
  • Object reference operations:
  • Conversion of Object references between Session and Stringifield format
  • Conversion of URL format corbaloc and corbaname object references to invokable references
  • Creation of duplicate object references
  • Releasing storage for object references
  • Policy operation including create_policy
  • valuetype factory operations
  • Thread related operations
  • incl work_pending and perform_work

What is ORB?

ORB is Object Request Broker.

It is a middleware that uses CORBA specification. It take care of all the details involve in routing a request from client to object, and routing response to its destination.

ORB is the custodian of the Interface Repository (IFR), an OMG standardized distributed database containing IDL interface definition.

On the client side:

  • ORB provide interface definition from the IFR
  • Construct invocations for use with the Dynamic Invocation Interface (DII),
  • Convert Object References between session and stringifield format
  • Convert URL-format corbaloc and corbaname object references to session references.

On the server side:

  • Same as above process. Plus,
  • ORB deactivates inactive objects.
  • Re-activates  object whenever request come in.
  • Activate and De-activates in the way that uses resources best.

ORB, wow!

Centralized versus Distributed System

Note: Tomorrow Exam.

Centralized

  • Have non autonomous component
  • Often built using homogeneous technology
  • Multiple users share the resources of a centralized system at all time
  • Have single point of control and failure

Distributed

  • Have autonomous components
  • May be built using heterogeneous technology
  • Distributed system components may be used exclusively
  • Executed in concurrent process
  • Multiple point of failure

Simply said, distributed system is better that centralized system should there be enough resources involved.

Centralized utilized the same resources for multiple user. An example would be Database system where multiple user access the same database on the same server. This also mean that the database have the server as the only point of control, thus translate to single point of failure.  It is either it work, or not.

In distributed system, it have autonomous components where they posses full control over their part all the time. There is also no master components that have total control over the system. Every component is on their own. It define an interfaces to communicate with each other.

Heterogeneous technology means the ability to integrate components on legacy system with newly written program on newer system. They’re able to integrate and communicate even though have different programming language even. Usually the source of the components is compiled into heterogeneous machine code.

Components also can be used (or is used) exclusively by only one user. Looks like disadvantage, but this is the advantages of distributed system where a shared component might get overloaded by too many user or too many request. More so that components can be located so they’re local to the users and other components it may interact with. This improve overall performance.

The components create new thread whenever they start to perform a service for a user or another components. That way the components is always open for another service. Also it have multiple point of failure. It is design to be like that so if one components down, the other component that is not related to it, still available for a service.

Clearly distributed system has an advantage over the centralized system. With all the autonomous, heterogeneous, multi threading and multiple point of failure, it sure have lots of advantages.