PowerBuilder як засіб розробки розподілених додатків для EAServer, Інші СУБД, Бази даних, статті

 


Технології розподілених обчислень


У наш час практично у всіх сферах життя людського суспільства застосовуються ті чи інші системи обробки даних. Це можуть бути банківські системи, промислові програмні комплекси, засоби автоматизації торгівлі та багато інших додатків. Постійне розширення областей застосування обчислювальної техніки і все зростаюча складність вирішуваних завдань потребують удосконалення методів створення сучасних інформаційних систем.


З початку 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 ви можете завантажити з Інтернету за адресами www.sybase.com/pb8_eval або www.sybase.ru/download/prodreview/powerbuilder.htm


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*