Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]
CORBA и pacnpeделенные компьютерные системы
Стандарт CORBA (Common Object Request Broker Architecture) - результат 11-летней работы консорциума OMG (Object Management Group) - в настоящее время играет роль основной архитектуры для корпоративных систем и Интернет-приложений. Сотни программных приложений, описанных на страницах сайта www.corba.org, соответствуют стандартам CORBA, и предназначены для создания масштабируемых, надежных, транзакционных и безопасных приложений.
CORBA и распределенные сетевые программные приложения "росли" вместе: в начале 1990-х гг. технология CORBA была еще совсем юной, а Интернет представлял собой диковинку, используемую узким кругом специалистов для обмена электронными сообщениями и файлами через ftp (File Transfer Protocol - протокол передачи файлов, входящий в семейство TCP/ IP). В те времена для обмена данными между компьютерами чаще использовались гибкие диски, а не сетевые технологии, которые были дороги, необычны и неудобны в использовании.
Кроме того, сетевые программы были необычайно трудны. Существовало всего несколько популярных сетевых программ: telnet (сетевой доступ к удаленному компьютеру), FTP и SMTP (Simple Mail Transfer Protocol - основной протокол электронной почты в Интернете, также входящий в семейство TCP/IP). В остальных случаях программисты вынуждены были писать код, используя механизм сокетов (сокет - конечный элемент соединения, обеспечивающий взаимодействие между процессами транспортного уровня сети) или других элементов нижнего уровня сетевых взаимодействий. Даже Remote Procedure Call (RPC) (Удаленный вызов процедур - элемент технологии Java) еще не был известен.
Вслед за появлением стандарта Distributed Computing Environment (стандарт для распределенных компьютерных систем, который доминировал на рынке несколько лет до появления CORBA), разработанного OSF (Open Software Foundation), технология CORBA всего за несколько лет значительно расширила понятие объектно-ориентированных систем. И главным было понятие прозрачности местоположения, отделившее объект не только от его физического положения в сети, но и от самой сети. С помощью CORBA объекты могут находиться на той же машине, что и вызывающее их клиентское приложение. Каскадные вызовы позволяют строить приложения из компонентов, как из строительных блоков. С помощью реализации (instantiations) можно создавать и разрушать объекты по мере необходимости. Интерфейсы, описанные на разработанном OMG Языке описания интерфейсов (Interface Definition Language или IDL), не зависят от языков программирования программных приложений, которые могут быть и не объектно-ориентированными, такими, например, как С.
Значительное достоинство CORBA в современных сетевых средах состоит в том, что детали сетевых взаимодействий почти полностью скрыты от программиста, ведь создание распределенных компьютерных приложений и так достаточно трудоемко. Теперь программисты могут создавать бизнес-приложения, основанные на технологии CORBA, примерно в том же темпе, в каком поставщики обеспечивают их новыми средствами разработки.
С 1990-х гг. Интранет и Интернет развиваются одновременно. После короткого периода экспериментов с несовместимыми частными протоколами (помнит ли кто-нибудь про DECNET?) TCP/IP прочно занял место всеобщего транспортного протокола. С появлением недорогих и легко прокладываемых витых пар большинство офисов перешли от кустарных сетей к Ethernet. Провайдеры глобальных сетей, которые начинали с соединений терминалов с мэйнфреймами через 300-бодные модемы, заняты теперь созданием высокоскоростных инфраструктур, которые соединяют мощные настольные и портативные компьютеры, оснащенные цветными дисплеями и высокоскоростными цифровыми линиями с миллионами серверов Всемирной паутины (WWW).
Удобство и простота протокола HTTP (Hypertext Transfer Protocol, протокол передачи гипертекстовых файлов) для клиент-серверных приложений, способного обмениваться информацией поверх TCP/IP, известны всем. Менее очевидно, какой протокол использовать, чтобы объединить большое количество компьютеров для выполнения современных бизнес-приложений, которые не могут поместиться на одной машине, даже если это суперсовременный мэйнфрейм.
Существуют области безусловного господства CORBA. В гетерогенных средах, где важны требования масштабируемости и надежности, CORBA поддерживает устойчивое, надежное и безопасное соединение и даже транзакционную целостность не только для внутрикорпоративных, но и для внешних приложений. Приложения CORBA 2 масштабировались до тысячи транзакций в секунду и поддерживали одновременный доступ к мощным корпоративным сайтам в электронной коммерции и финансовой деятельности. Кроме того, CORBA 2 использовалась для крупнейших корпоративных инсталляций и в других ситуациях.
В конце 1990-х гг. сети перестали быть чем-то экзотическим, а наличие опыта сетевого программирования стало обычным делом. Сети превратились из простого проводка, связывающего клиента с сервером, в ключевой компонент инфраструктуры, с помощью которой можно объединить отдельные элементы бизнеса в новые, более мощные, формы коммерции.
Изменения в мире сетей привели к изменениям в CORBA. Прозрачность местоположения объектов - ценное качество, пока сети были чем-то новым и неизвестным, - стала мешать программистам, когда они попытались воспользоваться преимуществами сетевых характеристик для создания новых мощных серверных проектов.
Сети предоставляют пользователям доступ к популярным серверам, а программисты, в свою очередь, развивают способы масштабирования этих серверов. Если раньше каждый сам "изобретал велосипед", то в конце 90-х гг. вопросы масштабирования стали настолько популярны, что потребовалась стандартизация: Портируемый объектный адаптер (РОА) и Компонентная модель CORBA (ССМ). Консорциум OMG принял решение, что столь значительные изменения заслуживают отдельного релиза, который называется CORBA 3.
От автора
В этой книге собраны описания самых последних спецификаций OMG, относящихся к технологии CORBA и моделированию программных систем. В настоящее время технология CORBA представляет собой незаменимое средство создания современных Интернет-приложений и корпоративных программных систем. В книгу включены почти все 10 спецификаций, собранных в CORBA 3 (большая часть которых уже была включена OMG в различные релизы CORBA 2.Х), и рассмотрены такие важнейшие новинки, как отображение XML/Value, которое представляет XML-документ как множество связанных типов-значений (valuetypes) CORBA. Кроме того, в книгу включено описание стандартов моделирования, разрабатываемых OMG: Unified Modeling Language (UML), Meta-Object Facility (MOF) и XML Metadata Interchange (XMI).
Эта книга рассчитана на две категории читателей.
К первой категории относятся опытные CORBA-программисты или архитекторы, которым интересны новые спецификации CORBA и спецификации моделирования, созданные OMG в последнее время. Поскольку в книгу не включено описание основ CORBA, она не предназначена для новичков, хотя приведенные в ней описания спецификаций не сложнее тех, которые приведены в моей книге "CORBA 3 Fundamentals and Programming" (John Wiley & Sons, Inc., 2000).
Ко второй категории можно отнести архитекторов программных приложений, которые собираются использовать CORBA в своей инфраструктуре, даже если они не знают основ CORBA. Прочитав книгу, они смогут понять новые возможности CORBA и определить, как их можно использовать в корпоративной архитектуре. Возможно, техническая часть описаний покажется им труднее, чем архитектурная и функциональная части. В этом случае им придется изучить основы CORBA. По мере возможности я старался помещать технические и программные аспекты в конце каждой главы, чтобы архитекторы смогли усвоить больше материала до того, как столкнутся с программными деталями. С другой стороны, если вы - программист, а в начале главы мало технических деталей, то ищите их в ее конце.
Если вы новичок в CORBA и если область ваших интересов - программирование, а не возможности и архитектура новых спецификаций, вам нужна другая книга по CORBA, например, моя книга "CORBA 3 Fundamentals and Programming". Если вы программист и не знаете основ CORBA, то, возможно, вам на этом этапе следует познакомиться с ними и обязательно понять, как OMG Interface Definition Language (OMG IDL) (декларативный язык описания интерфейсов, созданный OMG в начале 90-х годов) отделяет интерфейсы от реализации, как объектная ссылка делает локальный вызов прозрачным для удаленных объектов и многие другие аспекты инфраструктуры CORBA.
Книга состоит из введения и четырех частей. Во введении объединены основные составные части CORBA 3, относящиеся как к клиентской, так и к серверной части программных приложений, названы все спецификации, включенные в пресс-релиз, посвященный CORBA 3, а также некоторые другие, представленные ниже в книге. По каждой спецификации дана справка, когда она была принята OMG и включена в тот или иной релиз CORBA.
Часть I посвящена вопросам интеграции с Java и Интернетом. Рассмотрены типы-значения (valuetype), обратное отображение Java-to-IDl отображение XML/Value, с помощью которого можно обрабатывать ХМL документы как обычный набор типов CORBA, и Интероперабельный сервис именования.
В части II описаны управление качеством сервиса. Рассмотрены асинхронный и синхронный способы удаленных вызовов, установка политик для тайм-аутов и управление приоритетами, а также три новых вида CORBA - Realtime CORBA (CORBA Реального времени). Fault Tolerant CORBA (Устойчивая к сбоям CORBA) и minimumCORBA (минимумСОRВА) для встраиваемых систем.
В части III представлена Компонентная модель CORBA (ССМ). В начале рассмотрен Портируемый объектный адаптер (Portable Object Adapter - РОА) и сервис хранения состояний (Persistent State Service PSS), а в конце части - сама Компонентная модель ССМ, начиная с примера кода и кончая описанием всех составных частей этой модели.
В части IV рассмотрены спецификации моделирования OMG, начиная с UML и МОF и заканчивая Model Driven Architecture (MDA), которая является последним расширением базовой архитектуры, разработанным OMG. MDA предназначена для определения сервисов и средств платформо-независимых UML-моделей, которые затем связываются с различными платформами либо для реализации, либо для интероперабельности. В заключительной главе книги изложены новые направления деятельности OMG, в том числе ожидаемая специалистами спецификация для интерфейсов CORBA-средств, основанная на платформо-независимых UML-моделях и на различных платформах среднего слоя (middleware -промежуточное программное обеспечение), таких как EJB, XML/SOAP, COM/DCOM/MTS/.Net и других.
Спецификации, приведенные в этой книге, полностью соответствуют первоисточникам, приведенным в отдельных документах. Следует отметить, что термин CORBA 3 был впервые использован в 1998 г. в пресс-релизе OMG, где были объявлены 10 новых спецификаций (большая часть из них приведена в книге). Спецификации появлялись в течение всего 1999 г. по графику или с незначительными отклонениями от него. Формальные же релизы появляются поэтапно, поскольку они всегда связаны с пересмотром первоначальных спецификаций и подтверждением их жизнеспособности со стороны производителей программного обеспечения, что возможно только после выпуска и поставок программных продуктов, соответствующих новым спецификациям. Первые несколько спецификаций (в том числе такие важные, как типы-значения (valuetype) и основы отображения XML/Value) формально относятся к CORBA 2.3 и появились в июне 1999 г., другие являются частью CORBA 2.4 (конец 2000 г.) После выхода книги в свет, возможно, появились спецификации, ставшие частью CORBA 2.5, которая должна выйти в середине 2001 г. Вместе с тем для некоторых спецификаций, о которых будет идти здесь речь, еще не существует формального релиза (например, для Сервиса хранения состояний или Компонентной модели CORBA, которые ожидаются в конце 2000 г. CCM должна появиться в нескольких местах. Проверьте www.ditec.um.es/-dsevilla/com для уточнения деталей (после вызова страницы поищите фразу "CCM implementation").
Я собирал информацию по датам релизов (в основном, прошлых) для всех спецификаций, упомянутых в книге.
Некоторые материалы взяты из моей предыдущей книги "CORBA 3 Fundamentals and Programming", опубликованной в середине 2000 г. в издательстве John Wiley and Sons. В новых главах рассмотрены отображение XML/Value, которое позволяет обрабатывать XML-документ как набор простых типов CORBA, Fault Tolerant CORBA (Устойчивая к сбоям CORBA), minimumCORBA для встраиваемых систем и новая архитектура OMG - Model Driven Architecture. Дискуссия по поводу Интероперабельного сервиса именования возобновилась, поскольку понадобилось внести дополнения, связанные с новыми спецификациями, (см. гл.З, ч.II).
Спасибо вам за то, что вы купили эту книгу. В ней я собрал описания наиболее важных новых спецификаций CORBA в сравнительно небольшом объеме. (Я думаю, что эта книга по сравнению с остальными вышла очень компактной!) Я надеюсь, что вам понравится читать ее так же, как мне нравилось ее писать.
Джон Сигел,
Директор по продвижению технологий,
Object Management Group
Начало
Полное содержание
Об авторе
Заказать книгу в магазине "Мистраль"