Смекни!
smekni.com

Програмна реалізація системи IP-телебачення на базі архітектури "клієнт-сервер" (стр. 1 из 3)

ПРОГРАМНА РЕАЛІЗАЦІЯ СИСТЕМИ 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, додаючи програмі в цілому властивість тексту, написаного на майже природній англійській мові. Кожне зарезервоване слово несе в собі умовне повідомлення для компілятора, який аналізує текст програми.