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

 

Детлоффу не приходится выбирать между Континентом и новыми территориями. Специалист по разработке приложений из группы передовых технологий (Advanced Technology Group) Аризонского университета, он оказался втянут в процесс перехода с мэйнфреймов на клиент-серверные решения. Поскольку Детлофф не очень представляет себе, где он окажется в конце этого путешествия, он не хочет ограничивать себя выбором только двухуровневой или только трехуровневой архитектуры.

 

Помещение бизнес-правил и логики презентации на клиенте  -  испытанный и проверенный двухуровневый подход  -  приводит к созданию относительно негибких приложений с бизнес-правилами, недоступными для повторного использования. Однако для многих приложений масштаба отдела использование строгого трехуровневого подхода было бы напрасной тратой как возможностей полосы пропускания, так и времени разработчика. В прошлом Детлоффу нужно было выбрать один из этих двух подходов. Но теперь, используя новые средства межплатформных ПО, выросшие из почвы традиционных языков четвертого поколения (4GL), он, быть может, сумеет построить мост между этими двумя мирами.

 

Через пропасть

 

Те, кто, как Детлофф, вложили крупные средства в языки 4GL, включая языки нового типа, такие, как Visual Basic корпорации Microsoft, либо PowerBuilder или Delphi фирм Powersoft и Borland International соответственно, тоже активно ищут способ перенести свои вложения на новый уровень. Это относится как к вложениям в повышение квалификации разработчиков, так и к деньгам, затраченным на продукты. И они тоже могут много выиграть на использовании упомянутых новых средств межплатформного ПО, в том числе Entera корпорации Open Environment (Бостон), Connection Application Broker фирмы Open Horizon (Белмонт, шт. Калифорния) и Magna X корпорации Magna Software, поскольку эти средства позволяют пользователю оставаться в пределах своих знакомых языков 4GL при обращении к некоторым отсутствующим в этих языках возможностям. "Язык 4GL не справляется с задачей, поскольку клиентская часть оказывается перегруженной избытком логики,  -  считает Роберт Шайер, старший аналитик компании Hurwitz Consulting Group (Ньютон, шт. Массачусетс).  -  При каждом изменении бизнес-логики приходится обновлять клиентскую часть".

 

Некоторые средства, такие, как Connection Application Broker, имеют связи и с так называемыми 5GL трехуровневыми средами, такими, как Dynasty фирмы Dynasty Technology или Forte фирмы Forte Software. Вот что сказал по этому поводу Чип Оверстрит, директор по маркетингу компании Open Horizon: "Многие компании, обращаясь к Dynasty или Forte, говорят: "Мы хотим преобразовать свои приложения уровня отделов для использования в масштабе предприятия". Раньше Dynasty или Forte были вынуждены отвечать: "Выбросите все, и начнем сначала". Теперь же компании могут сохранить инвестиции, вложенные в приложения с трехуровневой архитектурой, распространяя их на все предприятия".

 

Но масштабируемость  -  это не единственная проблема, которую могут решить предлагаемые межплатформные средства. Например, Connection Application Broker и Entera обеспечивают функциональность безопасности, совместимую с распределенными вычислительными средами, службы каталогов для прозрачного доступа к местонахождениям и единое разрешение на доступ (single sign-on access) к любой базе данных.

 

Лучший из двух миров

 

Так как в Университете Аризоны имеется 45 000 потенциальных пользователей (из них 10 000 сотрудников университета и 35 000 студентов), гибкость и масштабируемость Детлофф ставит во главу списка приоритетов. "Мы пришли к выводу, что двухуровневые приложения масштабироваться не будут,  -  заявил Детлофф.  -  Поэтому создание "тонкого"клиента было ключом и лучшей архитектурой. "Толстый" клиент нам не был нужен, поскольку бизнес-логика (например, расписание занятий) часто меняется".

 

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

 

Принятое решение состояло в использовании смешанной двух- и трехуровневой клиент-серверной среды с доступом клиентской части к базам данных через интерфейс ODBC, что обеспечивает независимость клиента от платформы. Connection Application Broker позволит использовать службы DCE (Distributed Computing Environments), такие, как вход в единственную сеть (single network sign-on) и прозрачность серверов данных при доступе к источникам данных через интерфейс ODBC. Монитор обработки транзакций Encina корпорации Transarc будет отделять бизнес-логику от СУБД и от клиента и обеспечит транзакционную целостность при обновлении данных на мэйнфреймах. Хотя выпуск системы пока еще не начат, Детлофф считает, что семейство продуктов Connection позволит переключаться туда и обратно между двух- и трехуровневыми мирами в зависимости от потребностей приложения.

 

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

 

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

 

Трехуровневая структура, как сообщил Детлофф, вступит в игру вместе с продуктом Encina, который поддерживает приложения непрерывного действия, выполняющие такие рутинные операции, как регистрация студентов, дополнительных или пропущенных занятий.

 

Так называемый интеллектуальный продукт межплатформного ПО Entera компании Open Environment реализует подход, несколько отличный от применяемого в Connection Application Broker. "В отличие от прежних межплатформных ПО интеллектуальное межплатформное ПО скрывает от разработчика сложность лежащей под ним инфраструктуры. Entera генерирует для разработчика код, необходимый для коммуникаций клиент-сервер, на "родном" языке, с которым разработчик знаком, например PowerBuilder, Visual Basic, Си, Кобол или SQL Windows,  -  заявил Джей Кумс, старший менеджер по продуктам фирмы Open Environment.  -  Entera освобождает разработчика средств ГИП от работы по созданию уровня презентации трехуровневого приложения".

 

Для Дика Лестера, вице-президента Information Services при фирме Associated Grocers (Сиэтл), высшим приоритетом при переходе компании с мэйнфреймов на новую архитектуру стало как можно более точное следование стандартам DCE. Он сказал: "Entera позволяет нам делать это в среде, с которой гораздо легче работать программистам, привыкшим к традиционному Коболу на мэйнфрейме, поскольку Entera служит щитом между ними и сложностями трехуровневой клиент-серверной архитектуры. Мы хотим, чтобы в контексте новой архитектуры программисты могли сосредоточиться на бизнес-программах".

 

Для многих организаций, в том числе и для Университета Аризоны, целью путешествия является построение расширяемой и гибкой архитектуры, которая останется с пользователями и в будущем независимо от продукта. "Мы хотим взять ее с собой в XXI век",  -  образно выразился Детлофф.

 

Лорен Гиббсон Пол

 

Сочетание ожидаемого межплатформного ПО с традиционными языками 4GL может облегчить переход на трёхуровневые приложения.

 

Дорожные указатели

 

Где имеет смысл использовать традиционные языки 4GL:

 

- В средах поддержки принятия решений или анализа бизнеса, не требующих OLTP.

 

- Там, где бизнес-правила относительно стабильны и вряд ли будут подвергаться частым модификациям.

 

- Для групповых приложений поддержки принятия решений на 50 или менее пользователей.

 

Где следует переходить на средства второго поколения:

 

- В высокотранзакционной среде OLTP с жесткими требованиями к безопасности, надежности, сильно распределенной обработке и к производительности.

 

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