Корпоративные системы на основе CORBA

Дирк Слама, Джейсон Гарбис, Перри Рассел

Enterprise CORBA First Edition
Dirk Slama
книга Корпоративные системы на основе CORBA

Тираж данной книги закончился.
Введение

Книга известных специалистов в сфере разработке корпоративных систем - Перри Рассела, Джейсона Гарбиса и Дирка Сламы - посвящена различным вопросам, связанным с системами на основе CORBA. Здесь вы найдете описание различных служб CORBA, брокеров объектных запросов поколений BOA и POA, обработки распределенных транзакций, интеграции с базами данных, способов выравнивания нагрузки и обеспечения отказоустойчивости. Также вы узнаете о различных подводных камнях, с которыми можно столкнуться при разработке корпоративных систем на основе CORBA. Эта книга ориентирована прежде всего на программистов, обладающих минимальными знаниями об использовании CORBA, она будет полезной всем, кто желает познакомиться с новыми подходами к разработке корпоративных систем.

368 стр., с ил.; ISBN 5-8459-0110-3, 0-13-083963-9; формат 70x100/16; 2000, 4 кв.; Вильямс.



Понравилась книга? Порекомендуйте её друзьям и коллегам:







Книги, рекомендуемые вместе с этой книгой:

Раздел каталога:



Предисловие

Предположим, что вам понадобилось написать приложение для сложной программно-аппаратной среды или интегрировать ряд компонентов или приложений в гибкую корпоративную систему. Мы также предполагаем, что созданное вами приложение должно нормально функционировать, и при этом вы не хотите повторно изобретать колесо. Следовательно, вам нужна авторитетная консультация, где взять необходимые программы и получить соответствующие навыки.

Сложности начинаются, когда вам необходимо обеспечить работу приложения в распределенной среде. Это бывает связано с тем, что различные компоненты написаны на разных языках программирования или они работают под управлением разных операционных систем. Другой случай — вы работаете в полностью однородной среде, а вам необходимо обеспечить доступ к приложениям или компонентам сотрудникам различных подразделений или компаний.

В любом из перечисленных выше случаев вам поможет брокер объектных запросов, особенно если он соответствует архитектуре CORBA. Использование именно этой архитектуры оправдывается тем, что она обеспечивает взаимодействие компонентов без дополнительного программного обеспечения. Технология CORBA не просто обеспечивает взаимодействие компонентов, она еще и делает его изящным. Помимо соединений "точка–точка", архитектура CORBA поддерживает вариации на тему "множество–множество". Объекты могут быть безопасными; объекты могут содержаться в базах данных; доступ к базам данных может осуществляться через границы; одна транзакция может обеспечить обновление сразу нескольких баз данных; контроль и управление системами могут осуществляться на нескольких уровнях; поиск объектов может проводиться как по их именам, так и по свойствам.

Так чему же посвящена настоящая книга? Исследования распределенных систем впервые начали проводиться в 80-х годах, может быть, немного раньше, так что у нас было около двух десятилетий на освоение новых идей. В течение этого времени особое внимание уделялось разработке интерфейсов, системы безопасности, именованию объектов, транзакциям, способам соединений, двух- и трехзвенным архитектурам, интеграции баз данных, отказоустойчивости, управлению системами и т.д. Если вы хорошо знакомы с наиболее важными аспектами работы вашей системы, вам будет достаточно легко освоить материал настоящей книги, в которой рассмотрены не только все перечисленные выше вопросы, но приведено много ценных практических советов.

Дирк, Джейсон и Перри — это действительно специалисты в своей области. Они подробно изучали все полученные результаты, а также выступали консультантами при обсуждении многих вопросов. Их вклад в развитие CORBA просто невозможно переоценить. CORBA позволяет очень просто "наводить мосты" между различными частями системы. В настоящей книге рассмотрено множество приемов, которые позволят вам на прикладном уровне использовать архитектуру CORBA для обеспечения самой эффективной работы системы.

Когда же появилась CORBA? В середине 90-х годов возникла необходимость создать нечто, что позволило бы объединить разрозненные части системы. В 1998 году полученные результаты дополнены разработкой системы безопасности, проведения транзакций, интеграцией баз данных и т.д., после чего все полученные технологии были объединены в виде CORBA. Более того, CORBA применима в средах, в которых, помимо нее, используется и модель COM; она поддерживает Java (первый язык программирования, позволяющий эффективно использовать классы), а также многие инструменты, которые позволяют использовать ее в вычислительных системах предприятий. Каковы же планы развития на ближайшие пару лет?

Во-первых, будет совершенствоваться интеграция с другими технологиями. Тут очень большую роль играет технология Enterprise JavaBeans, которая позволяет добавлять в среду Java инструменты для написания клиентов и серверов, обладающих широкими возможностями. Одной из первоочередных задач является и интеграция CORBA со стандартными бизнес-приложениями.

Во-вторых, CORBA будет становиться все проще и проще в использовании. Тут одним из ключевых моментов является создание клиентов и серверов или, по крайней мере, их частей с помощью сценариев. Таким образом могут использоваться сценарии, написанные на C++ или Java, и тогда не нужно писать сценарии на языках, специфичных для определенных приложений. Еще одна группа простых в использовании инструментов ориентирована на администраторов, так как значительно облегчает выполнение контроля над работой системы.

В-третьих, понятие компонент должно получать все большее и большее значение. Компонент представляет собой объект, в котором нет никаких сведений о системе безопасности, транзакциях, именовании и т.д. Таким образом, компоненту можно присвоить совершенно иные свойства безопасности без внесения изменений в код объекта. Другими словами, компонент можно "помещать" в среды с разным уровнем безопасности без внесения изменений в код объекта, даже если безопасность в этих средах обеспечивается различными способами. А то, будет компонент транзакционным или нет, определяется свойствами не самого компонента, а среды (контейнера), в которую он помещен.

Отделение кода логики приложений от кода инфраструктуры — это ключ к повышению производительности работы. Один из положительных результатов такого разделения определяется независимостью программного обеспечения от изменений среды, в которой оно должно исполняться. Один и тот же компонент можно поместить в контейнер CORBA, JRB или COM. Поэтому, если компонент поместить в контейнер COM, "родной" средой взаимодействия будет COM, а доступ к этому объекту из других сред обеспечивается автоматическим мостом. Если компонент поместить в контейнер CORBA, "родной" средой взаимодействия будет именно CORBA, а доступ к нему из среды COM обеспечивается автоматическим мостом. В результате необходимость внесения изменений в логику приложения отпадает.

Все эти улучшения уменьшают необходимость в написании программного обеспечения, выполняющего роль "мостов" между различными частями системы. Разработчикам программного обеспечения не потребуется ломать голову над изощренными приемами модели распределенных вычислений, чтобы обеспечить наивысшую производительность. Я чрезвычайно признателен всем трем авторам настоящей книги, которые потратили массу времени на то, чтобы сделать результаты многолетних исследований доступными широкой аудитории. Они не только познакомят читателей с современными достижениями CORBA, но и укажут направление, в котором эта технология будет развиваться в дальнейшем.

Син Бейкер
Основатель компании IONA Technologies

Введение

Рады приветствовать вас в книге Корпоративные системы на основе CORBA! Авторы настоящей книги поставили перед собой амбициозную цель — написать руководство, которое помогло бы вам создавать системы CORBA масштаба предприятий. Очевидно, построение распределенных систем является настолько сложной темой, что достаточно проблематично дать общие рекомендации, которые вам пригодятся во всех ситуациях. Очень часто "наилучшего" решения просто не существует, поэтому на ваш выбор наиболее оптимального варианта оказывают влияние многие факторы, как технические, так и нетехнические. Материал настоящей книги основан на опыте, накопленном авторами в течение нескольких лет во время консультаций со многими пользователями CORBA со всего мира, работавшими с этой технологией в сферах производства, финансов, телекоммуникаций и перевозок. Мы надеемся на то, что ясно осветили все рассматриваемые темы, посвященные реализации реальных проектов, и обеспечили вас не абстрактными или академическими рекомендациями и решениями, а прикладными, которые действительно применялись при построении информационных систем.

Существуют две проблемы общего плана, связанные с написанием книг, подобных настоящей, в которой предпринята попытка осветить чрезвычайно сложную тему в аспекте решения прикладных задач. Во-первых, практически невозможно одному человеку (или даже троим) ознакомиться со всеми подробностями и объединить теоретические положения с реальными ситуациями. Во-вторых, компьютерная индустрия развивается настолько быстро, что невозможно написать книгу, которая будет достаточно современной в течение длительного времени.

И наконец, эта книга ориентирована прежде всего на программистов, обладающих минимальными знаниями об использовании CORBA. Таким образом, вам необходимо обладать определенными навыками в разработке корпоративных систем с использованием технологии CORBA.

Каким образом организована настоящая книга

Материал настоящей книги разбит на пять частей, каждая из которых посвящена отдельному кругу вопросов.

  • Часть I. Основы
  • Часть II. Основные службы
  • Часть III. Интеграция с базами данных и обработка транзакций
  • Часть IV. Масштабируемость
  • Часть V. Разработка информационных систем с использованием технологии CORBA

Ниже кратко рассмотрена каждая из этих частей.

Часть I. Основы

Настоящая книга предназначена для читателей, обладающих общими представлениями о CORBA, поэтому мы не пытались подробно описать принципы, лежащие в основе этой технологии. При написании части I книги мы ставили перед собой две цели. Во-первых, мы критически рассмотрели спецификации ORB, а также службы CORBA, так как это та основа, без которой просто невозможно построить корпоративные системы с применением технологии CORBA (глава 2 "Архитектура CORBA", глава 3 "Службы CORBA"). Во-вторых, мы изложили информацию, необходимую для понимания материла всей книги. В качестве примера мы рассмотрим систему StockWatch (глава 4 "Простой пример"). И наконец, мы рассмотрим вопросы, связанные с обеспечением производительности при использовании языка IDL, так как эти вопросы важны для всего последующего обсуждения в настоящей книге (глава 5 "Производительность работы").

Часть II. Основные службы

При построении корпоративных систем одни службы CORBA оказываются намного полезнее, чем другие. В части II этой книги мы рассмотрели самые важные службы CORBA. В главе 6 "Обнаружение объектов" мы уделили внимание поиску объектов и служб в корпоративных системах с помощью службы именования (CORBA Naming Service) и службы коммерции (CORBA Trading Service). В главе 7 "Обмен сообщениями" мы рассмотрим вопросы, связанные с передачей сообщений в корпоративных системах. В этой же главе рассмотрены и брокеры объектных запросов, которые передают однонаправленные или широковещательные сообщения, а также службы событий (Event Service) и уведомления (Notification Service). Материал главы 8 "Безопасность" посвящен созданию и использованию политик безопасности в корпоративных системах, построенных с помощью технологии CORBA.

Часть III. Интеграция с базами данных и обработка транзакций

Экспортирование данных из баз данных может стать одним из самых распространенных способов применения технологии CORBA . Этому и посвящен материал части III книги. Сначала мы рассмотрим перманентность объектов (глава 9 "Долговременное хранение объектов"). Затем, взяв за основу этот материал, мы рассмотрим перманентные объекты CORBA (глава 10 "Интеграция с базами данных"). Рассматривать интеграцию CORBA с базами данных нельзя без обсуждения обработки транзакций. После общего рассмотрения транзакций в среде CORBA (глава 11) мы уделим внимание распределенной обработке транзакций (глава 12). В этой же главе рассмотрена и служба объектных транзакций (Object Transaction Service). И закончится часть III книги рассмотрением сеансов работы пользователей (глава 13). В этой главе будут рассмотрены достаточно сложные темы, в том числе и сравнение долго- и короткоживущих транзакций.

Часть IV. Масштабируемость

Спецификация CORBA позволяет создавать очень большие распределенные объектные системы. В главе 14 "Управление ресурсами сервера" рассмотрено несколько средств, позволяющих увеличить масштабируемость CORBA-серверов. В частности, в этой главе рассмотрены стратегии управления памятью, соединениями и многопоточностью. В части IV книги также рассматривается построение масштабируемых систем с помощью технологии CORBA, которые не ограничиваются существующими спецификациями служб CORBA. Так, будет рассмотрено обеспечение сбалансированной нагрузки (глава 15) и отказоустойчивости (глава 16). И наконец, будут рассмотрены такие важные вопросы, как управление и поддержка работоспособности системы (глава 17).

Часть V. Разработка информационных систем с использованием технологии CORBA

В последней части книги рассматривается построение информационных систем на основе технологии CORBA. Мы рассмотрим техническую сторону вопросов, затронутых в предыдущих частях книги, а также последовательность действий, необходимых для построения системы (глава 18). Тут самое важное то, что методы, принятые в объектно-ориентированном программировании, не всегда применимы в неизменном виде к обработке распределенных объектов. Мы расскажем, как адаптировать эти методы для создания распределенных систем. Еще один важный вопрос, возникающий при разработке распределенных систем, связан с автоматизацией этого процесса. Этому посвящен материал главы 19 "Автоматизация разработки", в которой рассматриваются инструменты CASE, создания программ, а также различные мастера.

Гибкость CORBA

Мы старались в настоящей книге не рассматривать ничего, кроме технологии CORBA, вместо того, чтобы рассказывать о различных реализациях брокеров объектных запросов. На наш взгляд, мы почти справились с поставленной задачей. Однако эта книга посвящена технологии в ее современном состоянии. В некоторых ситуациях мы рассмотрели специфичные технологии, не совсем совместимые с CORBA, так как чувствовали, что это подчеркнет удивительную гибкость этой технологии. Поскольку все три автора работают в компании IONA Technologies, неудивительно, что в настоящей книге рассматривается несколько разработок этой компании. Однако мы надеемся, что сократили количество подобных "лирических" отступлений до минимума, сконцентрировав внимание на основной теме — технологии CORBA.


Copyright © 1992-2015 Издательская группа "Диалектика-Вильямс"

Rambler  Top100