WWW-DƏ VB PUBLİKASİYASI SİSTEMLƏRİ
Böyük həcmdə informasiya massivlərinin emalı kompüterlərin ən geniş tətbiq olunduğu sahədir. Verilənlərin effektiv emal edilməsi proqram tərtibatçıları qarşısında bir sıra problemlər qoyur: informasiyanı EHM yaddaşında necə təşkil etməli, onun emalı üçün hansı əməllər daha əlverişlidir və s. 60-cı illər bu sahənin inkişafı ilə İnformatikada mərkəzi anlayışlardan biri olan "Verilənlər Bazası" anlayışı meydana gəldi. "Verilənlər Bazası" dedikdə, müəyyən predmet sahəsinə aid verilənlərin EHM yaddaşında saxlanıb elə nizamlanmış qarşılıqlı əlaqəli məcmusu başa düşülür ki, bunlar bir neçə istifadəçi tərəfindən müxtəlif məsələlərin həllində istifadə oluna bilsin.
Praktikada daha çox rast gəlinən cədvəlşəkilli VB-lər üçün standarta çevrilmiş VB relyasion modeli həmin dövr "IBM" şirkətində çalışan Edqar F.Kodd (Edgar F.Codd) tərəfindən təklif edilmişdi. Qısa şəkildə, relyasion VB sütun və sətirlərdən təşkil olunmuş cədvəllər, bunlar arasında münasibətləri təyin edən qaydalar və verilənlərin emalı üçün dildən ibarətdir. Yeni model daxilində Koddun təsvir etdiyi "alpha" dili bir sıra sorğu dilləri üzərində işlərin başlanğıcını qoydu. Bunlardan 1974-cü il "IBM" şirkətində təcrübi "SystemR" relyasion VB idarəetmə sistemi (VBIS) üçün işlənib hazırlanmış SQL (Structured Query Language - ingiliscə "Strukturlaşdırılmış Sorğu Dili") tezliklə de-fakto standarta çevrildi. 1987-ci ildə isə SQL artıq VB dilləri üçün rəsmi beynəlxalq standart kimi qəbul olundu.
dBase, Paradox, DB2 kimi müxtəlif populyar VB formatlarına uyğun VBIS-lər hər biri öz məxsusi əmrlər çoxluğuna malik olduğundan verilənlərin konkret VB növündən asılı olmayaraq SQL sorğularla emalı üçün universal bir vasitəyə ehtiyac var idi. "Microsoft" şirkətində işlənib hazırlanmış ODBC (Open DataBase Connectivity - ingiliscə "Açıq VB Birləşməsi") standartı belə vasitələrdən biri olub tətbiqi sistemlərdə müəyyən abstraksiya səviyyəsini təmin etməklə hər bir VB formatı üçün ayrıca kodun yazılmasını gərəksiz edir - proqramçı API əmrləri vasitəsilə sorğunu ODBC-yə göndərir, o isə standart SQL sorğuları artıq konkret VB-nın xüsusi əmrlərinə çevirərək nəticəni universal formada qaytarır. Bu istifadəçilər üçün də çox əlverişlidir, belə ki, eyni bir proqramdan müxtəlif tipli VB ilə mübadilə aparmaq olur. ODBC əsasən Windows platformasında istifadə olunsa da, tezliklə Unix sisteminə də keçirildi, bir çox proqram təminatı istehsalçıları öz məhsullarını yeni standarta uyğunlaşdırdılar.
Web öz inkişaf yoluna təzə qədəm qoyduğu zaman VB sistemləri artıq demək olar ki, tamamilə formalaşmışdı. Dəqiq müəyyənləşmiş verilən modelləri, yaxşı inkişaf etmiş təhlükəsiszlik vasitələri, əməliyyatların idarə olunması və informasiyanın tamlığının qorunması üçün etibarlı metodları bu texnologiyanın müxtəlif informasiya emalı sistemlərində geniş istifadəsinə səbəb olmuşdu. Web-in sürətlə inkişafı, xüsusən İntranetlərin geniş yayılması nəticəsində VB-nda saxlanan məlumatların WWW-nin gözəl publikasiya imkanları vasitəsilə istifadəçilərə çatdırılmasını təmin edən yeni sistemlərə - WWW-də VB sistemlərinə ehtiyac yarandı.
Web və VB sistemləri bir-birindən asılı olmadan inkişaf etmiş ayrı-ayrı texnologiyalar olsa da, hər ikisi ikilaylı müştəri-server arxitekturasına malikdir. WWW-də web server və web brauzer arasında vəzifə bölgüsü çox dəqiqdir: web server HTML-səhifələri müştəriyə çatdırır, web brauzer isə onları uyğun şəkildə təsvir edir. Yəqin ki, bu cür standartlaşdırma web-texnologiyalarının belə tez qəbul olunması səbəblərindən biridir. VB müştəri və server hissələri arasında analoji bölgü o qədər də aşkar deyil, belə ki, bu bölgü hər bir konkret layihə üçün proqram tərtibatçıları tərəfindən təyin edilib qoyulan tələblərdən asılı olaraq müxtəlif ola bilir. WWW-də VB texnologiyası isə varisi olduğu bu ikilaylı texnologiyaları üçlaylı müştəri-server arxitekturasına əsaslanan yeni tipli sistemlərdə birləşdirir.Burada adətən müştəri kimi web brauzer, server kimi VB serveri çıxış edir, aralıq layda isə web server və server əlavəsi proqramı yerləşir. Brauzer vasitəsilə istifadəçinin göndərdiyi sorğulardan web server özü HTML-səhifələrə olan sorğulara cavab verir, verilənlər üçün sorğuları isə server əlavəsi proqramına ötürür. Server əlavəsi bunları uyğun şəklə salıb VB serverinə göndərir, o da verilənlər üzərində lazımi əməliyyatları apararaq nəticəni geri qaytarır. Bu dəfə server əlavəsi nəticəni brauzerin qəbul etdiyi formata çevirib web serverə, o isə öz növbəsində web brauzerə göndərir. Göründüyü kimi, belə sistemlərdə server əlavəsi proqramları vacib uzlaşdırıcı rol oynayır. Bunları əsas üç kateqoriya: adi CGI-lı, hibrid CGI-lı və API-li server əlavələrinə ayırmaq olar.
CGI web serverin funksiyalarını artırmaq üçün proqramlar yazmağa imkan verən ilk standart olduğundan əvvəllər WWW-də VB sistemlərinin çoxu onun əsasında qurulurdu. Proqram təminatı bazarında təklif olunan CGI-lı server əlavələrinın əksəriyyətinə xas cəhət şablonlardan istifadə olunmasıdır. Şablon hər bir CGI-proqramın özünə məxsus əlavə qeyri-HTML teqləri (məsələn: "Allaire Corporation" şirkətinin məhsulu "Cold Fusion"-da DBML-teqlər kimi) olan HTML səhifədir. VB-na sorğunun icra olunması üçün brauzerdən lazımi şablon faylının adı göndərilir, CGI-proqram isə bu faylı oxuyaraq göstərilən əməliyyatları yerinə yetirir və qeyri-HTML teqləri uyğun HTML teqlərlə əvəz edərək yekun web səhifəsini geri qaytarır. SQL operatorları bilavasitə HTML səhifələrdə də yerləşdirmək olar, lakin bu zaman onların müştəri hissəsində pis niyyətli istifadəçi tərəfindən dəyişdirilməsi təhlükəsi yaranır, bu baxımdan şablonların istifadə olunması daha əlverişlidir. Qeyd edildiyi kimi, üstün cəhətlərinə baxmayaraq CGI-ın sistem resurslarına çox tələbkar olması onun ciddi çatışmazlığıdır. Hibrid CGI-lı arxitektura isə CGI-ın üstünlükləri ilə bərabər daha yüksək məhsuldarlığa malikdir.
Hibrid CGI-lı server əlavəsi iki komponent - xırda CGI-proqram və iri köməkçi prosesdən ibarət olur (məsələn: "Aspect Software Engineering" şirkətinin istehsal etdiyi "dbWeb"-də). Hər dəfə brauzerdən uyğun sorğu aldıqda web server məlumatları CGI-proqrama göndərir, o isə bunları sadəcə köməkçi prosesə ötürərək, demək olar ki, başqa heç bir iş görmür. Praktik olaraq bütün faydalı işi köməkçi proses yerinə yetirdiyindən CGI-proqram çox kiçik olub, nisbətən az resurs işlədərək daha tez yüklənə bilir. Bu çox vacib məqamdır, belə ki, hər dəfə brauzerdən sorğu gəldikdə CGI-proqramın ayrıca surəti yaddaşa yüklənir, köməkçi proses isə (Windows NT-də sistem servisi, Unix-də Demon kimi) ancaq bir dəfə - adətən əməliyyat sistemi ilə bərabər yüklənərək fon rejimində işləyir.
Qeyd olunduğu kimi, bəzi web serverlər əlavə proqramları üçün CGI əvəzinə istifadə oluna biləcək API-interfeyslər təklif edir. Burada server əlavəsi proqramı web server tərəfindən öz daxili kodunun bir hissəsi kimi istifadə olunan kompilyasiya edilmiş proseduralar yığımı (Windows NT-də DLL, Unix-də müştərək obyekt kimi) şəklində realizə olunur (məsələn: "Netscape"-in istehsal etdiyi "LiveWire"-də). Müxtəlif web serverlərin təklif etdiyi interfeyslər də bir-birindən fərqlənir, lakin proqram təminatı bazarında mövcud olan API-li server əlavələrinin əksəriyyəti bunlardan iki ən geniş yayılmış interfeys - NSAPI və ISAPI-ni dəstəkləyir. Sadalanmış variantlardan ən sürətlisi olduğuna baxmayaraq, API-lərin istifadə olunmasında müəyyən risk elementi də var, belə ki, bu tip server əlavəsi faktiki olaraq web serverin bir hissəsi kimi işlədiyindən proqramda səhv baş verərsə, qəza nəticəsində server öz işini tamamilə dayandıra bilər.
WWW üçün VB sistemlərində çox vaxt müştəri əlavələri - brauzerin imkanlarını genişləndirən proqramlar istifadə olunur. Formal təsnifatı aparılmasa da, hazırda bunları dörd kateqoriyaya ayırmaq olar: köməkçi proqramlar, qoşulan modullar, Java-apletlər və ssenari dilində proqramlar.
Köməkçi proqramlar müştəri hissəsində yerləşib, lazım gəldikdə brauzer tərəfindən yüklənən ayrıca proqramlardır. Adətən brauzer özü təsvir edə bilmədiyi verilənləri müvəqqəti fayla yazıb uyğun köməkçi proqrama ötürür, bu da alınan məlumatların həcmi böyük olduqda çox vaxt aparır. Qoşulan modullar isə brauzerlə daha sıx inteqrasiya olunaraq eyni işi daha sürətlə yerinə yetirir. Hazırda onlar "Netscape"-in "plug-in" və "Microsoft"-un "ActiveX" komponentləri kimi iki müxtəlif şəkildə mövcuddur. Qoşulan modulların bu iki tipi arasında heç bir uyğunluq yoxdur və daxili iş prinsipləri tamamilə fərqlidir, belə ki, "ActiveX" komponentləri brauzerlə standart mübadilə vasitəsi kimi OLE-dən (Object Linking and Embedding - ingiliscə "Obyektlərin qoşulması və daxil edilməsi") istifadə etdiyi halda "Netscape"-in modulları adi API metodlarına əsaslənır.
Java-apletlər və ssenari dillərindən JavaScript barəsində artıq söhbət getmişdi. Bu tip əlavələr hər dəfə serverdən müştəri kompüterə yükləndiyinə görə, istifadəçinin proqramı kompüterində yerləşdirib hər yeni versiyasını almağına ehtiyac qalmır. Xüsusən Java-apletlərin hər sorğu zamanı şəbəkə ilə ötürülməsi qeyri-effektiv görünsə də, həqiqətdə bu, kifayət qədər sürətlə baş verir, belə ki, istifadə olunan sistem kodunun əksər hissəsi artıq brauzerin Java-sistemində yerləşir və aplet ancaq proqramın əsas əmrlərindən ibarət olur. Java tam mənada proqramlaşdırma dili olduğundan bu tip müştəri əlavələri nisbətən geniş imkanlara malik olub WWW-də mürəkkəb VB sistemləri üçün (məsələn: "BulletProof" şirkətinin istehsal etdiyi "JAGG") əlverişlidir. 1996-cı il "Sun" və "JavaSoft" şirkətlərinin təqdim etdiyi JDBC (Java DataBase Connectivity - ingiliscə "Java VB Birləşməsi") isə artıq Java dilində yazılmış proqramlardan müxtəlif VB-lərə ODBC-dəki kimi müraciət etmək imkanı verir. Ssenari dillərinə gəldikdə, bunlar əsasən müştəri hissəsində daxil olunmuş verilənləri yoxlamaq üçün istifadə olunur. Hazırda bu dillərdən JavaScript daha geniş yayılsa da "Microsoft" proqram təminatı bazarında VBScrpt-i (Visual Basic Script) aktiv şəkildə təbliğ edir. Bu tip müştəri əlavələrinə xas ümumi arzuedilməz cəhət ilkin proqram mətninin açıq şəkildə web səhifəyə daxil olmasıdır.
Nisbətən az yayılmış WWW üçün qarışıq VB sistemləri (məsələn: "Working Set" şirkətinin istehsal etdiyi "DataRamp") məhz müştəri əlavələrinin istifadə olunmasına əsaslanır. Burada Web və VB komponentləri bir-biri ilə artıq vahid üçlaylı sistem şəklində deyil, birgə işləyən bir cüt ikilaylı sistem kimi mübadilə aparır - web brauzer sadcəə müştəri əlavəsi formasında realizə olunmuş VB müştərisini yükləyir, o isə VB serveri ilə öz protokolu üzrə mübadilə aparır. HTTP deyil, VB sistemlərinə xas seanslı protokolun istifadə olunması verilənlər üzərində əməliyyatları tam idarə etməyə şərait yaradır. Yeri gəlmişkən, üçlaylı sistemlərdə HTTP-nin daimi bağlantısız protokol olması ilə əlaqədar çətinlikləri aradan qaldırmaq üçün adətən "oyuqlar" (cookies) və ya formaların gizli (hidden) sahələri ilə işləyən əlavə proqram kodunun yazılması lazım gəlir. Digər tərəfdən qarışıq VB sistemlərinin eyni zamanda çox sayda istifadəçiyə xidmət etmək imkanı HTTP-li varianta nisbətən xeyli azdır və belə arxitekturanın yəqin ki, ən üstün cəhəti burada hazır VB sistemlərini kiçik dəyişikliklərlə WWW-də yerləşdirməyin mümkün olmasıdır.
Son olaraq qeyd etmək lazımdır ki, bu bölümdə nəzərdən keçirilmiş verilənlər bazasının WWW-də publikasiya sistemləri proqram təminatı bazarında yeni proqram vasitələrinin meydana gəlməsinə səbəb olmuşdur. Tətbiqi sistemlərin nisbətən gənc növü olduğundan bu tip proqram təminatının işlənib hazırlanması zamanı proqramçı müxtəlif spesifik məsələləri həll etməli olur. Növbəti bölümdə belə layihələrə praktik misal kimi "Azərbaycan Qanunvericiliyi" hüquqi arayış sisteminin əsas realizasiya mərhələləri nəzərdən keçirilir.
Yer imleri