(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация

Технологии распределенных вычислений

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

С начала 90-х годов XX века известна такая технология реализации программных приложений как архитектура "клиент-сервер". Ее основная особенность состоит в том, что приложение делится на два уровня - представление данных (клиент) и хранение данных (сервер БД). Обработка информации происходит на клиенте, на сервер посылаются запросы и обрабатываются полученные в ответ на них данные. Такой подход оправдывает себя при создании небольших, относительно несложных систем. Но по мере развития приложений, по мере роста объемов данных и ужесточения требований к скорости их обработки, становятся видны недостатки двухуровневой архитектуры. На смену ей приходит новая архитектура - трехуровневая. Она характеризуется тем, что деловая логика системы выносится на отдельный уровень и обособляется от пользовательского интерфейса и хранения данных. В трехуровневой модели выделяются следующие уровни:

Рисунок 1. Трехуровневая архитектура

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

Актуальность трехуровневой архитектуры обусловлена следующими причинами :

Инструменты разработки трехуровневых систем - подход Sybase

Используя свой многолетний опыт в области выпуска инструментов построения корпоративных приложений, корпорация Sybase предлагает законченное решение для реализации систем в трехуровневых архитектурах. В качестве сервера приложений предлагается Enterprise Application Server (EAServer) - высокопроизводительная среда для исполнения компонентов, реализующих деловую логику информационной системы. Отличительной чертой EAServer является открытость - он поддерживает широкий перечень различных типов компонентов, таких как Java, C/C++, COM/ActiveX, PowerBuilder Non-Visual User Object (PB NVUO). Впечатляет набор операционных систем, поддерживаемых EAServer - это как все варианты 32-разрядных ОС семейства Windows, так и наиболее известные UNIX-платформы (Sun Solaris, Hewlett Packard HP-UX, IBM AIX, а также LINUX). Более подробную информацию о возможностях EAServer можно найти в статье [1].

В качестве средства разработки приложений для трехуровневой архитектуры предлагается PowerBuilder - инструмент, который без преувеличения можно назвать классикой систем, предназначенных для работы с SQL СУБД. Начиная с первых версий PowerBuilder был средством разработки клиент-серверных приложений, и средством достаточно успешным. Основой его успеха стала удачная технология работы с данными через механизм DataWindow, а также открытость и масштабируемость. Мало какой иной инструмент позволяет работать с таким широким спектром источников данных - от DBF-файлов до корпоративных БД масштаба Sybase SQL Server или Oracle.

Первые возможности для разработки трехуровневых приложений появились в PowerBuilder в середине 90-х годов. С течением времени эта функциональность развивалась и наращивалась, и текущая версия продукта - PowerBuilder 8.0 - предлагает широкие возможности для разработки многоуровневых информационных систем. Одна и та же деловая логика, реализованная средствами PowerBuilder и функционирующая в виде компонентов на EAServer, доступна для использования в любых типах архитектур - как клиент-серверных, так и распределенных, а также и в Интернет. Такие технологии как DataWindow и PowerScript могут использоваться как при разработке обычных Windows-программ, так и при создании бизнес-компонентов, предназначенных для работы в среде EAServer. Более того, предлагаются специальные методики переноса двухуровневых приложений, написанных в прежние годы на PowerBuilder, в трехуровневую архитектуру. Деловая логика таких приложений выносится из клиентских программ и реализуется в виде компонентов для EAServer. Эти компоненты развертываются на сервере приложений, и клиентские программы настраиваются для вызова их методов. За счет того, что в EAServer реализована полная функциональность PBVM (PowerBuilder Virtual Machine), достигается возможность исполнения написанного на PowerBuilder кода на сервере приложений без каких-либо ограничений. Ни один из других представленных на рынке серверов приложений не предлагает разработчикам на PowerBuilder такой возможности. Необходимо отметить, что связка PowerBuilder + EAServer является в настоящее время полнофункциональным и хорошо отлаженным решением, предлагаемым компанией Sybase для реализации многоуровневых информационных систем.

Создание распределенных приложений на PowerBuilder

Основные понятия, используемые при разработке трехуровневых приложений в среде PowerBuilder:

Создание реализующего деловую логику компонента осуществляется в User Object Painter - создается невизуальный пользовательский объект (Non-Visual User Object), и в его методах (User Object Functions) на языке Powerscript реализуется необходимая деловая логика.

Для развертывания (deploy) созданного компонента на EAServer из среды PowerBuilder используется EAServer Component Wizard.

С его помощью создается проект (Project), в котором указывается, какой компонент на каком EAServer развертывать, в какой пакет (Package) его помещать, какие установки и как использовать.

При нажатии кнопки Deploy происходит собственно процесс развертывания (то есть переноса) компонента на EAServer :

Далее необходимо создать объект Connection, который позволит клиентскому приложению установить связь с EAServer.

В свойствах данного объекта указывается информация о том EAServer, с которым необходимо работать - адрес и порт сервера, имя пользователя и пароль.

Следующий шаг - генерация прокси-объекта, который позволит клиентскому приложению обращаться к методам размещенного на EAServer компонента. Делается это через EAServer Proxy Wizard. В качестве места для размещения прокси-объекта указывается PBL-библиотека того клиентского приложения, которое будет обращаться к методам указанного компонента.

Далее в клиентском приложении пишется код, осуществляющий присоединение к EAServer:

// задаем глобальную переменную типа n_jaguar_connect,
// это сгенерированный ранее Connection Object
n_jaguar_connect gn_connect
long ll_rc
// создаем экземпляр данного Connection Object
gn_connect = CREATE n_jaguar_connect
// осуществляем присоединение клиента к серверу приложения
ll_rc = gn_connect.ConnectToServer()
// проверяем, успешно ли прошло соединение
IF ll_rc <> 0 THEN
// Если произошла ошибка
MessageBox("Connection Error", "Return Code: " + string(ll_rc))
ELSE
// Если ошибок нет, то можно работать дальше
Open(w_loan)
END IF

Следующий шаг - инициализация прокси-объекта, необходимого для вызова методов компонента, функционирующего на EAServer:

// Декларируем переменную для работы с прокси,
// где n_loan - название сгенерированного ранее прокси-объекта
n_loan in_loan
long ll_rc
// Создаем экземпляр прокси-объекта
ll_rc = gn_connect.CreateInstance (in_loan, "finance/n_loan")
// Проверка успешности создания экземпляра прокси
IF ll_rc <> 0 THEN
MessageBox("Error creating proxy instance", "Return Code: " + string (ll_rc))
END IF

Если предыдущий шаг прошел успешно, то можно осуществлять вызовы методов компонентов:

double ld_amount, ld_payment
int li_months
ld_amount = 1500
li_months = 6
// Вызов метода компонента
//
// in_loan - название экземпляра прокси-объекта
// calculate() - название вызываемого метода
ld_payment = in_loan.calculate(ld_amount, li_months)

После окончания использования методов компонента необходимо удалить из памяти клиентского приложения экземпляр прокси-объекта и отсоединиться от сервера приложений:

Destroy(in_loan)
gn_connect.DisconnectServer()

PowerBuilder 9.0

В конце марта 2003 года вышла в свет новая, девятая версия PowerBuilder. Среди ее новых возможностей необходимо отметить следующие:

Более подробно о выпуске PowerBuilder 9.0 можно почитать в статье [2].

Заключение

На современном этапе использования информационных технологий распределенные вычисления являются одним из наиболее перспективных направлений их развития. Рассмотренное средство разработки PowerBuilder является полнофункциональным инструментом для быстрого и эффективного создания распределенных трехуровневых приложений. Если Вас заинтересовали описанные в данной статье программные средства, демонстрационные версии PowerBuilder и EAServer вы можете скачать из Интернет по адресам http://www.sybase.com/pb8_eval или http://www.sybase.ru/download/prodreview/powerbuilder.htm

Ссылки по теме

Рассылки сайта
 
 
 
 
 

PowerBuilder как средство разработки распределенных приложений для EAServer

Источник: Sybase CIS
Кабанов Роман

 


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 13.08.2003 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Oracle Database Personal Edition Named User Plus Software Update License & Support
Купить WinRAR : 5 : Академическая лицензия 1 лицензия
Nero 2018 Platinum ESD
ABBYY Lingvo x6 Многоязычная Профессиональная версия, электронный ключ
Microsoft 365 Apps for business (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Утиль - лучший бесплатный софт для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100