Главная / Программирование /
Построение распределенных систем на Java / Тест 8
Построение распределенных систем на Java - тест 8
Упражнение 1:
Номер 1
Module BillingServiceModule
(в определении BillingService.idl
) при использовании утилиты idlj
породит следующую синтаксическую конструкцию Java
:
Ответ:
 (1) package BillingServiceModule
 
 (2) interface BillingServiceModule
 
 (3) class BillingServiceModule
 
Номер 2
Описание Card getCard(in string card)
в определении BillingService.idl
означает, что метод getCard
возвращает:
Ответ:
 (1) объектную ссылку 
 (2) экземпляр класса Card
, созданный на сервере и переданный на клиента посредством механизма сериализации 
 (3) экземпляр класса Card
, созданный на клиенте 
Номер 3
Описание Card addNewCard(in string personName, in string card)
в определении BillingService.idl
означает, что объектная ссылка Card
, возвращаемая методом, "указывает" на:
Ответ:
 (1) объект, созданный на сервере (в адресном пространстве сервера) 
 (2) объект, созданный на клиенте (в адресном пространстве клиента) 
 (3) объект, являющийся разделом сервиса имен, в котором зарегистрирован объект Card
 
Упражнение 2:
Номер 3
В хэштаблице _cards
(класс BillingServiceImpl
) хранятся:
Ответ:
 (1) экземпляры класса CardImpl
 
 (2) экземпляры класса Card
 
 (3) экземпляры класса _CardStub
 
Упражнение 3:
Номер 1
Какие из следующих утверждений являются верными:
Ответ:
 (1) класс CardImpl
реализует операции, определенные для интерфейса Card
в в определении BillingService.idl
 
 (2) класс CardImpl
наследует от класса CardPOA
- класса, автоматически созданного утилитой idlj
 
 (3) экземпляры класса CardImpl
непосредственно могут быть использованы в качестве возвращаемых аргументов методов, возвращающих объектную ссылку 
Номер 2
Какие из следующих утверждений являются верными:
Ответ:
 (1) если предполагается возврат объектных ссылок Card
, класс CardImpl
должен реализовывать интерфейс Serializable
 
 (2) в классе CardImpl
нельзя объявлять synchronized
методы 
 (3) класс CardImpl
должен реализовывать все методы, определенные для интерфейса Card
 
Номер 3
Класс CardImpl
, это:
Ответ:
 (1) реализация интерфейса Card
, определенного в BillingService.idl
 
 (2) класс, создающий объект, реализующий интерфейс BillingService
, и регистрирующий его в сервисе имен 
 (3) клиентская заглушка, использующаяся для приема параметров и отправки их серверному классу 
Упражнение 4:
Номер 1
Класс BillingServiceServer
, это:
Ответ:
 (1) реализация интерфейса BillingService
, определенного в BillingService.idl
 
 (2) класс, создающий объект, реализующий интерфейс BillingService
, и регистрирующий его в сервисе имен 
 (3) серверный скелетон, использующийся для приема параметров от клиента и передачи их серверному классу 
Номер 2
В какой строке класса BillingServiceServer
([листинг программы]) создается объект, реализующий интерфейс BillingService
, определенный в BillingService.idl
:
Ответ:
 (1) 14 
 (2) 24 
 (3) 26 
Номер 3
В какой строке класса BillingServiceServer
([листинг программы]) объект, реализующий интерфейс BillingService
, регистрируется в сервисе имен:
Ответ:
 (1) 37 
 (2) 42 
 (3) 33 
Упражнение 5:
Номер 2
Для запуска примера потребуются следующие утилиты (при использовании реализации CORBA
, включенной в пакет JDK
):
Ответ:
 (1) только интерпретатор java
 
 (2) интерпретатор java
, tnameserv
, servertool
 
 (3) интерпретатор java
, orbd
, servertool
 
Номер 3
Запуск приложения осуществляется в следующем порядке:
Ответ:
 (1) запуск сервиса tnameserv
, запуск утилиты servertool
, запуск клиента, запуск сервера 
 (2) запуск сервиса orbd
, регистрация с помощью утилиты servertool
сервера, запуск клиента 
 (3) запуск утилиты servertool
, запуск сервиса orbd
, запуск сервера, запуск клиента 
Упражнение 6:
Номер 1
Как BillingServiceClient
находит сервис имен:
Ответ:
 (1) опрашивает сеть с помощью широковещательных пакетов, ждет ответа от сервиса имен 
 (2) сетевой адрес узла, на котором запущен сервис имен и его порт указывается в командной строке при вызове клиента 
 (3) BillingServiceClient
не использует сервис имен 
Номер 2
Класс BillingServiceServer
запускается на исполнение:
Ответ:
 (1) непосредственно пользователем, с помощью интерпретатор java
 
 (2) автоматически сервисом orbd
, класс доден быть предварительно в сервисе зарегистрирован 
 (3) непосредственно пользователем, с помощью интерпретатор java
, однако предварительно класс должен быть зарегистрирован с помощью утилиты servertool
 
Номер 3
Создание класс BillingServiceServer
с параметром при регистрации LifespanPolicyValue.PERSISTENT
обеспечивает:
Ответ:
 (1) возможность регистрации класса в orbd
и автоматическое создание экземпляра класса 
 (2) автоматическое сохранение состояния класса между запусками orbd
 
 (3) автоматическое восстановление состояния класса после фатальной ошибки