![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Объекты по значению
Помимо удалённых объектов в CORBA 3.0 определено понятие объект по значению. Код методов таких объектов по умолчанию выполняется локально. Если объект по значению был получен с удалённой стороны, то необходимый код должен либо быть заранее известен обеим сторонам, либо быть динамически загружен. Чтобы это было возможно, запись, определяющая такой объект, содержит поле Code Base — список URL, откуда может быть загружен код. У объекта по значению могут также быть и удалённые методы, поля, которые передаются вместе с самим объектом. Поля, в свою очередь также могут быть такими объектами, формируя таким образом списки, деревья или произвольные графы. Объекты по значению могут иметь иерархию классов, включая абстрактные и множественное наследование. Компонентная модель CORBA (CCM) Компонентная модель CORBA (CCM) — недавнее дополнение к семейству определений CORBA. CCM была введена начиная с CORBA 3.0 и описывает стандартный каркас приложения для компонент CORBA. CCM построено под сильным влиянием Enterprise JavaBeans (EJB) и фактически является его независимым от языка расширением. CCM предоставляет абстракцию сущностей, которые могут предоставлять и получать сервисы через чётко определённые именованные интерфейсы, порты. Модель CCM предоставляет контейнер компонентов, в котором могут поставляться программные компоненты. Контейнер предоставляет набор служб, которые может использовать компонент. Эти службы включают (но не ограничены) службу уведомления, авторизации, персистентности и управления транзакциями. Это наиболее часто используемые распределённым приложением службы. Перенося реализацию этих сервисов от необходимости реализации самим приложением в функциональность контейнера приложения, можно значительно снизить сложность реализации собственно компонентов. Общий протокол межброкерного взаимодействия (GIOP) GIOP (General Inter-ORB Protocol) — абстрактный протокол в стандарте CORBA, обеспечивающий интероперабельность брокеров. Стандарты, связанные с протоколом выпускает Object Management Group (OMG). Архитектура GIOP включает несколько конкретных протоколов: 1. Internet InterORB Protocol (IIOP) (Межброкерный протокол для Интернет) — протокол для организации взаимодействия между различными брокерами, опубликованный консорциумом OMG. IIOP используется GIOP в среде интернет, и обеспечивает отображение сообщений между GIOP и слоем TCP/IP. 2. SSL InterORB Protocol (SSLIOP) — IIOP поверх SSL, поддерживаются шифрование и аутентификация. 3. HyperText InterORB Protocol (HTIOP) — IIOP поверх HTTP. Ссылка на объект (Corba Location) CorbaLoc (англ. Corba Location) — является строковой ссылкой на объект технологии CORBA, подобной URL. Все реализации CORBA должны поддерживать как минимум два варианта OMG URL: corbaloc: и corbaname:. Их назначение в том, чтобы предоставить человеку способ читать и править ссылку, посредством которой можно получить ссылку на объект CORBA. Пример corbaloc: corbaloc:: 160.45.110.41: 38693/StandardNS/NameServer-POA/_root Реализация CORBA может предоставлять поддержку форматов «http:», «ftp:» и «file:». Назначение этих форматов в том, чтобы указать способ, откуда взять строковое представление ссылки на объект CORBA. Список брокеров (CORBA ORBs) · Borland Enterprise Server, VisiBroker Ed.[1] — CORBA 2.6-совместимый коммерческий ORB от Borland, поддерживает Java и C++. · MICO[2] — свободный (LGPL) ORB с поддержкой C++. · omniORB[3] — свободный (LGPL) ORB для C++ и Python. · ORBit2[4] — свободный (LGPL) ORB для C, C++ и Python. · JacORB[5] — свободный (LGPL) ORB, написан на Java. · TAO[6] — The ACE ORB, открытый ORB для C++. · Orbacus[7] — коммерческий ORB для C++, Java от IONA Technologies. · Orbix — коммерческий ORB от IONA Technologies. · PolyORB — ORB от AdaCore для языка программирования Ada. Есть как свободная, так и коммерческая версии.
|