140 likes | 259 Vues
This document delves into the essential aspects of CORBA (Common Object Request Broker Architecture), focusing on key terminologies and components such as the Object Request Broker (ORB), Implementation Repository (IR), Interface Definition Language (IDL), and Object Adaptors. It explores the functionality of ORBs, inter-ORB protocols like IIOP, and various execution semantics, including at-most-once and best-effort strategies. The text also presents an overview of IDL file structure and the specifications for server-side reactions to requests. Enhance your understanding of distributed object systems through these insights.
E N D
CORBA Continued Netprog: More Corba
CORBA Terminology • ORB - Object Request Broker • IR – Implementation Repository • IDL – Interface Definition Language • OA,BOA,POA – Object Adaptor, Basic Object Adaptor, Portable Object Adaptor • Object Services Netprog: More Corba
A Description of The ORBhttp://www.omg.org/corba/whatiscorba.html "The (ORB) is the middleware that establishes the client-server relationships between objects. Using an ORB, client can transparently invoke a method on a server object, which can be on the same machine or across a network." Netprog: More Corba
A Picture from OMGwww.omg.org/gettingstarted/corbafaq.htm Netprog: More Corba
ORB Differences • The specification of the functionality of an ORB is not a complete implementation description. • Many of the details are left up to the implementor. • Every Vendor does things differently. • You write code to work with a specific ORB. Netprog: More Corba
Inter-ORB Protocol • There is support for connecting ORBs. • The most significant support is the Internet Inter-Orb Protocol (IIOP) • Specifies the details of communication (bridging) between ORBs. Netprog: More Corba
Multiple ORB Picturewww.omg.org/gettingstarted/corbafaq.htm Netprog: More Corba
Call Semantics (part of Corba Object Model - 1.2.8.5 Execution Semantics) "Two styles of execution semantics are defined by the object model: • At-most-once: if an operation request returns successfully, it was performed exactly once; if it returns an exception indication, it was performed at-most-once. • Best-effort: a best-effort operation is a request-only operation (i.e., it cannot return any results and the requester never synchronizes with the completion, if any, of the request)." Netprog: More Corba
IDL • Used to describe "interfaces" • similar to RPC .x file • Object Oriented. • Mappings to many languages. Netprog: More Corba
General Layout of IDL File Organizational group moduleidentifier { type,constant & exception declarations interfaceidentifier : base { attribute declarations type identifier(parameters) raises exception; type identifier(parameters) raises exception; … } Corba Class Corba Methods Netprog: More Corba
Sample IDL(from Essential Dist. Object Survival Guide) Module MyAnimals { interface Dog:Pet,Animal { attribute integer age; exception NotInterested(string explanation); void Bark(in short how_long) raises(NotInterested); void Sit(in string where) raises(NotInterested); } interface Cat:Animal { void Eat(); } } Netprog: More Corba
IDL from Mico Example interface Account { void deposit(in unsigned long amount); void withdraw(in unsigned long amount); long balance(); }; Netprog: More Corba
Object Adaptors • Corba includes specification of mechanisms for how the server-side ORB should react to requests. • How to start up the server (or hand the request to the server). • Create object references. • BOA is simplest OA. Netprog: More Corba
POA • Newer than BOA. • Supports lots of fancy stuff: • Persistent objects. • Threads. • So far I haven't heard of TOA, ZOA or OOA Netprog: More Corba