ПРОГРАМНА РЕАЛІЗАЦІЯ СИСТЕМИ IP-ТЕЛЕБАЧЕННЯ НА БАЗІ АРХІТЕКТУРИ “КЛІЄНТ-СЕРВЕР”
Архітектура “клієнт-сервер”
Термін “клієнт-сервер” означає таку архітектуру програмного комплексу, в якій його функціональні частини взаємодіють по схемі “запит-відповідь”. Якщо розглянути дві взаємодіючі частини цього комплексу, то одна з них (клієнт) виконує активну функцію, тобто ініціює запити, а інша (сервер) пасивно на них відповідає.
Переваги архітектури “клієнт-сервер”:
швидкодія – основний фактор доцільності розробки систем для архітектури “клієнт-сервер”. Застосування засобів швидкої розробки програм RAD, таких, як Delphi компанії Borland, PowerBuilder фірми PowerSoft і Visual Basic корпорації Microsoft, дозволяє розробникам швидко і ефективно створювати прикладні системи для архітектури “клієнт-сервер”;
архітектура “клієнт-сервер” – це технологія, що надає більше самостійності користувачам. Прикладні програми і дані знаходяться на доступних системах.
привабливість графічного інтерфейсу користувача (ГІП).
Клієнт-серверна інформаційна система складається в найпростішому випадку з трьох основних компонентів:
сервер. Керівник зберіганням даних, доступом і захистом, резервним копіюванням, відстежує цілісність даних відповідно до бизнес-правил і, найголовніше, виконує запити клієнта;
клієнт. Надає інтерфейс користувача, виконує логіку прикладних програм, перевіряє допустимість даних, посилає запити до сервера і одержує відповіді від нього;
мережа і комунікаційне програмне забезпечення. Здійснює взаємодію між клієнтом і сервером за допомогою мережевих протоколів.
Програмні засоби розробки систем “клієнт-сервер”
Призначення будь-якого інструменту для розробки систем “клієнт-сервер” – прискорити і спростити процес їх створення. За допомогою засобів швидкої розробки прикладних програм можна створювати програми з вбудованими засобами зв'язку з будь-яким числом серверів.
На цьому швидкорослому ринку конкурують сотні інструментальних комплектів для архітектури клієнт-сервер. Ряд кращих засобів Microsoft Windows представлені пакетами Delphi Client/Server Suite компанії Borland, Enterprise Developer фірми Symantec, PowerBuilder компанії PowerSoft, SQLWindows 5 фірм Gupta і Visual Basic корпорації Microsoft.
У кожному інструментальному комплекті використовується власний підхід, але більшість з них володіє однаковим набором основних функцій: проміжне забезпечення, можливість конструювання баз даних, репозиторій (сховище), можливості об'єктно-орієнтованої розробки, конструктори ГІП, мова програмування високого рівня і механізми розподілу прикладних програм. Порівняльна характеристика програмних засобів розробки систем “клієнт-сервер” наведена в таблиці 1.
Для програмної реалізації прикладних програм, що демонструють основні можливості IP-телебачення побудованих на базі архітектури “клієнт-сервер” використана об'єктно-орієнтована мова програмування Delphi компанії Borland. В порівнянні з іншими засобами розробки Delphi має ряд переваг. У Delphi вдало поєднуються засоби візуального проектування і оптимізуючий компілятор, чого не можна сказати про інші системи RAD. Наявність в системі компілятора і генерування нею машинного коду ще не означає, що отримуваний код є оптимальним. Такі системи, як PowerBuilder і Visual Basic, спочатку створювалися на основі концепції генерації псевдокоду. При виконанні прикладних програм, створених за допомогою цих систем, отриманий псевдокод інтерпретувався.
Таблиця 1. Порівняльна характеристика програмних засобів розробки систем “клієнт-сервер”
Найменування | Коротка характеристика |
Delphi Client/Server | Універсальний пакет для розробки клієнт-серверних прикладних програм. Забезпечує об'єктно-орієнтовану розробку з використанням візуальних засобів. Підтримує групову роботу над програмою. |
CA-OpenROAD | Повнофункціональне об'єктно-орієнтоване середовище для розробки прикладних програм на основі мови четвертого покоління 4GL |
Magic 6.0 | Таблично-керований інструментарій для розробки трирівневих прикладних програм “клієнт-сервер” |
MS Visual Basic 5.0 | Універсальний пакет розробки користувальницьких прикладних програм. Забезпечує візуальну побудову форм і компіляцію програми. У повному об'ємі підтримуються OLE 2.0 і OLE Automation. Для роботи з даними призначений візуальний інструментарій Visual Database Tools |
PowerBuilder 4.0 | Об'єктно-орієнтований засіб розробки прикладних програм “клієнт-сервер”. Має могутні візуальні засоби; підтримує стандарти OLE і ODBC |
Progress 8 | Пакет підтримує компонентну об'єктно-орієнтовану розробку прикладних програм. Використовується нова технологія SmartObject і середовище компонентів програми (ACE) |
SAS System | Забезпечує інструментарій для доступу, управління, аналізу і представлення даних в прикладній програмі для величезного числа систем і комп'ютерних платформ, включаючи мейнфрейми. Має 35 видів інтерфейсу для різних систем і мову програмування четвертого покоління. Підтримує ODBC |
Uniface Six | Незалежне середовище розробки. Підтримує управління на рівні моделі і компонентне програмування. Має могутні візуальні засоби. Допускає групову розробку. Має інтерфейс до більш ніж 30 серверам БД на різних платформах |
З виходом Delphi як компанія Microsoft, так і компанія Powersoft, спробували впровадити в свої продукти повноцінні компілятори. Проте проблема полягає в тому, що ні мова Visual Basic, ні мова PowerScript не призначалися для компіляції, тому перетворення їх в машинний код виявилося достатньо важким завданням.
Якщо порівняти вищезазначені мови з Object Pascal, що використовується в системі Delphi, то відмінність видно відразу. Object Pascal завжди був компільованою мовою, і при його розробці були дотримані всі вимоги, виконання яких обов'язково при компіляції і оптимізації. Підсумок вищесказаного такий: Delphi є кращим повноцінним засобом промислової розробки систем “клієнт-сервер”, що володіє безліччю достоїнств, завдяки яким Delphi можна виділити з ряду інших засобів розробки. Серед них:
обширна бібліотека класів;
швидкий оптимізуючий компілятор, що генерує машинний код;
вбудований відладчик;
простий в освоєнні механізм доступу до баз даних ;
могутнє і зручне в роботі середовище розробки.
Інструментальні засоби компанії Borland Delphi надають широкі можливості розробки професійних прикладних програм в архітектурі "клієнт-сервер", включаючи розподілені системи і додатки для Internet.
Програмна реалізація
Розроблені прикладні програми “Server” і “Client” демонструють приклад роботи класичної дволанкової архітектури “клієнт-сервер”, інтерфейсні оболонки яких представлені на рис.1 і рис. 2
Елементи, з яких конструюється видиме зображення, що створюється працюючою програмою, називаються компонентами. В якості інтерфейсного елемента і, в той же час контейнера для всіх видів компонентів виступає форма. Поєднання таких можливостей витікає з приналежності форми до класу TWinControl, що дозволяє формі бути оболонкою навколо віконного компоненту Windows, і відповідно, до класу TComponent, від якого успадковується TWinControl, завдяки чому форма може бути власником компонентів. Кожен компонент, розташований на формі, є деяким класом – спадкоємець класу TComponent, який є базовим для створення компонентів. Прямі спадкоємці цього класу не мають візуального представлення і являються, відповідно, невізуальними. До таких компонентів відносяться: IdUDPServer, ServerSocket, ClientSocket.
Рис. 1. Інтерфейсна оболонка прикладної програми “Server”
Рис. 2. Інтерфейсна оболонка прикладної програми “ Client ”
Компоненти, які мають візуальне представлення в процесі виконання програми і її проектування, успадковані від нащадка TComponent, класу TControl, і називаються візуальними. До таких компонентів відносяться: Button, SpeedButton, LabeledEdit, Edit, Label, GroupBox, FileListBox, ProgressBar, PageControl, TabSheet, Panel, MediaPlayer, Bevel.
Так само існує третій вид компонентів, які спочатку не видно користувачеві, але можуть з'являтися на екрані в окремих вікнах у разі потреби – це діалоги. Діалоги є спадкоємцями класу TComponent через спеціалізований клас TCommonDialog. Клас TCommonDialog серед інших методів додає до класу TComponent метод Execute, який є абстрактним і перевизначається конкретними компонентами-діалогами для виведення діалогового вікна на екран. Серед такого роду компонентів в програмі “Server” присутній діалог відкриття файлів OpenDialog. Призначення всіх використаних в прикладних програм “Server” і “Client” компонентів наведені в додатку А.
Кожна програма складається з файлу проекту (файл з розширенням dpr) і файлу модуля (файл з розширенням pas).
Структура проекту
Проект – це контейнер верхнього рівня, в якому зберігаються всі об'єкти прикладнщї програми. Його призначення полягає в забезпеченні взаємозв'язку файлів з яких складається програма.
Файл проекту є програмою, написаною на мові Object Pascal і призначеною для обробки компілятором. Ця програма автоматично створюється Delphi і містить лише декілька рядків, які приведені в лістингу Б.1 додатку Б .
У тексті кода жирним шрифтом виділяються так звані зарезервовані слова, а курсивом – коментарі. Текст програми починається зарезервованим словом program і закінчується словом end з крапкою за ним. Поєднання end з наступною за нею крапкою називається термінатором програмної одиниці: як тільки в тексті програми зустрінеться такий термінатор, компілятор припиняє аналіз програми і ігнорує частину тексту, що залишилася.
Зарезервовані слова грають важливу роль в Object Pascal, додаючи програмі в цілому властивість тексту, написаного на майже природній англійській мові. Кожне зарезервоване слово несе в собі умовне повідомлення для компілятора, який аналізує текст програми.