Составители:
Рубрика:
:&:#*%)K* :(*AK & +($5(!%%)$
-%*#$A&F*:,&* ,$%+@*,:K :!+(
5@!"! 5
ссылки, указывающие на интерфейсы компонентов. Описание интерфейсов начинается с ключевого слова interface, за ко-
торым следуют идентификаторы данного интерфейса и возможно наследуемых интерфейсов. Далее описываются опера-
ции (методы) в виде идентификаторов операций с возможными перечислениями параметров операций и указанием их
принадлежности к входным или выходным данным.
Далее классы объектов (программные модули) должны быть реализованы в CORBA-среде. Для этого компилятор
IDL выполняет следующие действия. Во-первых, метаданные для каждого класса объектов помещаются в специальную
базу данных, имеющуюся в ORB, — репозитарий интерфейсов. Во-вторых, компилятор создает для каждого определен-
ного на IDL метода клиентский и серверный стабы – специальные программные модули, обеспечивающие доступ к ком-
понентам.
Основное назначение ст абов – выполнение маршалинга и организация передачи данных чере з с еть. Марша лин-
гом называют упаковку параметров в стандартный формат для пересылки. Маршалинг необходим по той причине, что
представление данных в разных компьютерных средах может быть различным (например, различия в кодировке симво-
лов, в изображении чис ел с плавающей запятой). Клиентский стаб будет использоваться для передачи вызовов и дан-
ных от клиента в сеть, а серверный стаб, называемый также скелетоном, будет вызывать метод уже в среде сервера и
возвращать результаты.
На серверной стороне данные о каждом новом классе объектов, поддерживаемом конкретным сервером, заносятся
в репозитарий реализаций. Эту операцию выполняет объектный адаптер. Обычно в ORB имеется несколько объектных
адаптеров, обслуживающих разные группы компонентов (так, возможны объектные адаптеры, ориентированные на биб-
лиотеки, на базы данных, на группу отдельных программ и т.п.).
Объектные адаптеры выполняют также ряд других функций, например, таких как интерпретация объектных ссы-
лок, активация и дезактивация компонентов, вызов их методов через скелетоны
. Возможны разные способы активации
и дезактивации компонентов. В первом из них для обслуживания каждого клиент ского запро са создается своя копия
компонента. В других спо собах копии не создаются, компонент обслуживает все запросы с разделением или без разде-
ления во времени.
При реализации запроса брокер через объектный адаптер активирует соответствующий компонент. Далее клиент-
серверное взаимодействие происходит через стабы.
Изложенную схему клиент-серверного взаимодействия называют статической. В CORBA предусмотрены также ди-
намические вызовы. Для их осуществления не требуется предварительного формирования стабов с помощью компилято-
ра языка IDL. Вместо стабов, специфических для каждого вызываемого метода, в CORBA используются специальные про-
граммы динамического взаимодействия, инвариантные к вызываемым методам. При этом необходимые данные для обра-
щения к компоненту должны быть представлены в клиентской программе, в частности, они могут быть предварительно
получены из репозитария интерфейсов. Динамические вызовы обеспечивают большую гибкость при программировании,
но выполняются они значительно медленнее
В CORBA предусмотрен ряд унифицированных сервисов, работающих под управлением ORB. В частности, это
сервисы:
— именования — присваивает объектам уникальные имена, в результате пользователь может искать объекты в се-
ти по имени;
— жизненного цикла – обеспечивает создание, перемещение, копирование и удаление объектов (документов) в си-
стеме, в том числе сост авных объектов вместе со всеми ссылками и ассоциированными объектами;
— обработки транзакций — осуществляет управление транзакциями (блокировка, фиксация и откат транзакций)
из приложений или из ОС, что позволяет многим объектам в с ети использовать одни и те же серверы;
— событий — обеспечивает асинхронное распро странение и обработку сообщений о событиях, происшедших при
реализации процессов, что позволяет заинтересованным объектам координировать свои действия;
— обеспечения безопасности — поддерживает целостность данных.
В СОМ/DCOM все объекты сгруппированы в классы и каждый класс имеет свой идентификатор CLSID, а каждый
интерфейс (метод) класса – свой идентификатор. Для создания объекта (экземпляра класса) клиент обращается к серверу
библиотеки СОМ с указанием CLSID и идентификаторов всех требуемых интерфейсов. Сервер библиотеки СОМ находит
в таблице-реестре по CLSID адрес удаленной машины, на которой размещен запрошенный компонент, и передает ей за-
про с клиента. На серверной стороне создается объект (копия компонента), он активируется и возвращает клиенту указа-
тели-ссылки на требуемые интерфейсы. Теперь клиент может многократно обращаться к методам объекта, указывая в сво-
их запросах имена интерфейса, методов и их параметров. Обычно объект исполняется на той машине, на которой разме-
щен компонент, но можно выбрать и другую машину, указав в запросе, например, ее IP- адрес.
Появление технологии JavaBeans обусловлено успехом языка программирования Java. Технологию JavaBeans отли-
чают от СОМ/DCOM две особенности. Во-первых, Java — единственный в JavaBeans язык программирования. Единст -
венность языка и притом объектно-ориентированного обусловливает сравнительную легкость освоения и применения тех-
нологии JavaBeans. Во-вторых, технология JavaBeans является платформенно-независимой.
Компоненты в JavaBeans являются классами Java. Для их создания, модификации и объединения в прикладные про-
граммы имеются специальные средства в составе инструментальной среды JDK (Java Development Kit). С их помощью
компоненты JavaBeans могут быть встроены в Java-аплеты, приложения или другие более крупные компоненты. В качест-
ве Java-аплетов компоненты JavaBeans поддерживаются большинством имеющихся WWW-браузеров.
&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&*
146
5@!"! 5 :&:#*%)K* :(*AK & +($5(!%%)$-%*#$A&F*:,&* ,$%+@*,:K :!+(
ссылки, указывающие на интерфейсы компонентов. Описание интерфейсов начинается с ключевого слова interface, за ко-
торым следуют идентификаторы данного интерфейса и возможно наследуемых интерфейсов. Далее описываются опера-
ции (методы) в виде идентификаторов операций с возможными перечислениями параметров операций и указанием их
принадлежности к входным или выходным данным.
Далее классы объектов (программные модули) должны быть реализованы в CORBA-среде. Для этого компилятор
IDL выполняет следующие действия. Во-первых, метаданные для каждого класса объектов помещаются в специальную
базу данных, имеющуюся в ORB, — репозитарий интерфейсов. Во-вторых, компилятор создает для каждого определен-
ного на IDL метода клиентский и серверный стабы – специальные программные модули, обеспечивающие доступ к ком-
понентам.
Основное назначение стабов – выполнение маршалинга и организация передачи данных через сеть. Маршалин-
гом называют упаковку параметров в стандартный формат для пересылки. Маршалинг необходим по той причине, что
представление данных в разных компьютерных средах может быть различным (например, различия в кодировке симво-
лов, в изображении чисел с плавающей запятой). Клиентский стаб будет использоваться для передачи вызовов и дан-
ных от клиента в сеть, а серверный стаб, называемый также скелетоном, будет вызывать метод уже в среде сервера и
возвращать результаты.
На серверной стороне данные о каждом новом классе объектов, поддерживаемом конкретным сервером, заносятся
в репозитарий реализаций. Эту операцию выполняет объектный адаптер. Обычно в ORB имеется несколько объектных
адаптеров, обслуживающих разные группы компонентов (так, возможны объектные адаптеры, ориентированные на биб-
лиотеки, на базы данных, на группу отдельных программ и т.п.).
Объектные адаптеры выполняют также ряд других функций, например, таких как интерпретация объектных ссы-
лок, активация и дезактивация компонентов, вызов их методов через скелетоны. Возможны разные способы активации
и дезактивации компонентов. В первом из них для обслуживания каждого клиентского запроса создается своя копия
компонента. В других способах копии не создаются, компонент обслуживает все запросы с разделением или без разде-
ления во времени.
При реализации запроса брокер через объектный адаптер активирует соответствующий компонент. Далее клиент-
серверное взаимодействие происходит через стабы.
Изложенную схему клиент-серверного взаимодействия называют статической. В CORBA предусмотрены также ди-
намические вызовы. Для их осуществления не требуется предварительного формирования стабов с помощью компилято-
ра языка IDL. Вместо стабов, специфических для каждого вызываемого метода, в CORBA используются специальные про-
граммы динамического взаимодействия, инвариантные к вызываемым методам. При этом необходимые данные для обра-
щения к компоненту должны быть представлены в клиентской программе, в частности, они могут быть предварительно
получены из репозитария интерфейсов. Динамические вызовы обеспечивают большую гибкость при программировании,
но выполняются они значительно медленнее
В CORBA предусмотрен ряд унифицированных сервисов, работающих под управлением ORB. В частности, это
сервисы:
— именования — присваивает объектам уникальные имена, в результате пользователь может искать объекты в се-
ти по имени;
— жизненного цикла – обеспечивает создание, перемещение, копирование и удаление объектов (документов) в си-
стеме, в том числе составных объектов вместе со всеми ссылками и ассоциированными объектами;
— обработки транзакций — осуществляет управление транзакциями (блокировка, фиксация и откат транзакций)
из приложений или из ОС, что позволяет многим объектам в сети использовать одни и те же серверы;
— событий — обеспечивает асинхронное распространение и обработку сообщений о событиях, происшедших при
реализации процессов, что позволяет заинтересованным объектам координировать свои действия;
— обеспечения безопасности — поддерживает целостность данных.
В СОМ/DCOM все объекты сгруппированы в классы и каждый класс имеет свой идентификатор CLSID, а каждый
интерфейс (метод) класса – свой идентификатор. Для создания объекта (экземпляра класса) клиент обращается к серверу
библиотеки СОМ с указанием CLSID и идентификаторов всех требуемых интерфейсов. Сервер библиотеки СОМ находит
в таблице-реестре по CLSID адрес удаленной машины, на которой размещен запрошенный компонент, и передает ей за-
прос клиента. На серверной стороне создается объект (копия компонента), он активируется и возвращает клиенту указа-
тели-ссылки на требуемые интерфейсы. Теперь клиент может многократно обращаться к методам объекта, указывая в сво-
их запросах имена интерфейса, методов и их параметров. Обычно объект исполняется на той машине, на которой разме-
щен компонент, но можно выбрать и другую машину, указав в запросе, например, ее IP- адрес.
Появление технологии JavaBeans обусловлено успехом языка программирования Java. Технологию JavaBeans отли-
чают от СОМ/DCOM две особенности. Во-первых, Java — единственный в JavaBeans язык программирования. Единст-
венность языка и притом объектно-ориентированного обусловливает сравнительную легкость освоения и применения тех-
нологии JavaBeans. Во-вторых, технология JavaBeans является платформенно-независимой.
Компоненты в JavaBeans являются классами Java. Для их создания, модификации и объединения в прикладные про-
граммы имеются специальные средства в составе инструментальной среды JDK (Java Development Kit). С их помощью
компоненты JavaBeans могут быть встроены в Java-аплеты, приложения или другие более крупные компоненты. В качест-
ве Java-аплетов компоненты JavaBeans поддерживаются большинством имеющихся WWW-браузеров.
&.+.)$(*),$" . !"#$%!#&'&($"!))$* +($*,#&($"!)&* 146
Страницы
- « первая
- ‹ предыдущая
- …
- 144
- 145
- 146
- 147
- 148
- …
- следующая ›
- последняя »
