logo search
Voprosy_KIS_A1607_4

Основные компоненты технологии corba

CORBA is composed of five major components: ORB, IDL, dynamic invocation interface

(DII), interface repositories (IR), and object adapters (OA). These are discussed in the following

sections.

The object request broker

The CORBA specification must have software to implement it. The software that implements the CORBA specification is called the ORB. The ORB, which is the heart of CORBA, is responsible for all the mechanisms required to perform these tasks:

• Find the object implementation for the request.

• Prepare the object implementation to receive the request.

• Communicate the data making up the request.

Interface definition language

As with RMI, CORBA objects are to be specified with interfaces, which are the contract between the client and server. In CORBA’s case, however, interfaces are specified in the special definition language IDL.

The IDL defines the types of objects by defining their interfaces. An interface consists of a set of named operations and the parameters to those operations. Note that IDL is used to describe interfaces only, not implementations. Despite the fact that IDL syntax is similar to C++ and Java, IDL is not a programming language.

Through IDL, a particular object implementation tells its potential clients what operations are available and how they should be invoked. From IDL definitions, the CORBA objects are mapped into different programming languages. Some of the programming languages with IDL mapping include C, C++, Java, Smalltalk, Lisp, and Python. Thus, once you define an interface to objects in IDL, you are free to implement the object using any suitable programming language that has IDL mapping. And, consequently, if you want to use that object, you can use any programming language to make remote requests to the object.

Dynamic invocation interface

Invoking operations can be done through either static or dynamic interfaces. Static invocation interfaces are determined at compile time, and they are presented to the client using stubs. The DII, on the other hand, allows client applications to use server objects without knowing the type of those objects at compile time. It allows a client to obtain an instance of a CORBA object and make invocations on that object by dynamically constructing requests. DII uses the interface repository to validate and retrieve the signature of the operation on which a request is made. CORBA supports both the dynamic and the static invocation interfaces.

Interface Repository

The IR provides another way to specify the interfaces to objects. Interfaces can be added to the interface repository service. Using the IR, a client should be able to locate an object that is unknown at compile time, find information about its interface, then build a request to be forwarded through the ORB.

Object adapters An object adapter is the primary way that an object implementation accesses services provided by the ORB. Such services include object reference generation and interpretation, method invocation, security of interactions, and object and implementation activation and deactivation.

CORBA состоит из пяти основных компонентов: ОРБ, IDL, dynamic invocation interface (DII), интерфейс хранилища (ИК), и объект адаптеры (OA). Эти вопросы обсуждаются в следующих разделов. Object request broker Спецификацией CORBA, должны иметь программное обеспечение для ее реализации. Программное обеспечение, которое реализует спецификацией CORBA называется ORB. ШАР, который является сердцем CORBA, отвечает за все механизмы, необходимые для выполнения следующих задач: • Находить выбранный объект во время выполнения запроса. • Подготовка объекта внедрения, чтобы принять запрос. • Передавать все данные составления запроса.

Язык определения интерфейсов Как с RMI, CORBA объекты должны быть указаны с интерфейсами, которые являются договор между клиентом и сервером. В CORBA в случае интерфейсов, указанных в специальном definition language-IDL. IDL определяет типы объектов, определяя их интерфейсов. Интерфейс состоит из набора именованных операций и параметров для этих операций. Обратите внимание, что IDL используется для описания интерфейсов только, а не реализации. Несмотря на то, что IDL синтаксис похож на синтаксис C++ и Java, IDL-это не язык программирования. Через IDL, в частности, реализации объекта говорит своих потенциальных клиентов, какие операции доступны, и как они должны быть вызваны. Из IDL определения, CORBA объекты отображаются в разных языках программирования. Некоторые языки программирования с IDL картирования в C, C++, Java, Smalltalk, Lisp, и Python. Таким образом, как только вы определить интерфейс для объектов в IDL, вы свободны для реализации объекта, используя любой подходящий язык программирования, который имеет отображение IDL. И, следовательно, если вы хотите использовать этот объект, вы можете использовать любой язык программирования, чтобы сделать удаленные запросы к объекту. Dynamic invocation interface Запуск операции могут выполняться либо через статические или динамические интерфейсы. Статического вызова интерфейсы определяются во время компиляции, и они представлены для клиента с помощью заглушек. Вариантами, с другой стороны, позволяет клиентским приложениям использовать сервер объекты, не зная тип этих объектов во время компиляции. Это позволяет клиенту получить экземпляр CORBA объект и принимать вызовы для этого объекта, путем динамического построения запросов. DII использует интерфейс хранилище для проверки и получения подписи операции, по которым сделан запрос. CORBA поддерживает динамического и статического вызова интерфейсов. Интерфейс Репозитория ИК предоставляет еще один способ указать интерфейсы для объектов. Интерфейсы могут быть добавлены в интерфейс сервис репозитория. Использование инфракрасного, клиент должен иметь возможность найти объект, который неизвестен во время компиляции, найти информацию о его интерфейс, а затем построить запрос для передачи через ДЕРЖАВУ. Объект адаптеры Адаптер объектов является основным образом, что объект обращается к реализации услуг, предоставляемых ORB. Такие услуги включают в себя ссылки на объект поколения и интерпретации, вызов метода, безопасности взаимодействий, и объект и реализации активации и деактивации.