РЕЦЕНЗИИ
Цимбал А.А., Аншина М.Л. Технологии создания распределенных систем. Для профессионалов. - СПб.: Питер, 2003. - 576 с., ил.
Этот профессиональный труд известных российских ИТ-специалистов подробно рассматривает две многоплатформенные технологии - CORBA и J2EE, с помощью которых сегодня достаточно просто создавать распределенные и многоуровневые приложения. Современные потребности предприятий в автоматизации уже давно вышли за рамки полулюбительских проектов организации прямого клиентского доступа к SQL-серверам. Ключевыми становятся требования по обеспечению интеграции различных аппаратных, операционных и прикладных платформ (единый универсальный продукт, решающий все проблемы организации, в реальной жизни, видимо, не может существовать в принципе), оптимизации весьма причудливых сочетаний самых разных технологий, эффективному управлению в гетерогенных средах транзакциями, ресурсами серверов и клиентскими приложениями. И пока что самыми известными решениями для этих масштабных ИТ-задач по праву считаются CORBA и J2EE. Затрагивают авторы и технологию .NET, хотя из-за новизны, а также ориентации на одну лишь платформу Windows уделяют ей не так много внимания, как двум другим подходам.
Интересно, что в США крупные подрядчики, выполняющие федеральные ИТ-проекты, в последнее время стали очень уж жаловаться на технологии, подобные CORBA, объявляя их "тяжелыми", а вот XML, напротив, называют легким недорогим решением и чуть ли не панацеей от всех проблем. Хотя XML - не распределенная технология, а всего лишь язык разметки, мода на него (точнее, на продукты, активно использующие XML) в американских государственных структурах ширится, что объясняется, по-видимому, широким внедрением преимущественно одной платформы, Microsoft .NET. Тем интереснее читателю ознакомиться с мнением профессионалов об истинной "тяжести" и "легкости" CORBA, J2EE и .NET, общему описанию и сравнительным характеристикам которых посвящена первая глава книги.
Во второй главе обсуждаются вопросы взаимосвязи CORBA и технологии Remote Method Invocation, предложенной Sun для дистанционного вызова методов объектов, а также даются основы языка описания интерфейсов Interface Definition Language и принципы его стыковки с C++. Далее авторы последовательно и систематично, по главе на каждое понятие, рассматривают основные элементы распределенных технологий, делая акцент на объяснении соответствующих спецификаций и на конкретных примерах. Последовательность глав в существенной степени отвечает шагам создания и развертывания подобных систем в реальных проектах:
- технология JNDI, предназначенная для именования распределенных ресурсов, и ее CORBA-реализация (гл. 3);
- подход JDBS к организации связи приложений с SQL-серверами (гл. 4);
- сервис управления распределенными транзакциями OTS, используемый в CORBA (гл. 5);
- сервис управления распределенными транзакциями JTS, используемый в J2EE, и схожая служба более высокого уровня - Java Transaction API (гл. 6);
- язык разметки XML, структура XML-документа, интерфейсы разбора, XSL-преобразование (гл. 7);
- базовые механизмы взаимодействия распределенных компонентов путем обмена сообщениями в CORBA и Java (гл. 8);
- компонентная технология EJB, поддержка выполнения бизнес-логики на сервере с решением системных задач балансировки и управления (гл. 9);
- обзор других J2EE-технологий - сервлетов, JSP-документов и веб-сервисов, а также принцип подключения CORBA-клиентов (гл. 10);
- компонентная модель CORBA - принципы построения, развертывания и взаимодействия с EJB (гл. 11);
- создание веб-приложений (взаимодействие клиента и сервера через Интернет) на Java (гл. 12);
- построение с помощью сервлетов динамических пользовательских интерфейсов (гл. 13);
- формирование статической, текстовой части веб-документов с помощью технологии Java Server Pages (гл. 14);
- описание популярной проектной архитектуры, управляемой моделью (Model-Driven Architecture) и языка моделирования UML (гл. 15);
- Persistent Object Service - стандартизованный подход к хранению состояний CORBA-объектов в БД (гл. 16).
Таким образом, в книге приведена практически полная информация, необходимая создателям корпоративных распределенных CORBA/J2EE-систем. Стоит отметить и стиль: при всем академизме темы авторам удалось сохранить живой, иногда даже не без чувства юмора, язык изложения.