Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tom Meyer, Iowa State SCT/Pixel Online Workshop 18-19 June, 2001 CORBA Common Object Request Broker Architecture.

Similar presentations


Presentation on theme: "Tom Meyer, Iowa State SCT/Pixel Online Workshop 18-19 June, 2001 CORBA Common Object Request Broker Architecture."— Presentation transcript:

1 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 CORBA Common Object Request Broker Architecture

2 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 Basic Concept Object A calls a method of object B: newval = B.doit(param1, param2); Object interface: class of object and name of method number and types of arguments type of return data Object request: a call to an interface with specific values name of object and method values of arguments value of returned data An Object Request Broker (ORB) is a middleman which finds the named object, passes it the parameter values, gets the return value, and forwards that value to the calling object. Calling object, A, is the client; called object, B, is the server.

3 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 The Basic Concept

4 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 Origin A product of the Object Management Group (OMG), a consortium of 700+ companies. The only competing product is DCOM from Microsoft. Strong development support came from many of the biggest companies in the industry. HP and Sun were strong early supporters. Development starting in 1991, 2.0 released in 1994. Current version is 2.4. Starting with CORBA 2.0, all implementations should inter-operate with each other via IIOP (but they can also have proprietary protocols that may be more efficient).

5 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 What Does CORBA Do for Us? “Middleware” which provides network-transparent method calls in object oriented projects. Allows for Distributed Objects Sort of like Remote Procedure Calls (RPCs) on steroids. It allows for inter-operability across networks and between languages. Example: Object A, written in C on a Windows 2000 machine, can invoke a method of Object B, written in C++ on a Linux machine. But there’s more: CORBA services make up a set of 15 packages that are pre-built to do useful things, like event servicing, access authentication, and transaction handling.

6 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 Basic Concept (2)

7 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 Major Services Events Allows objects dynamically to register their interest in specific events. Transactions Lets multiple objects on multiple ORBs participate in coordinated transactions. Security A scalable security service to authenticate requests. Persistence Handles database and file system access.

8 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 Other Services Naming: Keeps track of association between object names and their reference. Allows ORB to locate referenced objects. Life Cycle: Provides for creating, copying, moving, and deleteing objects. Trader: A “yellow pages” for objects. Lets you find them by the services they provide. Concurrency: Manages locks so objects can share resources. Externalization: Interfaces objects to external streams. Query: Locates objects by specified search criteria.

9 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 Other Services (2) Collections: Manages collections of objects (lists, bags, etc) Relationships: Dynamically creates and manages relationships between objects. (E.g. containment and reference) Time: Synchronizes time between objects, time orders events, generates alarms and timers, computes intervals, gives current time with an error. Licensing: Enforces licensing needs (e.g. trial periods). Properties: Allows dynamic attributes which can be specified at run time. Properties are typed named values.

10 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 Event Service

11 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 Event Service (2)

12 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 How We Could Use Event Service A process in the test stand computer (running Windows NT) receives various kinds of data from the ROD DSPs (raw events, occupancy plots, error summary tables, …). Different types of data are needed by various user processes on (possibly) remote machines running Linux, Unix, etc. The event service could take these data as they are received from the ROD and push them to the users that have subscribed to that type of data. Alternatively, a user process could request the event service to pull a type of data from the ROD and return it to that user and also forward it to all other users requesting that type of data. When we replace the WinNT machine with RCC’s, the user processes Should not see the difference!

13 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 Availability Many implementations exist. Some are commercial, others are open and may be downloaded for free. Technical support for free versions is available for a fee. – ILU from Xerox PARC, used by ATLAS online. –TAO from ACE, used by BaBar and being phased out of ATLAS online. Interfaces exist to most popular languages: C++, Java, C, Ada, Smalltalk, Python, Perl, COBOL (!), … Implementations exist on most operating systems: Linux/Unix, Win32, LynxOS, VxWorks, …

14 Tom Meyer, Iowa State Meyer@iastate.edu SCT/Pixel Online Workshop 18-19 June, 2001 References ISBN: 0201379279ISBN: 0471183334


Download ppt "Tom Meyer, Iowa State SCT/Pixel Online Workshop 18-19 June, 2001 CORBA Common Object Request Broker Architecture."

Similar presentations


Ads by Google