duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi gis dalį, be to leidžia prijungti...

62
X SEKCIJA Duomenų bazės ir modeliai

Upload: others

Post on 07-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

X SEKCIJA Duomenų bazės ir modeliai

Page 2: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

KELIŲ TINKLO GEOGRAFINĖ INFORMACINĖ SISTEMA

Kristina Lipnevičiūtė

Kauno technologijos universitetas, Informatikos fakultetas, Informacijos sistemų katedra, S.Daukanto 66, 5610 Telšiai, [email protected]

Straipsnyje apžvelgiami kelių tinklo geografinių informacinių sistemų poreikis šiuolaikinei informacinei visuomenei. Analizuojamos jau sukurtų sistemų savybės. Pateikiama argumentuojanti medžiaga dėl kokių priežasčių nuspręsta kurti naują prototipą. Pristatomas sukurtos sistemos funkcionalumas, priimti projektiniai sprendimai bei kokybės vertinimas

1. Įvadas

Šiuolaikinės geografinės informacinės sistemos funkcionuoja arba yra diegiamos valstybinėse įmonėse ir privačiose struktūrose, padeda tvarkyti ir kontroliuoti įmonės darbą, analizuoti turimus išteklius, rinką, klientų poreikius, modeliuoti tolimesnį vystymąsi [4,10].

Kelių sistemoje geografinės informacinės sistemos kuriamos, tačiau galutinio vartotojo šis produktas dar nepasiekė. Sutvarkyti Lietuvoje esančių kelių tinklą – labai daug resursų ir laiko sąnaudų atimantis darbas.

Paminėsiu pagrindinius GIS diegimo etapus: • esamos situacijos analizė; • būsimos sistemos projektavimas; • projekto realizavimas:

o techninės, programinės įrangos įsigijimas, taikomųjų programinių priemonių kūrimas, juridinių dokumentų, specifikacijų ruošimas, GIS duomenų bazių kūrimas; specialistų apmokymas;

• bandomieji-eksploatacijos darbai ir kt. [7]

2. Tyrimo objektas

Geografinė informacinė sistema susideda iš grafinių duomenų, sujungtų su duomenų baze. Pagrindinės kryptys GIS srityje yra žemės ūkis, teritorinis planavimas ir valdymas, inžineriniai tinklai, keliai. Pritaikius šią technologiją praplečiamos duomenų analizės galimybės, ji atliekama įvairiais pjūviais, ne tik su duomenimis, bet ir su grafine dalimi. Kelių informacinė bazė turėtų susidėti iš šių komponentų – linijinių, taškinių objektų ir duomenų bazėje sukauptos informacijos, kurie yra apjungti į vieną sistemą. Darbo pradžioje reikia išanalizuoti sistemos vartotojų poreikius ir tik po to pradėti projektuoti. Pagrindinė jau sukurtų programų problema – netenkinami specialistų keliami reikalavimai.

Norint sukurti gerą sistemą, jos kūrimui reikia surasti tinkamą programinę įrangą. Žinomiausios yra kelios – ESRI ir Autodesk kompanijų produktai [1-6]. Pasirinkimas –Autodesk kompanijos AutoCAD Map programa, kuri savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs pasirinkimą – VĮ „Telšių regiono keliai“ darbuotojų darbo patirtis su Autodesk produktais yra jau apie 5 metus. Jeigu programinės įrangos projektuotojai ir kūrėjai įvertintų vartotojų poreikius ir galimybes, kaštų sąnaudos būtų mažesnės. Sistema yra kuriama valstybės įmonei, todėl šis faktas labai svarbus. Autodesk kompanijos produktų pasirinkimą lėmė ir tai, kad sistemos kūrime dalyvauja projektuotojai.

3. Kelių tinklo žemėlapio sudarymas

Žemėlapio sudarymui buvo naudojami skaitmeniniai ortofotografiniai žemėlapiai ORT10. Lietuvos skaitme-ninis ortofotografinis M 1:10000 žemėlapis ORT10 yra sudarytas aeronuotraukos pagrindu. . ORT10 duomenys yra pritaikyti valstybinei koordinačių sistemai LKS 94. ORT10 rastriniai duomenys platinami standartiniais lapais pagal valstybinę M 1:10000 teritorijos lapų skaidymo sistemą ir numeraciją. Skaitmeninė šių rastrinių duomenų forma yra TIFF formatas arba suspaustas formatas MrSID. ORT10 rastrinių duomenų skiriamoji geba yra 0.5 m .

– 1 –

Page 3: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

K. Lipnevičiūtė

Ortofotografiniai žemėlapiai analoginėje arba skaitmeninėje formoje naudojami įvairiose gyvenimo srityse. Skaitmeniniai ortofotografiniai žemėlapiai gali būti sėkmingai integruoti į geografines informacines sistemas arba panaudoti kaip kartografinis pagrindas jų sukūrimui.

Ortofotografinis žemėlapis sudaromas, transformuojant aerovaizdus atskirais ploto vienetais, naudojant paviršiaus reljefo modelį. Duomenys įrašomi į kompiuterines laikmenas, paprastai į kompaktinius diskus, ir gaminami leidybiniai originalai, pridedant visą reikalingą atributiką - įbraižant koordinačių tinklelius, įrašant nomenklatūrą ir kitą panašią informaciją.

Ortofotografinių žemėlapių tikslumas yra artimas vektorizavimo ir skaitmeninio procesų tikslumui. Specialistų atlikti tyrimai rodo, kad, naudojant skaitmeninį ortofotografinį žemėlapį ORT10, skirtumai tarp

geodeziškai išmatuotų ir vektorizavimo būdu gautų taškų koordinačių yra pakankamai maži - kinta apytikriai nuo 0.5 iki 1.5 m. Rezultatai gaunami tokie patys tiek su visais, tiek su ryškiai natūroje išreikštais taškais. Geodeziškai išmatuotų ir vektorizuotų taškų koordinačių skirtumams įtakos neturi ir taškų ryškumas.

Skaitmeninio ortofotografinio žemėlapio ORT10 lapų schema parodyta 1 pav.

1 pav. Skaitmeninio ortofotografinio žemėlapio ORT10 lapų schema

– 2 –

Page 4: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Kelių tinklo geografinė informacinė sistema

Skaitmeninis ortofotografinis žemėlapis ORT10 įmonėje naudojamas kartu su programa AutoCAD Map. ORT10 duomenys, esant reikalui papildyti ir patikslinti inžinerinių geodezinių tyrinėjimų medžiaga, leidžia žymiai sparčiau ir kokybiškiau atlikti automobilių kelių bei statinių juose tyrinėjimų ir projektavimo darbus, operatyviau spręsti kitus su įmonės veikla susijusius uždavinius.

Naudojantis skaitmeninio ortofotografinio žemėlapio ORT10 duomenimis, programos AutoCAD Map terpėje sudarytas vektorinis įmonės prižiūrimų kelių tinklo žemėlapis. Šiame žemėlapyje kelių ašys pavaizduotos AutoCAD linijiniais objektais (polyline), kurie susideda iš tam tikro skaičiaus nuosekliai sujungtų tiesių atkarpų ir apskritimų lankų. Objektų padėties nustatymo paklaidos yra ne didesnės kaip 0.5-1.5 m, t.y. atitinka ORT10 duomenų tikslumą [1].

2 pav. ORT10 ortofotografinis žemėlapis užkrautas AutoCad programoje

Naudojant šią technologiją buvo greitai suvesti keliai į vektorinį žemėlapį, kuriame duomenų tikslumas yra iki 1,5 m. Tokie tikslūs duomenys praplečia jo panaudojimo galimybes.

4. Kelių tinklo geografinės informacinės sistemos projektas

Pirmiausia pristatysime kompiuterizuojamų funkcijų hierarchijos modelį. Pirmoje dalyje kompiuterizuojama kelio statinių sustatymas, kurių koordinatės bus nustatytos GPS sistemos

pagalba. Antroje dalyje reikia sukurti DB, suformuotą iš svarbiausių kelią ir statinius aprašančių laukų. Trečioje funkcijų grupėje iš svarbiausių dalių formuojamos grafinės ir tekstinės ataskaitos. Grafinėse ataskaitose atsispindės tokia informacija kaip – keliai pagal kelius prižiūrinčias įmones, pagal dangų tipus, pagal kelio tipus. Tekstinė ataskaita formuojama labai svarbiam tikslui – duomenų įvedimui į GPS sistemą.

Kompiuterizuojamų funkcijų hierarchijos modelis pateiktas 3 paveikslėlyje. Kompiuterizuojama sistema susideda iš kelių dalių – grafinė informacija ir duomenys. Projekte suformuota duomenų bazė –tai duomenų apie kelius ir duomenų apie atributus bazė. Grafiniam vaizdui koncepcinis modelis neformuojamas. Kelių duomenų bazės koncepcinis modelis pateiktas 4 paveikslėlyje. 1. Keliai. Aprašomi kelio numeriu, pavadinimu ir ilgiu. Identifikatorius - kelio numeris. 2. Kelius prižiūrinčios įmonės. Aprašomos įmonės kodu, pavadinimu ir adresu. Identifikatorius - įmonės kodas. 3. Administraciniai vienetai. Aprašomi administracinio vieneto kodu ir pavadinimu. Identifikatorius - administ-

racinio vieneto kodas.

– 3 –

Page 5: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

K. Lipnevičiūtė

4. Kelio segmentai - kelio ruožai su tam tikromis pastoviomis charakteristikomis. Aprašomi kelio segmento numeriu, eismo kryptimi, tiesės arba kreivės požymiu, pradžia ir pabaiga, dangos ir kelkraščių pločiais, skiriamosios juostos tipu ir pločiu, duomenų fiksavimo data. Identifikatorius - kelio segmento numeris.

5. Pralaida. Aprašomos X ir Y koordinatėmis, pralaidos numeriu, tipu, žiedų skaičiumi, medžiaga, skersmeniu, susikirtimo kampu, įrengimo metais. Identifikatoriai – X ir Y koordinatės.

6. Tiltas. Aprašomas X ir Y koordinatėmis, tilto numeriu, tipu, sijų skaičiumi, pastatymo metais. Identifikatoriai – X ir Y koordinatės.

7. Kelio ženklai. Aprašomi X ir Y koordinatėmis, ženklo numeriu, stovo aukščiu, stovo medžiaga, atramų skaičiumi, pastatymo data, gamintoju. Identifikatoriai – X ir Y koordinatės.

pa s

įmone

pa s Kelių atvaizdavimas

gal barstymu

Kelio statinių atrinkimas pagal jų tipus

Kelių atvaizdavimas pagal juos prižiūrinčias

Kelių atvaizdavimas gal dangų tipu

Atributų koordinačių nuskaitymas ir jų išvedimas į failą

Analizė

Duomenų apie kelių atributus įvedimas,

koregavimas

Duomenų apie kelius įvedimas, koregavimas

Informacinės sistemos sudarymas

Atributų sudėjimas, jų tvarkymas

Grafinių duomenų suvedimas (kelių

braižymas, jų koregavimas)

Vektorinio žemėlapio sudarymas

Kelių tinklo GIS

3 pav. Kompiuterizuojamų funkcijų hierarchijos modelis

Duomenų struktūra sudaroma remiantis specialistų pateiktomis lentelėmis, jų poreikiais. Todėl tikimasi, kad sistema pateiks norimą ir reikalingą informaciją. Duomenų įvedimas vykdomas bet kurioje sistemoje, pradedant Ms Access, baigiant tokia galinga sistema kaip Oracle. Taip pat duomenis galima įvesti pačiame AutoCad Map pakete. Ši programa skirta grafinių duomenų apdorojimui, bei sujungimui su informacine baze. Šios programos naudojimas priartintų norimus gauti rezultatus prie galutinio tikslo. Vartotojai gaus grafinį vaizdą, kurį papildys informacinė sistema.

Sudarius kelių tinklo vektorinį žemėlapį ir duomenų bazės struktūra, viskas apjungta į vieningą sistemą AutoCAD Map aplinkoje. Autodesk programinė įranga turi vieną programavimo įrankį – programavimo kalbą LISP, kurios pagalba atliekamas visų reikiamų funkcijų sukūrimas. Su šia įranga sukurtos paprogramės veikia visuose Autodesk programų paketuose, todėl nėra problemų keičiant vieną programinę įrangą į kitą [1-2,8].

Atlikus projektavimo darbus buvo realizuotos funkcijos ir sukurta kelių tinklo geografinė informacinė sistema, kuri sėkmingai pritaikyta praktikoje.

Kelių tinklo geografinės informacinės sistemos kokybės tyrimas

– 4 –

Page 6: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Kelių tinklo geografinė informacinė sistema

Praktinė realizacija ir eksploatavimas – pagrindinis ir svarbiausias kriterijus, apsprendžiantis tolimesnį sistemos gyvavimą. Sistema funkcionuoja, nes jos pagalba nuskaitomos kilometrinių ženklų koordinatės ir pervedamos į GPS, atskiruose kelio ruožuose sudėliojami kelio statiniai, kas yra geriausias įrodymas šios sistemos eksploatavimo pagrindimui.

Duomenų tikslumas – šioje vietoje galima paminėti tokias savybes: 1) duomenys nuskaitomi ir pervedami į GPS, toliau kelio ženklai statomi arba koreguojama jų vieta kelyje, pagal nuskaitytą informaciją; 2) GPS pagalba nuskaityta informacija užklojama žemėlapyje ir esančiuose taškuose sustatomi kelio statiniai, tiksliai nužymimos kelių dangos; 3) koreguojamos naujai projektuojamų kelių ašys; 4) naudojamos projekto kūrime technologijos paklaidą leidžia iki 2 metrų

Kelio statinių atitikimas Lietuvos Respublikoje galiojantiems standartams (LST 1405) – visi kelio statiniai kuriami naudojant LKS metodiką, kurioje jie pateikti ant milimetrinio popieriaus, mastelis kinta proporcingai.

Koordinatės LKS 94 sistemoje- aukščiau aprašyti punktai leidžia teigti jog keliai ir kelio statiniai yra Lietuvos Respublikoje priimtai ir galiojančiai LKS 94 koordinačių sistemoje, to rezultate padarinyje nuskaitytas koordinates galime pervesti ir suintegruoti su kitomis sistemomis, o duomenų konvertavimas nereikalingas.

Gal būt šių kriterijų yra per mažai vertinant šią sistemą, tačiau galima teigti, kad jie yra patys svarbiausi. Atributinių duomenų tikslumas priklauso nuo grafinio jų atvaizdavimo, jeigu pirma dalis bus netiksli, tai ir antroje dalyje tikslumo ir duomenų kokybės nebus.

Pralaida #pralaidos koordinatė X#pralaidos koordinatė Ypralaidos numeris pralaidos tipas žiedų skaičius medžiaga skersmuo susikirtimo kampas įrengimo metai

Tiltas #tilto koordinatė X #tilto koordinatė Y tilto numeris tilto tipas tilto sijų skaičius tilto pastatymo metai

sudarosudaro sudaro

Kelio ženklai #ženklo koordinatė X #ženklo koordinatė Y ženklo numeris ženklo stovo aukštis stovo medžiaga ženklo atramų skaičius ženklo pastatymo data ženklo gamintojas

eina priziuri

sudaro

Kelio segmentai #Kelio segmento numeris Eismo kryptis Požymis Segmento pradžia Segmentopabaiga Dangos plotis Kairiojo kelkraščio plotis Dešiniojo kelkraščio plotis Skiriamosios juostos tipas Skiriamosios juostos plotis Duomenų fiksavimo data

Administraciniai vienetai #Administracinio vieneto kodas Administracinio vieneto pavadinimas

Kelius prižiūrinčios įmonės #Įmonės kodas Įmonės pavadinimas

Keliai #Kelio numeris Kelio pavadinimas Kelio ilgis

4 pav. Kelių duomenų bazės koncepcinis modelis

– 5 –

Page 7: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

K. Lipnevičiūtė

5. Išvados

1. Išnagrinėtos kelios sistemos, skirtos geografinių informacinių sistemų kūrimui. Autodesk siūloma įranga yra labiau pritaikyta grafinių duomenų įvedimui, be to įmonės darbuotojų darbo patirtis su šia sistema yra didesnė. Apmokymai dirbti su ESRI siūlomomis programomis įmonei kainuotų labai daug, be to jų CAD dalis yra silpnesnė. Buvo atsižvelgta ir į tai, jog pačioje įmonėje atliekami projektavimo darbai.

2. Kuriant projektą buvo įvesti keliai, kas yra visos sistemos pagrindas. Kelių įvedimui naudojami ortofotografiniai žemėlapiai ORT10. Objektų padėties nustatymo paklaidos yra ne didesnės kaip 0.5-1.5 m, t.y. atitinka ORT10 duomenų tikslumą. Tokios tikslios informacijos turėjimas atvėrė galimybes jos naudojimui praktikoje. Žemėlapis papildytas kelio ženklais, kurie atitinka LST 1405 standartus.

3. Viena iš praktinio panaudojimo galimybių, dėl sistemos duomenų tikslumo, yra sąryšis su GPS įrenginiu. Jo pagalba jau atlikta kilometrinių stulpų inventorizacija, ateityje planuojama atlikti kitų kelio statinių inventorizaciją, tačiau tai bus atvirkštinis procesas. Duomenys nuskaitomi su GPS ir gauta informacija sukeliama į sistemą, tada jame sustatomi kelio statiniai su atributine informacija. Vykdant duomenų analizę gaunama tiksli vaizdinė informacija.

Literatūra [1] Autodesk Inc., AutoCad Map User’s Guide 1997. 12902-000000-5010. [2] Autodesk, Inc. Manual. [žiūrėta 2002-10-05]. Prieiga per Internetą:

http://estore.autodesk.com/dr/v2/ec_MAIN.Entry16?SP=10024&PN=29&xid=23288&V1=30016827&V2=30016827&V3=1&V4=&V5=11000241&S1=&S2=&S3=&S4=&S5=&DSP=0&CUR=826&PGRP=0&CACHE_ID=0 .

[3] Baušys R. Geografinių informacinių sistemų pagrindai. [žiūrėta 2003-09-29]. Prieiga per Internetą: http://gsk.vtu.lt/darbuotojai/Romas/destoma/GIS/downloads/ .

[4] ESRI, Inc. GIS and Mapping Software. [žiūrėta 2003-11-20]. Prieiga per Internetą: http://store.esri.com/esri/index.cfm [5] Environmental System Research Institute, INC Understanding GIS The ARC/INFO method, 1994. ISBN 0 582 21432 7. [6] ESRI, Inc. What Is GIS?. [žiūrėta 2002-11-20]. Prieiga per Internetą: http://www.gis.com/whatisgis/whatisgis.html.

[7] ESRI, Inc. GIS: Getting Started. [žiūrėta 2002-11-20]. Prieiga per Internetą: http://www.esri.com/getting_started/gis_professionals/software.html .

[8] HNIT-BALTIC. Geografinė informacinė sistema. [žiūrėta 2003-04-15]. Prieiga per Internetą: http://www.hnit-baltic.lt/gis.htm.

[9] Kūdriacev E.M. AutoLisp Programavimo AutoCad 2000 pagrindai. Moskva, DMK Press 2000. [10] Paršeliūnas E. Geoinformacinės sistemos: Duomenų bazės 1997. Vilnius “Technika”.

– 6 –

Page 8: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

DATA MINING TECHNOLOGY AND THE DATA MINING PROCESS OF THE INTELLIGENT MINER

Regina Kulvietienė, Jelena Mamčenko Vilniaus Gedimino technikos universitetas

Saulėtekio al. 11, Vilnius

Information technology has developed very rapidly. Many organizations store increasingly large volumes of data on their computer systems. Useful information might be hidden in the data in the form of implicit patterns and connections that are not easy to discern using conventional data queries and statistical calculations.

Data mining is the process of discovering valid, previously unknown, and ultimately comprehensible information from large store of data. Extracted information could be used to form a prediction or classification model, or to identify similarities between database records. The resulting information can help to make more informed decisions.

The Intelligent Miner supports variety of data mining tasks. For example, a retail store might use the Intelligent Miner to identify groups of customers that are most likely to respond to new products and services or to identify new opportunities for cross-selling. An insurance company might use the Intelligent Miner with claims data to isolate likely fraud indicators.

1. The data mining process

Data mining is an iterative process that typically involves selecting input data, transforming it, running a mining function, and interpreting the results. The Intelligent Miner assists with all the steps in this process. The functions of the Intelligent Miner can be applied independently, iteratively, or in combination. Mining functions use elaborate mathematical techniques to discover hidden patterns in data. After interpreting the results of data mining process, the user can modify selection of data, data processing and statistical functions, or mining parameters to improve and extend results. Figure 1 shows the basic data mining process.

Data

Assimilated Information

Extracted Information

Transformed Data

Selected

Interpret Mine Transform

Logical

Figure 1. The data mining process

1.1 Selecting the input data

The first step in data mining is to specify the input data that you want to mine and analyze. A data source might not contain all the data that you want to use for specific data mining objectives, or it might include irrelevant data, the data that will be mine might be in one or more database tables, views, or flat files.

The Intelligent Miner helps to select data from a variety of data types and sources to create input data to which you can apply preprocessing and mining functions. For example, we can omit data fields or select a subset of records in the table and then combine them with data selected from another table.

– 7 –

Page 9: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

R. Kulvietienė, J. Mamčenko

1.2. Exploring the data

At any point in the process, statistical function can be used for exploring and analysing the data. We might want to apply statistical analysis as we consider input data variables for mining function. We can also use statistics functions to transform data to create input fields for mining. In addition, these functions are useful for evaluating the output data generated by the mining functions.

1.3. Transforming the data

After the input data specifying, we can transform it using the Intelligent Miner preprocessing functions. Preprocessing functions such as discretization, filtering, and joining help organize data so that it can mine it effectively.

For example, if data contains the fields Salary and Commission, we might aggregate the values of these fields and create a data field named Total_Salary. We might also use an Intelligent Miner function to remove Null values from input data so that they do not affect the result of the data mining process.

1.4. Mining the data

Transformed data is subsequently mined using one or more mining functions. The Intelligent Miner has the following types of mining functions:

• Associations • Neural Classification • Tree Classification • Demographic Clustering • Neural Clustering • Sequential Patterns • Similar Sequences • Neural Prediction • Radial Basis Function (RBF) – Prediction

1.5. Interpreting the result

We can analyse the results of the data mining process with respect to decision-support objectives. Visualization tools allow you to view the results and identify important information laid bare by the mining process. The results can be exported to a remote workstation so that they can be viewed at a different location. Also it is possible to copy certain results to the clipboard to make them available for other tools, such as spreadsheets or statistical applications.

Data mining can be an iterative process. When we look at previous results, we might want to adjust the mining settings for a further mining run to improve the results quality.

2. Overview of the DB2 Intelligent Miner for Data components, Release 6.1 from IBM®

A data mining operation is typically made up of several distinct steps combining the execution of data mining functions with data preprocessing function. The user of the data mining application wants to be able to select and control the execution of these functions in a flexible way.

The Intelligent Miner provides the means for this section and control. It contains the following features: • A set of data mining function providing the most frequently required data mining technologies. These

include statistical functions that provide various statistical and forecasting methods to help users in analyzing the input data and support the business decision.

• A processing library providing functions for data transformation. • A set of API functions called Environment Layer API to control the execution of the data mining functions. • A set of API functions called Result API to manage the results of data mining runs. • A client/server structure to provide communication between data mining and data preprocessing functions

on the server, and administrative and visualization functions on the client. • An administration Graphical User Interface (Administration GUI) to control the execution of the data

mining functions and the preprocessing functions, and to manage the results of data mining runs.

– 8 –

Page 10: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Data Mining Technology and the Data Mining Process of the Intelligent Miner

• The capability to define and execute sequences of functions and mining operations both through the GUI and the Environment Layer API.

The Intelligent Miner communicates between mining and preprocessing functions on the server, as well as between the administrative and visualization tools on the client. The client component includes a user interface from which functions can be invoked on an Intelligent Miner server. The results are returned to the client where it can be visualized and analysed. The client components are available for AIX, OS/2, Windows 95,Windows 98, and Windows NT operating systems (table 1).

Table 1. Client and server options

Client Options Server Options

AIX OS/2 Windows 95 Microsoft Windows 98 Microsoft Windows NT

AIX OS/390 AS/400 Sun Solaris Windows NT

The server software is available for AIX, OS/2, AS/400, Sun Solaris, and Windows NT systems (table 1). In addition, on AIX, Sun Solaris, and Windows NT systems, the server software supports parallel mining with multiple processors. Possible to have client and server components on the same machine.

Figure 2 shows the client and server components of the Intelligent Miner. User Interface. A program that allows you to define data mining functions a graphical environment. Preferences

for the user interface can be defined, which are stored on the client. Environment layer API. A set of API functions that control the execution of mining runs and results. Sequences

of functions and mining operations can be defined and executed using the user interface through the environment layer API. The environment layer API is available on all server operating systems.

Visualizer. A tool that displays the results produced by mining or statistical function. The Intelligent Miner provides a rich set of visualization tools. It is possible to use other visualization tools.

ng

Mini

Result API (save)Data

Access

Flat Files

Database

Databases

Mining Bases

Processi

Result API(load)

CLIENT

Export Tools

Mining Results

Data access. Data access to flat files, database tables, and database views.

Database tables and flat files. The data types that can be processed. The Intelligent Miner components work directly with data stored in a relational database or in flat files. The data need not be copied to a special format. Input and output data objects, defined by the user, that are logical description of the physical data. This logical description allows changing the physical location of the data without affecting objects that use the data. Only the logical description must be changed.

Figure 2. The Intelligent Miner architecture

– 9 –

Page 11: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

R. Kulvietienė, J. Mamčenko

The change might be as simple as changing the name of a database table. Processing library. A library that provides access to database functions. Mining bases. A collection of data mining objects used for a mining objective or business problem. Mining

bases are stored on the server, which allows access from different clients. Mining kernels. The algorithms brought into operation when you run a data mining or statistical function. Mining results, result API, and export tools. The data extracted by running a mining or statistics function. These

components allow you to visualize results the client. Results can be exported for further processing or use with visualization tools.

3. Exploring the Features and Components of Enterprise Miner, Release 4.1 from SAS® 3.1 Client/Server Capabilities

The Enterprise Miner client/server architecture enables users to employ large UNIX servers or mainframes to access and process enormous data sources from different database management systems.

Specifically, the Enterprise Miner client/server functionality provides the following advantages: • Distributes data-intensive processing to the most appropriate machine. • Minimizes network traffic by processing the data on the source machine. • Minimizes data redundancy by maintaining one central data source. • Distributes server profiles to multiple clients. • Enables user to regulate access to data sources. • Enables user to toggle between remote and local processing.

3.2 Client/Server requirements

The following table lists the client and server options available in Release 4.1 of Enterprise Miner.

Table 2. Client and server options

Client Options Server Options Microsoft Windows 98 Microsoft Windows NT Microsoft Windows 2000

ABI+ for Intel AIX (32, 64 bit) Compaq Tru64 UNIX (32,64 bit) HP – UX (32, 64 bit) Intel Linux MVS/ESA (or prior releases) including all releases of OS/390 Solaris (32, 64 bit) Microsoft Windows NT and 2000

Base SAS and SAS/STAT are required on the same server or mainframe on which the Enterprise Miner server component resides and processes data.

4. Conclusion

The IBM DB2 Intelligent Miner for Data is a suite of mining, processing, and statistics function that can be used to analyze large databases. It is also provides visualization tools for viewing and interpreting mining results.

Scalable and with support for multiple platforms, DB2 Intelligent Miner for Data provides a suite of tools to provide a single framework for database mining. This framework supports the iterative process, offering data processing, statistical analysis, and results visualization to complement a variety of mining methods.

DB2 Intelligent Miner for Data uses proven mining algorithms, either individually or in combination to address a wide range of business problems and deliver measurable business results, provides a scalable solution, focused on the technical issues of large-scale mining, such as large volumes of data, parallel data mining on AIX, Windows NT,

– 10 –

Page 12: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Data Mining Technology and the Data Mining Process of the Intelligent Miner

Sun Solaris, and OS/390, directly mining DB2* data, long-running mining operations, and optimization of mining algorithms.

DB2 Intelligent Miner for Data has an application programming interface, enabling the development of customized, industry-specific mining applications by customers, IBM, and IBM Business Partners.

Enterprise Miner can uncover valuable information hidden in large amounts of data. This software fully integrates all steps of the data mining process beginning with the sampling of data, through sophisticated data analyses and modeling, to the dissemination of the resulting information. The functionality of Enterprise Miner is provided through a flexible GUI that enables users, who have different degrees of statistical expertise, to plan, implement, and refine their data mining projects.

References [1] Berry, Michael J. A. and Gordon Linoff. 1997. Data Mining Techniques. New York: John Wiley & Sons, Inc. [2] IBM’s Data Mining Technology. White paper. Data Management Solution. - First edition, April 1996, psl. 1-11. [3] Mining your own business in Telecom, IBM Redbooks, 2001. [4] R.S. Michalski, K.A. Kaufman. Data Mining and Knowledge discovery: a review of issues and multistrategy approach. –

Machine Learning and Data mining: Methods and Applications, West Sussex, England 1998, psl. 71-105. [5] SAS Institute Inc. 1997. (White Paper) “Business Intelligence Systems and Data Mining.” [6]. SAS Institute Inc. 2001. (White Paper) “Finding the Solution to Data Mining.” P. 28-32

Duomenų gavybos technologijos ir duomenų gavybos procesas Intelligent Miner pavyzdžiu

Duomenų gavybos technologijų sistemos realizuoja naują duomenų analizės formą, paremtą intelektualiais sprendimais, leidžia gauti iš duomenų bazės žymiai gilesnes žinias, negu sudėtingiausios užklausos ir iš jų suformuotos ataskaitos.

Šiame straipsnyje yra pateikti DB2 Intelligent Miner for Data ir SAS Enterprise Miner programinių produktų kliento/serverio architektūros. Pateikti produktų galimybės bei reikalavimai.

– 11 –

Page 13: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

DUOMENŲ SAUGYKLOS PROJEKTAVIMO PROCESO MODELIS

Jurgita Tonkūnaitė, Lina Nemuraitė Informacijos sistemų katedra, Kauno technologijos universitetas

Studentų g. 50, LT-3031 Kaunas

Duomenų saugyklų sukūrimas leidžia vartotojui nagrinėti turimus duomenis, naudojant įvairius daugiamačius duomenų bazės pjūvius, kurti naujus išvestinius rodiklius, juos palyginti, grupuoti pagal dominančius kriterijus, analizuoti skirtingais agregavimo lygiais. Šiame darbe detaliai išanalizuotas duomenų saugyklos projektavimo procesas, kurio metu, remiantis naudotojų poreikiais ir esamos duomenų bazės schema, sukuriama saugyklos schema, pirminių duomenų transformavimo ir perkėlimo į saugyklą procesai, duomenų analizės modeliai ir saugyklos duomenų transformavimo į analizės modelius bei saugyklos atnaujinimo procesai. Sudaryta projektavimo metodika, kurioje didelis dėmesys skiriamas schemų tipų pasirinkimui, kelių schemų jungimui, duomenų normalizavimui ir saugyklos lankstumui. Metodika suformuluota remiantis literatūros šaltinių analize ir praktine patirtimi, įgyta kuriant saugyklą Miškų informacinei sistemai MS SQL serverio priemonėmis.

1. Įvadas

Duomenų saugyklos autoriumi laikomas B. Inmon, kuris apibūdino duomenų saugyklas taip: „Duomenų saugykla yra analizės sritims (temoms) orientuotas (angl. subject oriented), integruotas, laiko chronologijos tvarka išdėstytas nemodifikuojamų duomenų rinkinys, skirtas valdymo sprendimams paremti“[3]. Ji aprūpina vadybininkus ir analitikus patikima informacija, kuri reikalinga operacinei analizei ir sprendimų priėmimui. Gali kilti klausimas, kodėl reikia kurti duomenų saugyklas – juk jos kaupia didelius perteklinės informacijos kiekius, dubliuodami gausią informaciją, kuri ir taip registruojama duomenų bazėse ar operacinių sistemų failuose. Saugyklos reikalingos todėl, kad analizuoti duomenis operacinėse sistemose tiesiog neįmanoma arba labai sudėtinga. Taip yra dėl daugelio priežasčių, tame tarpe ir dėl duomenų paskirstymo bei skirtingų DBVS formatų. Net jeigu visi įmonės duomenys saugomi viename serveryje, analitikui bus sunku vykdyti paiešką sudėtingose, kartais supainiotose struktūrose. Norėdamas atlikti analizę, vartotojas su duomenimis turi vykdyti įvairias operacijas: sumuoti, transformuoti, prognozuoti, ir panašiai. Tam jis turi turėti veikimo erdvę ir nesupainioti faktinių duomenų su skaičiuojamaisiais, o dar svarbiau – netyčia jų nesugadinti. Tokiu būdu saugyklos tikslas – sukaupti duomenis analizei vienoje vietoje ir juos pateikti tam pritaikytomis, suprantamomis struktūromis. Yra dar viena priežastis, pagrindžianti saugyklos atsiradimą – sudėtingos analitinės užklausos stabdo įmonės darbą, atliekamą su operatyviais duomenimis, ilgam blokuodamos lenteles ir užimdamos serverio resursus.

2. Duomenų saugyklų schemos

Duomenų saugyklos duomenų modelis skiriasi nuo įprasto reliacinių ar objektinių/reliacinių struktūrų, kuriomis saugomi duomenys kasdieninių operacijų duomenims kaupti skirtose duomenų bazėse. Tai daugiamatis duomenų modelis, vadinamas kubu. Jei saugykla kuriama reliacinėje duomenų bazėje, daugiamatis modelis atvaizduojamas reliaciniu tam tikros struktūros modeliu.

Pagrindinės reliacinėje bazėje kuriamos saugyklos duomenų struktūros sudėtinės dalys yra faktų ir dimensijų lentelės. Centrinis saugyklos taškas yra faktų lentelė. Paprastai joje saugomi agreguoti operaciniai duomenys apie analizuojamus objektus ir įvykius. Faktų lentelės atributai vadinami matavimais (angl. measures). Jie išreiškia analizuojamas dalykinės srities savybes.

Saugyklos naudojimo metu faktų reikšmės nuolat atnaujinamos, įtraukiant naujus duomenis, atsiradusius įmonės operacinėje duomenų bazėje. Dimensijų lentelės turi nekeičiamus arba retai keičiamus duomenis, dažnai jos sudaro dimensijų hierarchijas. Faktų lentelių pirminiai raktai būna sudaryti iš išorinių raktų rinkinio, kuriame kiekvienas elementas yra atitinkamos dimensijos pirminis raktas. Saugyklų schemos turi kelias tipines struktūras, kurios buvo nagrinėtos [7 ]: plokščia, terasinė, žvaigždės, žvaigždyno, snaigės tipo schema. 1 paveiksle žvaigždės tipo schemos struktūra pavaizduota UML klasių diagrama.

Projektuojant duomenų saugyklas, reikia išanalizuoti naudotojų reikalavimus bei operacinės duomenų bazės schemą, apibrėžti analizės sritis, kubus, faktus ir matavimus, dimensijas, jų elementus ir hierarchijas, faktų skaičiavimo formules. Tai sudėtingas uždavinys, skirtingas nuo įprastų duomenų bazių projektavimo.

– 12 –

Page 14: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Duomenų saugyklos projektavimo proceso modelis

Miško tipasVietovė

Organizacija

Medžių rūšis Laikas

Sklypas 0..n

1

0..n1

0..n

1

0..n

1

0..n

1

1

0..n 1

0..n10..n

1

0..n1

0..n

1 pav. Žvaigždės tipo schemos struktūra

Būdingas dimensinio modelio kūrimo veiksmas yra objektų klasifikavimas į tris kategorijas: • Operaciniai objektai, kurie aprašo specifinių verslo įvykių, pavyzdžiui, užsakymų, savybes. Tai svarbūs

objektai, iš kurių sudaromos faktų lentelės žvaigždės tipo schemoje • Komponentiniai objektai, kurie tiesiogiai susiję su operaciniu objektu ryšiu „vienas su daug“. Šie objektai

detaliau nurodo kiekvienos verslo operacijos komponentus. Komponentiniai objektai atsako į šiuos klausimus apie verslo įvykį: „kas“, „ką“, „kada“, „kur“, „kaip“ ir „kodėl“. Iš šių objektų sudaromos dimensijų lentelės žvaigždės tipo schemoje.

• Klasifikavimo objektai, susiję su operaciniais objektais ryšiu „vienas su daug“, t.y. operaciniai objektai funkcionaliai priklauso nuo komponentinio objekto. Klasifikavimo objektai vaizduoja duomenų modelio hierarchijas, kurias taip pat galima sujungti į dimensijų lenteles žvaigždės schemoje [1].

Kitas svarbus veiksmas – identifikuoti hierarchijas. Hierarchijos yra ypač svarbi koncepcija dimensiniame modeliavime. Hierarchija vadinama maksimalia, jeigu jos negalima išplėsti į viršų arba į apačią, įtraukiant kitą objektą. Objektas vadinamas minimaliu, jei tai yra maksimalios hierarchijos apačioje ir maksimaliu, jei yra viršuje. Minimalius ir maksimalius objektus lengva identifikuoti, kadangi minimalūs objektai neturi „vienas su daug“ ryšių, o maksimalūs objektai neturi „daug su vienu“ ryšių.

Trečias žingsnis – sudaryti dimensinius modelius, naudojant hierarchijų sutraukimą ir agregavimą.

3. Duomenų saugyklos projektavimo procesas

Projektuojant duomenų saugyklą, organizacijos duomenų bazė paprastai jau egzistuoja. Saugyklos tikslas – pateikti juos kiekvienam naudotojui jo užklausų vykdymui tinkamu būdu. Šiame darbe suformuluotas projektavimo procesas paremtas [2, 3, 4, 5] šaltinių analize ir eksperimentiniu kūrimu. Projektavimo procesui buvo keliami tokie reikalavimai:

• Saugyklos schema turi agreguoti duomenis, bet iki tokio laipsnio, kad galėtų tenkinti detaliausias kiekvieno vartotojų užklausas. Todėl projektuojant saugyklą turi būti išanalizuoti visi esami ir numatomi vartotojų poreikiai.

• Saugyklos schema turi būti lanksti, kad būtų galima ją keisti arba plėsti, palaipsniui įtraukiant naujas sritis. Netikslinga sukurti visą didžiulę saugyklą iš karto, nes kūrimo metu gali išryškėti klaidos ar galimi efektyvesni sprendimai. Tikslinga kurti ją palaipsniui, iteracijomis, kiekvienoje iteracijoje tobulinant rezultatus.

Formuluojant reikalavimus saugyklai, pirmiausia atliekama vartotojų poreikių analizė ir išskiriamos pagrindinės analizės sritys arba temos (angl. subjects) [2, 3, 6]. Analizės sritys dažnai sutampa su funkcinių padalinių ar atskirų specialistų atliekamos analizės sritimis.

Analizės srities reikalavimus pateikia tos srities naudotojas. Pradiniai reikalavimų duomenys yra naudotojų užklausų aibė ir saugyklos atributų aibė. Kadangi visų užklausų iš anksto numatyti negalima, stengiamasi įvertinti galimai didesnę numatomų užklausų aibę. Kiekvienas naudotojas taip pat nurodo jį dominančių matavimų ir dimensijų atributus bei jų išvedimo būdus, kurie aprašomi lentelėmis. Kartu su naudotojo apibrėžtais reikalavimais nagrinėjama pirminė duomenų bazės schema ir naudotojų ataskaitos. Šie reikalavimai lyginami tarpusavyje. Atskirų analizės sričių faktai dažnai būna tarpusavyje nepriklausomi, tačiau dimensijos dažnai sutampa. Duomenų saugyklos projektavimo procesas susideda iš kelių etapų, kurie pavaizduoti 2 paveiksle. Kiekvienai analizės sričiai išskiriami faktai ir dimensijos bei sudaroma tos srities saugyklos schema. Faktai atitinka ataskaitų skaitines reikšmes ir pirminės duomenų bazės transakcijų atributus. Dimensijos atitinka ataskaitų stulpelius ir pirminės duomenų bazės komponentines bei klasifikacines esybes. Sulyginant ataskaitų stulpelius, transakcijų atributus ir naudotojo išreikštus

– 13 –

Page 15: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

J. Tonkūnaitė, L. Nemuraitė

poreikius, šiame darbe siūloma sudaryti faktų ir dimensijų matricas pradžioje kiekvienai sričiai, po to sujungti šias matricas į bendrą matricą. Pagrindiniai principai: didžiausio detalumo faktų nustatymas ir dimensijų nepriklausomumas. Esant nepriklausomoms dimensijoms, gaunama normalizuota saugyklos schema. Priklausomos dimensijos vaizduojamos hierarchijomis, tai yra, schema įgauna snaigės pavidalą.

2 pav. Duomenų saugyklos projektavimo procesas

Kalbant apie duomenų saugyklas, pabrėžiama, kad jose dažniausiai saugomi nenormalizuoti, pertekliniai duomenys ir tokiu būdu pasiekiamas skaitymo užklausų efektyvumas. Tačiau ir daugiamačiams duomenims galima nustatyti kokybinius reikalavimus. Tačiau tokius reikalavimus nagrinėja nedaug autorių. [5] šaltinyje apibrėžtos daugiamatės norminės formos:

• Pirma daugiamatė norminė forma (1DNF) reikalauja, kad faktų schema ir dimensijos būtų susieti dalykinės srities funkcinėmis priklausomybėmis, faktų schema išsaugotų dalykinės srities apibendrinimo ir detalizavimo galimybes bei įkūnytų daugiamatį matavimų kontekstą. Taigi 1DNF užtikrina daugiamačio modelio tikslumą, pilnumą ir nepertekliškumą.

• Jei schema yra 2DNF, galima atskirti, kurie dimensijų lygiai neprivalomi. 2DNF užtikrina galimybę išvengti prieštaringų užklausų ir žinoti, kada dirbama su nepilna informacija.

• 3DNF – dimensijos išdėstytos į hierarchijas ir faktų schema negali turėti nulinių reikšmių.

Pagal daugiamačių norminių formų reikalavimus sudaryta schema susideda iš faktų bei dimensijų schemos ir agregavimo apribojimų. Šiame darbe siūloma saugyklos projektavimo metodika užtikrina trečios daugiamatės norminės formos modelį.

Norint sudaryti saugyklos schemą, kuri tenkintų daugiamatės normalizacijos reikalavimus, pirmiausia reikia identifikuoti faktų lenteles. Tam nagrinėjami naudotojų reikalavimai ir pirminės duomenų bazės schema. Dažnai viena analizės sritis turi vieną faktų lentelę. Norint gauti tam tikro fakto dimensijas iš pirminės duomenų bazės schemos, reikia identifikuoti visas lenteles, kurios turi ryšį su fakto lentele 1:N. Kiekvienai dimensijos lentelei taip pat reikia identifikuoti lenteles, kurios turi su ja ryšį 1:N, kol pasiekiamos nepriklausomos esybės. Taip gaunamos dimensijų hierarchijos. Reikia pažymėti, kad nustatant dimensijų hierarchijas, gali būti sudėtingesnių atvejų, kai tarp skirtingų hierarchijos lygių egzistuoja tarpinės lentelės. Tai taip vadinamosios silpnos esybės, kurios rodo, kad žemesnio ir aukštesnio dimensijos lygio yra daugiamatis ryšys. Tarpinių lentelių duomenys priskiriami aukštesniam dimensijos lygiui. Jungiant atskirų sričių schemas į bendrą saugyklos schemą, kai kuriems faktams naudojamos tos pačios dimensijos. Tai leidžia daugkartinį dimensijų duomenų naudojimą, bet saugyklos schema darosi painesnė.

– 14 –

Page 16: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Duomenų saugyklos projektavimo proceso modelis

Daugiamatės schemos projektavimo ir pirminių duomenų perkėlimo į saugyklą metu atliekami transformavimo procesai detaliau parodyti 3 paveiksle.

Pradinės faktų sc hemo s projektavimas

St ruk tūros lentelės

Fun kcinės prik lausomybės

Kontek sto len telės

Pradinė fak tų schema

Matavimų schema

Dimens ijų hierarchijų projektavimas

Daugiamatė s chema

Agrega vimo apriboj imų apibrėž imas

Dau giamatė sc hema su agre gavimo apribojimais

a

Operacinių duomenų pašalinimas

Laiko dimensijos pridėjimas

Išvestinių duomenų įvedimas

Ryšių artefaktų sukūrimas

Duomenų stambumo keitimas

Skirtingų lentelių duomenų sujungimas

Duomenų eilučių sukūrimas

Organizavimas pagal stambumą

b

3 pav. Duomenų saugyklos schemos projektavimo metodika (a) ir užpildymo metu atliekamos transformacijos (b)

4. Miškų informacinės sistemos pirminės duomenų bazės schemos analizė

Sudarant duomenų saugyklos modelį, svarbu skirti tris modelių tipus, dalyvaujančius transformacijos procese iš operacinės aplinkos į sprendimų paramos sistemą:

• bendras įmonės duomenų modelis; • saugyklos duomenų modelis; • duomenų saugyklos analizės srities modelis (dažnai atitinkantis įmonės posistemio duomenų modelį).

Pradinis duomenų saugyklų kūrimo taškas yra bendras įmonės duomenų modelis. Be šito modelio yra labai sunku organizuoti duomenų saugyklos struktūrą ir jos duomenų turinį. Jis apima visas įmonės operacines duomenų bazes (duomenų šaltinius) ir duoda pagrindą integravimui ir suvienodinimui intelektualiame lygyje. Šiame darbe saugyklos kūrimas buvo lengvesnis, kadangi visi nagrinėjamos Miškų informacinės sistemos (IS) duomenys saugomi centrinėje duomenų bazėje, kurios schemos fragmentas parodytas 4 paveiksle. Ši bazė turi virš 200 lentelių ir gilias ryšių hierarchijas. Suprojektuoti pilnos apimties saugyklą būtų labai didelis uždavinys, be to, bazė nuolat plečiasi, atsiranda naujos analizės sritys. Šiame darbe buvo sukurta saugykla kelioms pagrindinėms analizės sritims, tačiau tam tikslui buvo analizuojama visa pirminės DB struktūra.

5. Saugyklos schema

Kuriamai duomenų saugyklai pasirinkta snaigės schema. Sklypų snaigės schema pateikta 5 paveiksle. Snaigės schemos centre yra faktų lentelė, kurią naudoja dimensinės užklausos. Joje saugomi realūs duomenys (faktai). Faktų lentelės raktas susideda iš dimensijų pirminių raktų, faktų matavimai yra skaitiniai atributai – kiekiai, kurie gali būti sumuojami, agreguojami įvairioms statistinėms operacijoms, skaičiuojamas jų vidurkis, maksimali/minimali reikšmė. Dimensijos rodo, nuo ko priklauso faktai, kokiais pjūviais galima juos nagrinėti.

Sudarant schemas kitoms analizės sritims, buvo naudojamos tos pačios dimensijos, todėl gautą schemą būtų galima pavadinti snaigių spiečiumi (6 pav.)

SQL serveryje sukurtos saugyklos schema parodyta 7 paveiksle. Toliau šią saugyklą reikia užpildyti duomenimis iš transakcijų duomenų bazės. Tam su duomenimis reikia atlikti eilę operacijų, parodytų 3 paveiksle, b.

– 15 –

Page 17: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

J. Tonkūnaitė, L. Nemuraitė

Ardai

PK ard_id

U1 ard_nrU2 ard_vard

Ardu_sudetis

PK as_id

FK1,I1,U1 m10_idU1 sud_el_nrFK2,I2 mr_id

amziuskfhdpspgim_metaiskskilme

Maketas10

PK m10_id

FK3,I3 skl_idFK1,I1 ard_id

ntvskalturis

FK2,I2 nv_id

Maketas1

PK m1_id

FK1,I1 mr_idFK3,I3 skl_id

bon_kodskl_turamz_kl_kod

FK4,I4 up_idbrg_kod

FK2,I2 mtip_idatv

Misku_tipai

PK mtip_id

U3 mtip_rkodU4 mtip_skodU1 mtip_liet_vardU2 mtip_lot_vard

Medziu_rusys

PK mr_id

FK1,I1 mgen_idU1 kl_kodU2 mr_rkodU3 mr_vardFK4,I4 pmr_tur_idFK5,I5 pmr_turj_idFK2,I2 pmr_bon_idFK3,I3 pmr_kirt_id

svorisSklypai

PK,FK2 skl_id

FK1,I1 dtg_idnusau_zem

Geo_objektai

PK skl_id

FK4,I6 zk_idplplanes

I4 nuoI1 ikiFK2,I5 pr_idFK3,I2 keit_idFK1,I3 klaid_id

snakt_metai

Uredijos

PK mu_id

I2,U1 mu_kodmu_reg_kod

U2 mu_vardFK1,I4 ukat_idI3,U1 nuoI1,U1 iki

Ur_gir

PK ur_gir_id

FK2,U1,I3 mu_idU1,I2 gir_kodI3 gir_vardFK1,I1 gir_kat_idI5 nuoI4 iki

Kv_skl

PK kv_skl_id

FK1,I9 skl_idFK5,U1,I4 kv_idU1,I10 skl_nrU1,I8 skl_dalisFK6,U1,I11 ur_gir_idFK7,U1,I5 mu_idI6 nuoU1,I1 ikiFK2,I7 pr_idFK3,I2 keit_idFK4,U1,I3 klaid_id

Girininkiju_kateg

PK gir_kat_id

U1 gir_kat_kodU2 gir_kat_vard

Gir_kvar

PK gir_kv_id

FK6,U1,I6 mu_idFK5,U1,I9 ur_gir_idFK4,I4 kv_idU1,I5 kv_nrI7 nuoI1,U1 ikiFK2,I8 pr_idFK3,I2 keit_idFK1,I3,U1 klaid_id

Kvartalai

PK kv_id

kv_plkv_plakv_nes

I4 nuoI1 ikiFK1,I5 pr_idFK2,I2 keit_idFK3,I3 klaid_id

Apskritys

PK apskr_id

U1 apskr_kodU2 apskr_vard

eil_nrnuoiki

Vietoves

PK kdv_id

U1,I3 kdv_kodasI3 kdv_vardasFK1,I1 admr_idI4 nuoI2 iki

Rajonai

PK admr_id

U1 admr_kodasU2 admr_vardas

eil_nrFK1,I1 apskr_idI3 nuoI2 iki

Rysiai_su_viet

PK skl_viet_id

FK2,I1 kdv_idFK1,I2 skl_id

Zemes_naudm_kateg

PK zk_id

U1 zk_kod1FK1,I1 zng_idU2 zk_vard

Zemes_naudmenu_grupes

PK zng_id

U1 zng_kodU2 zng_vard

4 pav. Miškų IS duomenų bazės schemos fragmentas (MS Visio duomenų bazės modelio formate)

Miško tipas

kodasvardas

Medžių rūšis

kodasvardas

Laikas

metai

Urėdija

kodasvardas

Girininki ja

kodasvardas

0..n

1

Kvartalas

kodasnumeris

0..n

1

Sklypas

plotastūris

0..n1

0..n1

0..n1

0..n1

0..n

1

0..n

1

0..n

1

Apskritis

kodasvardas

Rajonas

kodasvardas

0..n

1

Vietovė

kodasvardas

0..n

1

0..n

1

0..n1

1

0..n

1

0..n

1

0..n

10..n

1

0..n

5 pav. Duomenų saugyklos schema sklypų analizės sričiai

– 16 –

Page 18: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Duomenų saugyklos projektavimo proceso modelis

Apskritiskodasvardas

Urėdijakodasvardas

Rajonaskodasvardas

0..n

1

0..n

1Girininkija

kodasvardas

0..n

1

0..n

1

Įmonėkodasvardas

Medienos tipas

kodasvardas

Kirtim o projektas

numeris

0..n

1

0..n

1

Miško tipaskodasvardas

Ardastūrisskalsumasaukštisamžiusskersmuo

0..n

1

0..n

1

Vietovėkodasvardas

0..n1

0..n1 Kvartalas

kodasnum eris

0..n1

0..n1

KirtimasiškirstasPlotasiškirstasTūris0..n

1

0..n

1

0..n

1

0..n

1

Medžių rūšiskodasvardas

0..n

1

0..n

1

0..n

1

0..n

1

Laikasmetai

0..n

1

0..n

1

0..n0..n

Atkūrimo projektas

numeris

0..n

1

0..n

1

AtkūrimasatkurtasPlotas

0..n

1..n

0..n

1..n

0..n

1

0..n

1

0..n

1

0..n

1

Sklypasplotastūris

0..n1

0..n1

0..n

1

0..n

10..n

10..n

1

0..n

1

0..n

1

0..n

1

0..n

1

0..n

1

0..n

1

0..1

1

0..1

1

0..n

1

0..n

1

6 pav. Miškų IS faktų lentelės (parodytos tamsesne spalva), naudojančios bendras dimensijas

7 pav. Sklypų faktų schema MS SQL serveryje

– 17 –

Page 19: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

J. Tonkūnaitė, L. Nemuraitė

6. Duomenų transformavimo užklausos Yra du pagrindiniai faktoriai reikalingi aprašyti duomenų transformavimui iš operacinės aplinkos į duomenų saugyklos aplinką: duomenų pasirinkimas ir transformacijos taisyklės, kurios aprašo, kaip duomenys perkeliami į saugyklą. Duomenų perkėlimui į saugyklos duomenų struktūras buvo naudojamas Microsoft SQL DBVS įrankis DTS (Data Transformation Service), atliekantis duomenų transformacijas.

DTS pagalba galima kopijuoti

duomenų struktūras bei pačius duomenis iš vienos duomenų bazės į kitą, kurti duomenų perdavimo aplinkas, taip pat papildyti saugyklas duomenimis iš operacinių šaltinių.

Norint saugyklą užpildyti duome-nimis, reikalingas DTS paketo sukūrimas ir jo vykdymas. Sukurti DTS paketą galima DTS Package Editor įrankiu. Jo paleidimui reikia prisijungti prie serverio naudojant SQL Server Enterprise Manager, kuris palaiko duomenų sau-gyklą, po to Data Transformation Service aplinkoje susikurti naują paketą. Jame sukuriami keli duomenų šaltiniai. Sekan-čiame 6 paveiksle matomas DTS paketas su jame sukurtais duomenų šaltiniais ir transformacija tarp jų.

8 pav. Duomenų transformavimo paketai (DTS)

Pirmame transformavimo žingsnyje panaikinami ryšiai tarp lentelių bei pirminiai raktai. Pvz.: ryšiui panaikinti tarp Apskritis ir Rajonas lentelių yra užrašoma tokia užklausa:

if exists (select * from dbo.sysobjects where id =object_id(N'[dbo].[FK_Rajonas_Apskritis]')

and objectproperty(id, N'IsForeignKey') = 1) alter table [dbo].[Rajonas] drop constraint FK_Rajonas_Apskritis go

Prieš transformuojant duomenis į saugyklą, reikia panaikinti pirminius raktus duomenų lentelėse. Pirminiams raktams panaikinti yra užrašoma tokia užklausa:

alter table [dbo].[Apskritis] drop constraint [PK_Apskritis] go.

Antrame transformacijos žingsnyje saugykla užpildoma duomenimis. Norint įvykdyti transformaciją tarp skirtingų šaltinių, pirma reikia nurodyti tarp kokių šaltinių bei kokia transformacija bus vykdoma. Kuriant saugyklos faktų lentelės užklausą, reliacinėje duomenų bazėje Užklausai įvykdyti naudojamos tokios lentelės bei ryšiai tarp jų pavaizduoti 7 paveiksle. Užklausai vykdyti generuojamas SQL sakinys:

SELECT Medziu_rusys.mr_id, Vietoves.kdv_id, Misku_tipai.mtip_id, Zemes_naudm_kateg.zk_id, Geo_objektai.pr_id, Geo_objektai.pl AS Plotas, Maketas1.amz_kl_kod, Maketas10.turis, Kv_skl.kv_id FROM Misku_tipai INNER JOIN Maketas1 INNER JOIN Medziu_rusys ON Maketas1.mr_id = Medziu_rusys.mr_id ON Misku_tipai.mtip_id = Maketas1.mtip_id INNER JOIN Geo_objektai INNER JOIN Rysiai_su_viet ON Geo_objektai.skl_id = Rysiai_su_viet.skl_id INNER JOIN Vietoves ON Rysiai_su_viet.kdv_id = Vietoves.kdv_id INNER JOIN Zemes_naudm_kateg ON Geo_objektai.zk_id = Zemes_naudm_kateg.zk_id INNER JOIN Sklypai ON Geo_objektai.skl_id = Sklypai.skl_id INNER JOIN Uredijos INNER JOIN Kv_skl ON Uredijos.mu_id = Kv_skl.mu_id ON Geo_objektai.skl_id = Kv_skl.skl_id ON Maketas1.skl_id = Sklypai.skl_id INNER JOIN Maketas10 ON Sklypai.skl_id = Maketas10.skl_id

– 18 –

Page 20: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Duomenų saugyklos projektavimo proceso modelis

Medziu_rusys

PK mr_id

FK1,I1 mgen_idU1 kl_kodU2 mr_rkodU3 mr_vardFK4,I4 pmr_tur_idFK5,I5 pmr_turj_idFK2,I2 pmr_bon_idFK3,I3 pmr_kirt_id

svoris

Misku_tipai

PK mtip_id

U3 mtip_rkodU4 mtip_skodU1 mtip_liet_vardU2 mtip_lot_vard

Maketas1

PK m1_id

FK1,I1 mr_idFK3,I3 skl_id

bon_kodskl_turamz_kl_kod

FK4,I4 up_idbrg_kod

FK2,I2 mtip_idatv

Maketas10

PK m10_id

FK3,I3 skl_idFK1,I1 ard_id

ntvskalturis

FK2,I2 nv_id

Sklypai

PK,FK2 skl_id

FK1,I1 dtg_idnusau_zem

Geo_objektai

PK skl_id

FK4,I6 zk_idplplanes

I4 nuoI1 ikiFK2,I5 pr_idFK3,I2 keit_idFK1,I3 klaid_id

snakt_metai

Rysiai_su_viet

PK skl_viet_id

FK2,I1 kdv_idFK1,I2 skl_id

Vietoves

PK kdv_id

U1,I3 kdv_kodasI3 kdv_vardasFK1,I1 admr_idI4 nuoI2 iki

Kv_skl

PK kv_skl_id

FK1,I9 skl_idFK5,U1,I4 kv_idU1,I10 skl_nrU1,I8 skl_dalisFK6,U1,I11 ur_gir_idFK7,U1,I5 mu_idI6 nuoU1,I1 ikiFK2,I7 pr_idFK3,I2 keit_idFK4,U1,I3 klaid_id

Zemes_naudm_kateg

PK zk_id

U1 zk_kod1FK1,I1 zng_idU2 zk_vard

Kvartalai

PK kv_id

kv_plkv_plakv_nes

I4 nuoI1 ikiFK1,I5 pr_idFK2,I2 keit_idFK3,I3 klaid_id

7 pav. Užklausos naudojamų lentelių stulpeliai ir ryšiai tarp jų faktų lentelei

7. Duomenų analizės kubai

OLAP kubai buvo kuriami naudojantis MS SQL Server 2000 Analysis Services įrankiu. Buvo sukurti trys kubai imantys duomenis iš saugyklos su skirtingomis duomenų dimensijomis. Kubo kūrimo etapai:

• Duomenų šaltinio pasirinkimas • Fakto lentelės pasirinkimas • Matavimų išskyrimas • Dimensijų išskyrimas • Kubo apdorojimas Prieš kuriant duomenų kubą pir-

miausia reikia nurodyti duomenų serverį bei duomenų bazę, iš kur bus imami duomenys. Pasirinkus faktų lentelę, iš-skyrus fakto matavimus, bei pasirinkus dimensijas turime tokią duomenų kubo struktūrą (8 pav.), kur fakto matavimai yra sumuojami duomenys.

8 pav. Sklypo analizės srities kubo struktūra

Suprojektavus duomenų kubą, reikia atlikti jo apdorojimą. Jis rekomenduojamas, kad užtikrinti tikslius rezultatus vartant kubą. Jei apdorojimas vyksta sėkmingai, suprojektuotas kubas yra teisingas ir duoda teisingus rezultatus teisingi, priešingu atveju apdorojimo metu išmetamas klaidos pranešimas, kad apdorojimas nesėkmingas, tuo atveju reikia ieškoti klaidų projektavimo žingsniuose.

Yra trys atvejai, kai kubą reikia apdoroti: jei buvo pakeista kubo struktūra, reikia atlikti pilną kubo apdorojimą; jei duomenų saugykla pasipildė naujais duomenimis, reikia atlikti atnaujintų duomenų apdorojimą; ištrynus arba pakeitus kubo duomenų šaltinį, reikia atlikti viso duomenų kubo apdorojimą.

8. Sukinio lentelės ir vartotojų ataskaitos

Sukinio (angl. pivot) lentelės paslauga yra pirminė programos sąsaja bendraujanti su MS SQL Server 2000 Analysis Services. Ji naudojama kurti vartotojų programas, kurios bendrauja su daugiamačiais duomenimis. Sukinio lentelės pagalba vartotojas gali analizuoti duomenų kubą jam patogiu būdu, realiu laiku keisti informacijos peržiūros pjūvį, gali vartyti pateiktą informacinį kubą, analizuoti informaciją grafikų pavidalu. Toliau pateiktas pavyzdys, kaip galima analizuoti duomenis sukinio lentelės pagalba.

– 19 –

Page 21: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

J. Tonkūnaitė, L. Nemuraitė

Duomenų analizei atlikti pirmiausia reikia nurodyti duomenų šaltinį, t.y. kur yra sukurtas duomenų kubas Išsirinkus duomenų kubą, konstruojame sukinio lentelę. Pavyzdžiui, mus domina tokia informacija: koks minkštųjų lapuočių plotas, tūris ir aukštis Vilniaus (Tolkūno) bei Kauno (Švendubrės) apskrityse, kai miško tipas yra kiškiakopūstinė ir viksvinė-vilkdalginė bei žemių kategorija yra savaiminis medynas, ir 2002 metais.

Dimensijas bei faktų matavimus sudedame tokia tvarka:

• į duomenų vietą sukeliame visus faktų matavimus, t.y. plotas, tūris, amžius; 9 pav. Sukinio lentelės ruošimas

• į stulpelius - metus bei žemių kategorijos dimensijas; • į eilutes – miško tipus, medžių rūšis bei geografines vietovių dimensijas.

Paruošus sukinio lentelę reikia nurodyti konkrečius duomenis, kurie mus domina: • miško žemių tipą pasirenkame

kiškiakopūstinį bei viksvinį vilkdalginį;

• medžių rūšis - kiti minkštieji lapuočiai;

• metai - 2002; • žemių kategorija – savaiminis

medynas; • geografinės vietovės: • Vilniaus(Anykščių raj., Tolkūno

vietovė) • apskritis; • Kauno (Druskininkų raj.,

Švendubrės vietovė) apskritis.

10 pav. Sklypo analizės srities vartotojo ataskaita

Pasirinkę mus dominančius kriterijus, gauname ataskaitą (10 pav.). Suformuotai ataskaitai galima suformuoti grafinį vaizdą.

Formuojant sukinio lentelę, galimi įvairiausi sukiniai duomenų analizei atlikti. Jeigu duomenų saugykla pasipildo naujais duomenimis, vartotojui reikia atnaujinti sukinio lentelės duomenis.

9. Išvados

• Duomenų saugyklų projektuotojams sudaryta saugyklų kūrimo metodika, apimanti projektavimo procesą ir schemų tipų pasirinkimą. Formuojant schemą, kompleksiškai nagrinėjami vartotojų poreikiai ir esama duomenų bazės schema, laikomasi daugiamačio modelio normalizavimo, didžiausio reikiamo detalumo principų, siūlomas praktiškai pasiteisinęs iteracinio kūrimo metodas. Remiantis šiais principais, galima sukurti lanksčią saugyklos schemą, kurią galima plėsti naujoms analizės sritims.

• Pasiūlyti principai naudingi dar ir todėl kad netikslinga sukurti visą didžiulę saugyklą iš karto, nes kūrimo metu gali išryškėti klaidos ar galimi efektyvesni sprendimai. Tikslinga kurti ją palaipsniui, iteracijomis, kiekvienoje iteracijoje tobulinant rezultatus.

• Pasiūlyta metodika formalizuota sudarant saugyklos projektavimo proceso, saugyklos schemos, transformavimo ir atnaujinimo procesų modelius.

• Išanalizuotos ir įsisavintos MS SQL serverio saugyklų kūrimo ir analizės (OLAP) priemonės, aprašyta DTS duomenų transformavimo, daugiamačio kubo modelio sudarymo OLAP įrankio aplinkoje bei sukinio lentelių sukūrimo ir naudojimo metodika.

• Išanalizuotas Miškų informacinės sistemos duomenų modelis, operacinės duomenų bazės schema ir veiklos analizės poreikiai. Šios analizės pagrindu suprojektuota duomenų saugykla svarbiausioms analizės sritims: sklypų, medynų, kirtimų ir atkūrimo analizei. Saugyklos schema paremta snaigės tipo schema.

• MS SQL Server 2000 priemonėmis sukurta eksperimentinė Miškų IS saugykla pagrindinėms analizės sritims, realizuoti duomenų transformavimo komponentai, skirti saugyklos užpildymui duomenimis bei jų

– 20 –

Page 22: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Duomenų saugyklos projektavimo proceso modelis

atnaujinimui. Saugykla užpildyta duomenimis, sukurti analizės kubai ir sukinio lentelės vartotojams. Numatytos saugyklos plėtimo galimybės naujų analizės sričių ar pirminės duomenų bazės plėtimo atveju.

Literatūros sąrašas [1] Moody D., Kortink M.. From Enterprise Models to Dimensional Models: A Methodology for Data Warehouse and Data

Mart Design // Proceedings of the International Workshop on Design and Management of Data Warehouses. Stockholm, Sweden, 2000m. [žiūrėta 2002-11-06]. Prieiga per Internetą:http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-28/paper5.pdf

[2] Kimball R. The Data Warehouse Toolkit: Practical Techniques for Building Dimensional Data Warehouses, John Wiley & Sons, 2002.

[3] Inmon W.H. Building the Data Warehouse. John Wiley & Sons, 2002. [4] Silverston L.,Inmon. The Data Model Resource Book.-Willey Computer Publishing,1997 [5] Lechtenberger J. Data Warehouse Schema Design. Extended Abstract of Doctoral Thesis. Dept. of Information Systems.

University of Munster, Berlin, 2001. [6] Kimball R. The Data Webhouse Toolkit: Building the Web-Enabled Data Warehouse", John Wiley & Sons, 2000. [7] Nemuraitė L., Tonkūnaitė J. Duomenų saugyklos projektavimo metodika // Informacinės technologijos ir mokslų

integracija – 2003. VU, 2003, p. 121-124.

Data Warehouse Development Process Model

Data stored in databases would be worthless if it is impossible to view it in different, customized profiles. Only that way the data becomes valuable information that can be used for business development and planning, customer segmentation and risk management or optimization of costs, business processes and resources. Creation of data warehouse enables the user to study the available data by using various multidimensional database profiles, to derive new indexes and compare them, to group according to respective criteria, to study in respect of different levels of aggregation. In this paper the process for development of data warehouse is proposed. Process was studied using MS SQL Server Data Warehousing tools and applied for creation of warehouse for analysis of forest resources.

– 21 –

Page 23: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

LYGINAMOJI OLAP PRIEMONIŲ ANALIZĖ IR TAIKYMAS INTERNETO SVETAINĖSE

Marius Vilimas, Lina Nemuraitė Kauno Technologijos Universitetas

Informacijos sistemų katedra, Studentų 50-308

Straipsnyje nagrinėjamos interneto svetainėse kaupiamų duomenų analizės galimybės naudojant analitinio duomenų apdorojimo priemones. Nagrinėjami šių priemonių rinkiniai, įeinantys į Lietuvoje plačiausiai naudojamų duomenų bazių valdymo sistemų - Microsoft SQL ir Oracle serverių – programinę įrangą, lyginamos jų galimybės.

1. Įvadas

Pastaruoju metu sparčiai daugėja interneto svetainių ir jose besilankančių žmonių. Interneto sistemose apie lankytojus sukaupiami dideli duomenų kiekiai. Tačiau daugelyje svetainių šie duomenys taip ir lieka nepanaudoti. Norint juos analizuoti ir panaudoti svetainės tobulinimui reikalingos specialios sistemos. Straipsnyje siūloma šiam tikslui naudoti analitinio duomenų apdorojimo priemones

Interneto svetainės lankomumo analizės sistemoje naudojamos dvi pagrindinės metrikos: vartotojo vizitų ir puslapio užklausų skaičius. Vizitas – tai vartotojo apsilankymas interneto svetainėje apskritai. Pavyzdžiui, jei lankytojas naršyklėje surinko kokios nors svetainės adresą ir pateko į kažkurį šios svetainės puslapį tai jis atliko vizitą. Puslapio užklausa - tai vartotojo kreipimasis į kažkurį svetainės puslapį. Vieno vizito metu vartotojas gali atlikti daug užklausų skirtinguose puslapiuose. Pagal vizito metu atliekamas užklausas galima daryti išvadas kokia informacija vartotoją labiausiai domina, kuriuos puslapius jis dažniausiai lanko.

2. Daugiamatis duomenų modelis

Duomenis apdoroti analitiškai galima perkėlus juos į specialiai analitiniam apdorojimui pritaikytą daugiamatę duomenų struktūrą – duomenų kubą (1 pav.).

FaktasDimensijų nariai

Matavimas

Dimensijos

1 pav. Duomenų kubas

Pagrindinės daugiamačio duomenų modelio sąvokos [4]: Dimensija - viena pagrindinių sąvokų daugiamačiame duomenų modelyje. Kiekviena dimensija saugo

informaciją apie tą patį faktą skirtingame kontekste. Tai padeda gauti ar apskaičiuoti kažkokią reikšmę tam tikrame detalizacijos lygyje. Dimensijos dažnai turi hierarchinę struktūra. Pavyzdžiui, nagrinėjant tam tikro laikotarpio pardavimus, savaitės dimensijos jungiamos į mėnesių dimensijas, o šios savo ruožtu į metų ir taip toliau. Tam tikras

– 22 –

Page 24: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Lyginamoji OLAP priemonių analizė ir taikymas interneto svetainėse

duomenų lygis be jį sudarančių dimensijų gali turėti papildomų savybių, pavyzdžiui prekės matavimo vienetą, kuris tam tikroje dimensijoje nekinta ir nedidina dimensijų skaičiaus.

Faktas kube vaizduoja subjektą – analizuojamą šabloną ar įvykį. Faktą dažniausiai identifikuoja dimensijų kombinacija. Faktas egzistuoja tik tada, jei yra jį atitinkanti visų dimensijų reikšmių kombinacija. Dauguma daugiamačių duomenų modelių reikalauja, kad faktas turėtų bent jau žemiausio hierarchijos lygio dimensijų reikšmių kombinaciją (Aukštesnio lygio dimensijų reikšmės gali būti gaunamos agreguojant žemesniųjų lygių reikšmes). Kiekvienas faktas turi savo detalumą. Kurį nulemia jį sudarančių dimensijų detalumas bei vieta dimensijų hierarchijoje. 1 paveikslėlio pavyzdyje fakto detalumas yra: metai pagal miestą ir produktą. Detalumai sudaryti iš aukštesnių arba žemesnių hierarchijų dimensijų yra detalesni (angl. finer) arba labiau apibendrinti (angl. coarser).

Matavimus sudaro dvi dalys: Skaitmeninė išraiška (pavyzdžiui prekės kaina) ir formulė – dažniausiai parasta aritmetinė išraiška, tokia kaip „sum“ funkcija, kuri gali apjungti keletą matavimų reikšmių į vieną. Daugiamačiame duomenų modelyje matavimai dažniausiai išreiškia faktų savybes, kurias vartotojas nori optimizuoti. Tai yra skirtingos reikšmės įvairioms matavimų kombinacijoms. Savybė ir formulė parenkama taip, kad matavimas turėtų prasmę įvairiose dimensijų kombinacijose. Pati formulė yra modelio metaduomuo.

Pirmame paveiksle pateiktas duomenų kubo su pardavimų duomenimis pavyzdys. Jį sudaro 3 dimensijos: laiko, vietos ir prekių. Faktas yra parduotų prekių kiekis kažkuriame mieste kažkuriais metais, o matavimas – šio kiekio skaitinė išraiška.

3. Daugiamačio duomenų modelio algebra

Duomenų kubams ir operacijoms su jais aprašyti galima naudoti specialią daugiamačių duomenų algebrą. Kubas joje apibrėžiamas 4 kortežais : <D, M, A, f>. Taigi kubą apibūdina 4 komponentai:

• D - n dimensijų aibė d = {d1, d2,…dn}, kur kiekviena di priklauso domenui domdim(i). • M - k matavimų aibė m={m1, m2, … mk}, kur kiekvienas mi priklauso domenui dommeasure(i) • Dimensijų ir matavimų aibės nesikerta 0=MD I .

• A- t atributų aibė a={a1, a2,… at}, kur kiekvienas ai atributo pavadinimas iš domeno domattr(i) • Vienas-su-daug vaizdas f: egzistuoja kiekvienai dimensijai priklausanti atributų aibė. Vaizdas yra

toks, kad atributų aibės, priklausančios dimensijoms poromis nesusikerta:

AD →

0)( =jd)(,,, ∩≠∀ i fdfjijiPavyzdys: pardavimų kubas (3.1. pav.): D={LAIKAS, PREKĖ, VIETA} Vartotoją domina matavimai: M={pardavimų_suma, kiekis} Kubo dimensijos turi tokius atributus: A={diena, metai, mėnuo, prekės_pavadinimas, svoris, spalva, parduotuvės_pavadinimas, miestas,

valstybė} Vaizdas f priskiria atributus konkrečiai dimensijai: f(LAIKAS) = {diena, metai, mėnuo} f(PREKĖ) = {prekės_pavadinimas, svoris, spalva} f(VIETA) = {parduotuvės_pavadinimas, miestas, valstybė} Reikia pastebėti, kad pateiktos atributų aibės nesikerta.

Naudojant šį apibrėžimą, duomenų kubams galima pritaikyti tokius operatorius: • Apribojimas (angl. restriction)– apribojimo operatorius apriboja reikšmių aibę viename ar keliuose

matavimuose (viename kube). • Agregavimas (angl. agregation)- vykdo aritmetines operacijas viename ar daugiau matavimų. Jis yra

sukurtas reliacinės algebros operatoriaus vykdančio MAX, MIN, AVG, SUM funkcijas bazėje ir taikomas kubuose su viena ar daugiau dimensijų sudaromų iš „grupuojančių atributų“ (angl. grouping atributes).

• Dekarto sandauga (X): Dekarto sandauga yra dvejetainis operatorius, kuris gali būti panaudotas susiejant du kubus.

• Ryšio operatorius (angl. join) – tai ypatingas Dekarto sandaugos operatoriaus atvejis, naudojamas susieti dviems kubams, turintiems po vieną ar dvi tokius pačias dimensijas ir identiškus atitikmenis į tų dimensijų atributų rinkinius.

– 23 –

Page 25: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

M. Vilimas, L. Nemuraitė

• Sąjungos operatorius : sąjungos operatorius suranda dviejų kubų sąjungą. ( )∪• Skirtumo (angl. difference ) operatorius (-): skirtumo operatorius suranda skirtumą tarp dviejų kubų. • Traukos operatorius (angl. pull - φ ) – konvertuoja matavimus į dimensijas.

• Stūmimo operatorius (angl. push - ψ ) – konvertuoja dimensijas į matavimus.

4. OLAP priemonių naudojimas interneto svetainėje kaupiamų duomenų analizei

Norint atlikti svetainėje kaupiamų duomenų analizę naudojant OLAP priemones, reikia atlikti eilę transformacijų [1], [2], [3]. Transformacijų seka pateikta 2 paveiksle:

Ataskaitos

Svetainė

Lankytojo duomenų kaupimas

Įrašai tekstiniuose failuose

Tekstinių failų transformavimas į reliacinę struktūrą

R1 : Įrašai reliacinės DB lentelėse

R2 : Įrašai reliacinės DB lentelėse

Duomenų transformavimas į žvaigždės/snaigės schemą

Duomenys duoemnų saugykloje

Duomenų perkelimas į daugiamatę struktūrą

Daugiamačiai duomenys (MOLAP)

Daugiamačių kubų peržiūros priemonių naudojimas

2 pav. Svetainėje kaupiamų duomenų perkėlimo į OLAP įrankius transformacijų seka

Transformavimo žingsnių aprašymas: 1. Lankomumo duomenų kaupimas – daugumoje internete veikiančių sistemų fiksuojamas kiekvienas

puslapio parodymas. Galime sužinoti kokiu metu ir koks svetainės puslapis buvo žiūrėtas. Kartais turime ir daugiau informacijos: koks vartotojas puslapį žiūrėjo, kokia geografinė vartotojo buvimo vieta, jo amžius ir t.t.

Dažniausiai šie duomenys rašomi į tekstinius failus. Tai mažiausiai sistemos resursų reikalaujanti ir greičiausiai atliekama duomenų saugojimo operacija. Kai kuriose svetainėse, kurių apkrautumas (vartotojų skaičius) santykinai nedidelis, lankomumo duomenys gali būti rašomi tiesiai į kokios nors DBVS reliacines lenteles. Tokiu atveju tekstinių duomenų failų transformavimo į reliacinę struktūrą žingsnis praleidžiamas.

– 24 –

Page 26: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Lyginamoji OLAP priemonių analizė ir taikymas interneto svetainėse

2. Tekstinių failų transformavimas į reliacinę struktūrą – norint analizuoti tekstinių failų pavidalu sukauptus lankomumo duomenis pirmiausia juos reikia transformuoti į reliacinę struktūrą. Tekstiniuose failuose duomenys atskiriami tam tikrais skyrikliais (dažniausiai kableliais arba kabliataškiais) skyrikliais atskirti duomenys importuojami į atitinkamus reliacinės lentelės stulpelius. Kiekvienas naujas įrašas faile pradedamas nauja eilute. Taigi, lentelėje po importo turėsime tiek pat įrašų, kiek eilučių buvo tekstiniame faile.

3. Duomenų transformavimas į žvaigždės/snaigės struktūra – iš tekstinių failų importuoti duomenys patenka į vieną duomenų bazės lentelę. Tam, kad galėtume juos analizuoti naudojant OLAP priemones, duomenys turi būtų žvaigždės arba snaigės daugiamatėje duomenų struktūroje. Formuojamos dimensijos, kuriomis duomenis norėsime nagrinėti, bei faktų lentelė. Pirmiausiai suformuojamos dimensijos atrenkant skirtingus (angl. DISTINCT) duomenis, pagal kuriuos darysim dimensijas iš bendros lankomumo duomenų lentelės. Tada formuojama faktų lentelė, kurioje kiekvienas įrašas atitinka viena svetainės puslapio parodymą. Visų rišančiųjų su dimensijomis stulpelių duomenys gaunami paimant (angl. look-up) atitinkamus identifikatorius iš dimensijų lentelių. Šį procesą detaliai galima pavaizduoti veiklos diagrama, pateikta 2 paveiksle.

4. Duomenų perkėlimas į daugiamatę struktūra (MOLAP). Daugiamačius duomenis galima peržiūrėti vykdant užklausas reliacinėje duomenų bazėje (ROLAP). Tačiau procesas žymiai pagreitėja duomenis perkėlus į daugiamačių duomenų saugojimo bazę ir paskaičiavus kai kurias sumas (MOLAP). Šiame žingsnyje reliacinius duomenis perkeliame į daugiamatę saugyklą. Kai kuriose sistemose toks perkėlimas gali būti ir neatliekamas. Pvz. MS SQL Analizės servisuose (angl. Analysis services) daugiamačiai duomenys būtinai turi būti transformuojami į MOLAP kubus tolimesniam apdorojimui. ORACLE duomenų bazės naujausioje versijoje 9iR2 daugiamačių duomenų užklausos atliekamos tiesiog reliacinėje duomenų bazėje. Skaičiavimams pagreitinti gali būti naudojamos tarpinės iš anksto paskaičiuotos lentelės - materializuoti vaizdai (angl. Metherialized Views). Taigi šiuo atveju turime ROLAP arba HOLAP. ROLAP atveju užklausos atliekamos tiesiog reliacinėje duomenų bazėje, o HOLAP atveju prieš jas atliekant dar reikia suformuoti tarpines lenteles.

5. Daugiamačių kubų peržiūros priemonių naudojimas. Galutinis duomenų transformacijų tikslas – pateikti juos analitikui suprantama forma. Tam naudojamos analitinės duomenų peržiūros ir ataskaitų generavimo priemones. Šios priemonės daugiamačius duomenis saugomus reliacinėje ar daugiamatėje duomenų bazėje pateikia vartotojui suprantama interaktyvių kubų bei ataskaitų forma.

Svetainės duomenų analizės sistemos architektūra parodyta 3 paveiksle.

WEB svetainės PI

Lankytojo duomenu kaupimo posisteme

Duomenu importo posisteme

Reliacine duomenu baze

Duomenu saugyklaDaugiamate

duomenu baze

Kubu perziuros priemones

WEB serveris

Reliavines DBVS serveris OLAP serveris

Kubu kurimo priemones

Duomenu transformavimo posisteme

3 pav. Svetainės duomenų analizės sistemos architektūra

5. OLAP priemonių, kurių pagalba gali būti atliekama duomenų analizė, apžvalga

Į daugumos šiuolaikinių duomenų bazių valdymo sistemų sudėtį įeina vienokios ar kitokios analitinio duomenų apdorojimo priemonės. Panagrinėsime du šių priemonių rinkinius, įeinančius į plačiausiai Lietuvoje naudojamus duomenų bazių valdymo sistemų paketus: Microsoft SQL serverį ir Oracle serverį.

5.1. Microsoft SQL serverio priemonės

Bendra sistemos architektūra, naudojant Microsoft SQL serverio analitinio duomenų apdorojimo priemones, pateikta 4 paveiksle.

– 25 –

Page 27: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

M. Vilimas, L. Nemuraitė

5.1.1. Duomenų transformavimo servisai

MSSQL duomenų bazių valdymo sistemoje duomenų transformacijoms, importavimui ir eksportavimui naudojami DTS (angl. data transformation services) (duomenų transformavimo servisai). Jie puikiai tinka ir OLTP sistemos duomenų perkėlimui į duomenų saugyklą, kurioje vėliau bus atliekama duomenų analizė.

4 pav. Sistemos architektūra, naudojant MS SQL priemones

DTS pateikia priemonių rinkinį, kuris leidžia išgauti, transformuoti ir susieti duomenis esančiuose skirtinguose šaltiniuose, prisijungimą prie kurių palaiko DTS prisijungimų posistemė.

5.1.2. Analizės servisai

Naudojant DTS servisus galima suformuoti tolesniam duomenų apdorojimui reikalingas struktūras - duomenų kubus. Duomenų kubų užpildymui reliacinėse duomenų bazėse saugomais duomenimis ir kubų peržiūrai naudojami į MS SQL programų paketą įeinantys analizės servisai (angl. Analysis services).

OLAP serveris yra tarpinė grandis tarp duomenų saugyklos (realizuotos DBVS pagalba) ir kliento aplikacijos. Tokiu atveju OLAP serveris turi versti duomenis iš reliacinio pavidalo, į pavidalą patogesnį analitinių ataskaitų formavimui – OLAP kubus. Todėl pagrindinis šio paketo komponentas yra Analizės serveris (angl. Analysis Server) - operacinės sistemos Windows NT/2000 servisas. Šis serveris skirtas OLAP kubų kūrimui iš reliacinės duomenų bazės duomenų, bei prieigai prie šių duomenų iš klientinių aplikacijų.

Teoriškai OLAP kubas, sukurtas naudojant Microsoft analizės servisus, gali talpinti visus faktų lentelės duomenis ir agreguotas išraiškas toms įrašų grupėms iš šios lentelės, kurios atitinka viršutinį matavimų hierarchijos lygį. Kai reikia, galima dinamiškai atnaujinti kubą, jeigu faktų lentelėje įvyko duomenų pakeitimai. Taip pat leidžiama pasirinkti ar žemesniu hierarchijos lygių duomenys bus saugomi pačiame kube (atitinka MOLAP duomenų saugojimo modelį), ar bus gaunami iš faktų lentelė (ROLAP ar HOLAP). Kubo duomenis peržiūrinčiam vartotojui nėra jokio skirtumo, koks duomenų saugojimo modelis naudojamas kube.

Analizės servisai saugo tik paprasčiausių agreguojančių funkcijų agreguotus duomenis (sumas, įrašų skaičių minimalias ir maksimalias reikšmes). Tačiau esant reikalui galima sudaryti taip vadinamus skaičiuojamus elementus (angl. calculated members) panaudojant žymiai daugiau analitinių funkcijų.

Sukūrus keletą kubų, turinčių tas pačias dimensijas, juos galima sugrupuoti į vieną daugiamatę duomenų bazę, o dimensijas apjungti į vieną biblioteką (angl. library). Tokios dimensijos bus prieinamos visiems kubams (angl. shared dimensions)

Galiausiai Analizės servisai leidžia sudaryti taip vadinamus virtualius kubus, kurie yra vaizdų (angl. views) analogas reliacinėje duomenų bazėje.

5.1.3. Pivot Tables komponentas

Tai yra COM+ komponentas, kurį galime panaudoti į Microsoft Office paketą įeinančiose ofiso programose, pavyzdžiui Excel. Jis leidžia prisijungti prie Analizės serveryje saugomų duomenų kubų, vykdyti čia daugiamačių duomenų (MDX) užklausas ir pateikia duomenis lenteline forma arba grafikais. Šio komponento privalumas, kad jis pilnai integruojasi į tokias vartotojams įprastas programas kaip Microsoft Excel. Juo paprasta naudotis tiems, kas turi bent bazines šios taikomosios programos. Šis komponentas leidžia keisti kubo dimensijas, kubo detalumus (atlikti einančias gilyn (angl. drill-down), ir apibendrinančias (angl. drill-up) užklausas). Grafinės ataskaitos vaizdas, gautas naudojant Pivot Tables komponentą Microsoft Excel taikomojoje programoje, pateiktas 5 paveiksle.

– 26 –

Page 28: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Lyginamoji OLAP priemonių analizė ir taikymas interneto svetainėse

0

50000

100000

150000

200000

250000

300000

2clu

b

2con

tent

2film

s

2for

um 2fun

2girl

s

2mes

sagi

ng

2nav

i

2not

ice

2sm

s

2use

r

2uzs

ak

3clu

b

3for

um

4clu

b

4con

tent

addo

n

cont

ent

flirt

mai

n

navi

revi

ew sh

2003 - May2003 - April

Click

Module Name

YearMonth

5 pav. Grafinė ataskaita Microsoft Excel taikomojoje programoje

5.2. Oracle serverio priemonės

Bendra sistemos architektūra, naudojant Oracle serverio analitinio duomenų apdorojimo priemones pateikta 5 paveiksle.

5 pav. Sistemos architektūra naudojant Oracle priemones

5.2.1. Duomenų saugyklų kūrėjas (angl. Warehouse Builder)

Saugyklų kūrėjas yra bendra duomenų saugyklų ir verslo analizės sistemų projektavimo ir realizacijos priemonė. Joje apjungiami pagrindiniai duomenų išgavimo, transformacijos ir įdėjimo (ETL) komponentai ir projektavimo aplinka.

Saugyklų kūrėjas architektūriškai susideda iš dviejų komponentų: kūrimo ir vykdymo aplinkų. Kūrimo aplinka dirba su saugyklos metaduomenis, o vykdymo aplinka su fiziniais duomenimis.

• Pagrindinės saugyklų kūrėjo funkcijos: • Duomenų šaltinių aprašų importas. • Duomenų bazės schemos projektavimas ir kūrimas • Duomenų perkėlimo ir transformavimo tarp šaltinio ir imtuvo aprašymas • Priklausomybių tarp ETL procesų aprašymas • Duomenų šaltinių aprašymų tvarkymas ir atnaujinimas • Analitinių (ad-hoc) užklausų aplinkos kūrimas • OLAP aplinkos kūrimas

Saugyklų kūrėjas generuoja DDL ir PL/SQL kodus kurie vėliau vykdomi ORACLE duomenų bazėse. Šie kodai optimizuojami, norint pasiekti kuo didesnį duomenų bazės produktyvumą.

5.2.2. Kubų kūrimo priemonės OEM konsolėje

Visi pagrindiniai ORACLE duomenų bazės administravimo bei duomenų struktūrų keitimo veiksmai gali būti atliekami naudojant vieningą administravimo priemonę – OEM (angl. Oracle Enterprise Management) konsolę. Ji taip pat leidžia kurti OLAP dimensijas bei kubus. Kuriant šiuos OLAP objektus galima naudotis vedliais (angl. wizards). Į OEM programinių priemonių sudėtį įeina ir duomenų kubų peržiūros priemonė Cube Viewer. Jos pagalba galima peržiūrėti ką tik sukurtus duomenų kubus. ORACLE‘e duomenų bazėje kubai neperkeliami į kitą saugyklą (naudojamas HOLAP). Todėl kubus galima peržiūrėti vos tik juos sukūrus. Nereikia jokio papildomo duomenų

– 27 –

Page 29: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

M. Vilimas, L. Nemuraitė

perkėlimo (angl. cube processing). Kubų peržiūroms pagreitinti naudojamos specialios ORACLE duomenų bazės tarpinės lentelės – Materializuoti vaizdai (angl. Matherialized Views). Juose gali būti saugomos visos iš anksto paskaičiuotos kubų sumos.

5.2.3. „BI Beans“ OLAP prieiga

BI Beans tai JAVA komponentų rinkinys leidžiantis naudotis ORACLE OLAP API (programinę prieigą). Šie komponentai turi vizualias duomenų kubų atvaizdavimo priemones. Juos galima naudoti tiek įprastinėse JAVA programose tiek JSP technologijos pagalba rašomose internete veikiančiose programose. Grafinės ataskaita interneto sistemoje pateikta 6 paveiksle.

6 pav. Grafinė ataskaita interneto sistemoje

6. Analitinio duomenų apdorojimo priemonių palyginimas 6.1. OLAP priemonių įgyvendinimas 1 lentelė. Pagrindiniai priemonių architektūrinio įgyvendinimo skirtumai

Savybė MSSQL Oracle Daugiamačių duomenų saugyklos vieta

Atskiras servisas (Analizės servisai)

Reliacinėje ORACLE duomenų bazėje

Užklausų vykdymo mechanizmas Vykdomos analizės servisuose Vykdomos pagrindinės duomenų bazės branduolyje

Microsoft SQL serverio analizės serveriai praktiškai yra atskirti nuo paties DBVS serverio. Tuo tarpu ORACLE kompanija renkasi kitokią strategiją ir naujausioje duomenų bazės versijoje Oracle9iR2 OLAP serverį integravo į pagrindinės duomenų bazės branduolį (1 lentelė). Šis sprendimas suteikia tokius privalumus lyginant su dviejų atskirų (reliacinės ir daugiamatės) bazių naudojimu:

• Supaprastėjęs konfigūravimas ir priežiūra. Visi priežiūros veiksmai atliekami vienoje duomenų bazėje, naudojant vieną programinę priemonę: angl. Oracle Enterprise Manager, PL/SQL konsolę ar k.t.

• Aukštas patikimumas. Oracle OLAP turi tas pačias plėtimo bei prieigos galimybės kaip ir Oracle reliacinė duomenų bazė. Oracle OLAP patikimumas yra labai aukštas. Ši sistema gali veikti realiuose sistemų klasteriuose.

• Aukštas saugumo lygis. Oracle užtikrina vieningą saugumo mechanizmą visiems duomenims esantiems duomenų bazėje. Tai taikoma ir daugiamačiams kubams. Informacija apie visus reliacinės ir daugiamatės

– 28 –

Page 30: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Lyginamoji OLAP priemonių analizė ir taikymas interneto svetainėse

duomenų bazės vartotojus saugoma bendrame kataloge, jiems bendrai suteikiamos atitinkamos rolės ir privilegijos.

• Atvira prieiga. Ir reliaciniai ir daugiamačiai duomenys gali būti pasiekiami per SQL arba OLAP API. Programų kūrėjai gali rinktis, ar naudoti OLAP API teikiamus privalumus ar kreiptis į duomenų bazę naudojant paprastas SQL užklausas.

6.2. Duomenų perkėlimo bei transformavimo priemonės

Duomenų perkėlimo bei transformavimo priemonių MS SQL serveryje ir Oracle lyginamoji analizė pateikta 2 lentelėje.

2 lentelė. Duomenų perkėlimo ir transformavimo priemonių skirtumai

Savybė DTS (MS SQL) Saugyklų kūrėjas (ORACLE) Pagrindinės metaduomenų saugyklos vieta

MSSQL duomenų bazė (msdb) ORACLE duomenų bazė (schema bet kurioje bazėje)

Galimos alternatyvios metaduomenų saugojimo vietos

Struktūriniai failai, VisualBasic failai

Struktūriniai failai, OMG CWM standartą suprantančios sistemos

Objektų vykdymo vieta Operacinė sistema (Windows) Duomenų bazė (Oracle) Naudojamos programavimo kalbos VB script PL/SQL

Didžiausias skirtumas tarp ETL priemonių įgyvendinimo MS SQL ir Oracle yra šiomis priemonėmis sukurtų objektų vykdymo būdas. DTS (duomenų transformavimo servisų) objektai vykdomi operacinėje sistemoje. Taikant tokį vykdymo būdą sumažinama duomenų bazės apkrova bei supaprastinamas šių objektų įdiegimas, tačiau atsiranda daug kitų problemų:

• Tinklo apkrovimas (jei objektai vykdomi ne toje pačioje sistemoje kurioje yra duomenų bazės). • Prisijungimų prie duomenų bazių nevienareikšmiškumas. Objektai gali būti vykdomi bet kuriame

kompiuteryje kuriam leidžiama prisijungti prie duomenų bazių serverio saugančio DTS. Tačiau jungiantis iš skirtingų potinklių prisijungimų aprašai esantys DTS‘uose gali skirtis. Tokiu atveju duomenų šaltiniai ar imtuvai bus nepasiekiami, arba dar blogiau, bus naudojami ne tie šaltiniai ar imtuvai kuriuos DTS kūrėjas buvo numatęs naudoti.

• Vieningos vykdymo terpės nebuvimas. Nėra apsaugos nuo situacijos, kai tas pats objektas dviejuose skirtinguose kompiuteriuose vykdomas tuo pačiu metu. Tokiu atveju imtuvo duomenys gali būti negrįžtamai sugadinami.

Oracle ETL priemonėje „Saugyklų kūrėjas“ (angl. Warehouse Builder) išvengiama aukščiau išvardintų problemų. Tačiau sukurtų objektų diegimas (ir vykdymas) yra žymiai sudėtingesnis.

Lyginant funkcines šių dviejų ETL priemonių savybes, Warehouse Builder turi didesnes iš anksto sukurtų transformacijų bibliotekas ir leidžia transformacijų pagalba gauti daugiau duomenų bazės objektų tipų. (ne tik lenteles ir vaizdus (angl. view), bet ir dimensijas, kubus ir k.t.)

6.3. Kubų peržiūros per WEB galimybės

3 lentelė. Kubų peržiūros per WEB galimybės

Savybė Pivot Tables servisas BI beans Jungimosi prie DB būdas Per WEB servisą iš kliento pusės Tiesiogiai prie DB iš serverio Serverio pusės objektai Neturi Turi lenteliniai ir grafiniai

pateikimo formai Kliento pusės objektai Turi lentelinei ir grafinei duomenų

pateikimo formai Neturi

ORACLE priemonės yra universalesnės, nes norint jomis naudotis nereikia jokių papildomų komponentų kliento pusėje. Duomenis peržiūrėti galima su bet kokia Interneto naršykle, palaikančia HTML ir JavaScript. Tuo tarpu norint peržiūrėti „Pivot Tables“ komponentu paremtus WEB puslapius, šis komponentas turi būti kiekvieno kliento kompiuteryje (instaliuojamas kartu su Office XP). Kadangi komponentas pasiekiamas naudojant COM+, jis gali būti matomas tik Internet Explorer 5.0 (arba naujesnėje) naršyklėje. Naudojant tokį modelį kiekviename

– 29 –

Page 31: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

M. Vilimas, L. Nemuraitė

kompiuteryje turį būti Office XP (kurio reikia norint naudoti „Pivot Tables“ komponentą) licenzijuota versija. Taigi tuo atveju, kai turime daug darbo vietų tokios technologijos naudojimas yra žymiai brangesnis nei technologijos paremtos „BI beans“.

6.4. Kubų peržiūros naudojant ofiso programas galimybės

4 lentelė. Kubų peržiūros galimybės naudojant ofiso programas

Savybė MSSQL Oracle Kubo peržiūra MS Excel pagalba „Pivot Tables“ komponentas Neturi

Plačiausiai naudojama ofiso analizės programa Microsoft Excel yra to paties gamintojo kaip ir SQL serveris. Taigi šie produktai gali būti integruojami duomenų lygyje. „Pivot Tables“ komponento pagalba MS Excel programoje galima peržiūrėti analizės servisuose saugomus kubus. Oracle priemonės tokių galimybių neturi (6.7 lentelė).

7. Išvados

Straipsnyje supažindinama su analizei naudojamu daugiamačiu duomenų modeliu ir pateikiama bendra metodika, kaip perkelti svetainėse kaupiamus duomenis į šiuolaikinių DBVS analizės įrankius. Pagal šią metodiką sukurti du prototipai, kurių pagalba atliktas plačiai naudojamų MS SQL Server ir Oracle analizės priemonių galimybių tyrimas ir nustatyti šių įrankių trūkumai bei privalumai:

MSSQL privalumai ir trūkumai Privalumai:

• Lengviau instaliuojamas. • Mažesnė kaina už panašaus funkcionalumo paketą. • OLAP priemonės gali būti prieinamos naudojant plačiausiai paplitusius biuro programinės įrangos rinkinius

Microsoft Office 2000 ir Microsoft Office XP. • Mažesnės dokumentacijos apimtys.

Trūkumai: • Veikia tik Windows operacinėje sistemoje. • Ne itin patogios OLAP priemonėmis sukurtų ataskaitų pateikimo Interneto svetainėje galimybės. • Nėra bendro reliacinės duomenų bazės ir daugiamatės duomenų bazės serverių saugumo mechanizmo.

ORACLE privalumai ir trūkumai Privalumai:

• Veikia beveik visose plačiau paplitusiose operacinėse sistemose. • Lankstesnė architektūra. Didesnis instaliavimo ir konfigūracijos variantų pasirinkimas, daugiau procesų

galima paskirstyti keliems kompiuteriams. • Patogios OLAP priemonėmis suformuotų ataskaitų pateikimo Interneto svetainėje priemonės. Ataskaitas

galima peržiūrėti bet kokia naršykle. • OLAP serverio integravimas į pagrindinį duomenų bazės serverį užtikrina didesnį saugumą ir sistemos

stabilumą. Trūkumai:

• Sudėtingiau instaliuoti ir konfiguruoti. • Didelė kaina. • Nėra integravimo į biuro programų paketus priemonių.

Literatūros sąrašas [1] Федоров A., Елманова H.. Введение в OLAP: часть 3. Архитектура Microsoft Analysis Services. КомпьютерПресс

6, 2001. [2] Oracle Corporation. Oracle9i Warehouse Builder User’s Guide Release 2 (9.2). 2003-07, p.41-49. [3] Oracle Corporation. Oracle9i OLAP User’s Guide Release 2 (9.2) 2002-03, p. 39-48.

– 30 –

Page 32: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Lyginamoji OLAP priemonių analizė ir taikymas interneto svetainėse

[4] Datta A., Thomas H. The cube data model: a conceptual model and algebra for on-line analytical processing in data warehouses // Decision Support Systems, Vol. 27, 1999, p. 289–301

Olap for Web Data Analysis

In current paper the multidimensional data model is described which is used for analysis of data in Data Warehouses and OLAP. The possibilities to analyse data gathered from Web sites are studied and methodological framework for transfer of these data to OLAP tools is defined. Comparative analysis of Microsoft SQL Server and Oracle OLAP tools is presented.

– 31 –

Page 33: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

ELEKTRONINIO VERSLO PROCESŲ MODELIAVIMO IR TINKLO PASLAUGŲ KŪRIMO METODIKA

Lina Nemuraitė, Aidas Oželis Kauno Technologijos Universitetas

Informacijos sistemų katedra, Studentų 50-308

Straipsnyje analizuojama verslo procesų vykdymo kalba BPEL4WS, skirta verslo procesams automatizuoti tinklo paslaugų technologijų pagrindu. Tai viena naujausių verslo modeliavimo kalbų, jungianti struktūrinio ir srautinio modeliavimo metodus. Straipsnyje pateikta UML verslo modelių transformavimo į BPEL4WS metodika, kuri pritaikyta įgyvendinant eksperimentinę B2B sistemą, automatizuojančią tiekimo procesą.

1. Įvadas

Šiuolaikinės e.verslo sistemos turi leisti bendradarbiauti bet kam su bet kuo. Tai reikalauja automatizuoto įvairių duomenų tipų bei verslo logikos palaikymo. Šiam tikslui reikia sukurti išplečiamas tarpininkavimo paslaugas XML pagrindu. Tokios paslaugos teikiamos keičiantis XML dokumentais Web servisų pagalba. Verslo procesų automatizavimas reikalauja kurti procesų pagrindu veikiančias programas (process-based applications). Tai tokios programos, kurių struktūra dalijama į du atskirus sluoksnius: viršutinis sluoksnis – verslo proceso sluoksnis – XML kalba aprašyta programos vykdymo logika (šiame darbe ji aprašoma Business Process Execution Language (BPEL)), o apatiniame sluoksnyje esantys Web servisai atitinka programos funkcinę logiką ir yra vykdomi pagal viršutinio sluoksnio scenarijų.

Tokia architektūra turi keletą ženklių privalumų: tiek verslo procesą, tiek pačius Web servisus galima keisti ir modifikuoti, jiems tiesiogiai neįtakojant vienas kito. Tai suteikia sistemai labai didelį lankstumą, kas svarbu sąveikaujant su kitomis sistemomis bei įmonėmis.

Automatizuotų elektroninio verslo procesų kūrimas reikalauja ne tik išsamios verslo srities analizės bei aiškaus Web servisų kūrimo technologijų suvokimo, bet ir efektyvios metodikos, leidžiančios taikliai nustatyti verslo sąveikų tipus, dalyvius bei proceso veiklų sekas, efektyviai organizuoti jų vykdymo eiliškumą.

2. Vykdomosios elektroninio verslo kalbos BPEL4WS apžvalga 2.1. Tinklo paslaugų kompozicija į procesus BPEL4WS kalboje

Web servisų esmė yra universalus programų sąveikavimas naudojant egzistuojančius interneto standartus. Technologiniu požiūriu Web servisai sudaryti iš trijų lygmenų, kurių kiekvienas atsakingas už atskiras Web serviso funkcionavimo sritis:

UDDI – The Universal Description, Discovery, and Integration – klientams teikia Web Servisų suradimo ir registravimo paslaugas. Naudojant UDDI interfeisą, galima dinamiškai susirasti reikalingus ar partnerio siūlomus Web Servisus.

WSDL – Web Services Description Language – apibūdina Web serviso prieigą ir protokolus. SOAP – Simple Object Access Protocol – pranešimų schema, apibūdinanti vienodą XML aprašytų duomenų

siuntimą ir transportavimo formatą. Sistemų sąveikai reikia daugiau nei galimybės paprastai sąveikauti, naudojant standartinius protokolus. Web

servisų technologija kaip įkomponavimo platforma įgyja pilną potencialą tik tuomet, kai programos bei verslo procesai gali integruoti sudėtingas sąveikas, naudodami standartizuotą procesų sujungimo modelį. WSDL teikiamas sąveikos modelis iš esmės yra būsenų neišsaugančių (stateless) sinchroninių ar nesusijusių asinchroninių sąveikų modelis. Verslo procesų sąveikos modeliai reikalauja sinchroninių bei asinchroninių pranešimų apsikeitimo, išsaugant būseną ilgai trunkančiose sąveikose, apimančiose du ar kelis partnerius. Tokių sąveikų apibrėžimui reikalingas formalus pranešimų apsikeitimo protokolo apibrėžimas. Tokių verslo protokolų apibrėžimas apima tikslias visiems proceso dalyviams matomų pranešimų apsikeitimų specifikacijas, neatskleidžiančias jų vidinio realizavimo.

Business Process Execution Language For Web Services – BPEL4WS (sutrumpintai BPEL) suteikia galimybę specifikuoti verslo procesus ir jų sąsają su Web servisais. Ši kalba jungia ankstesnes IBM Web Services Flow

– 32 –

Page 34: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Elektroninio verslo procesų modeliavimo ir tinklo paslaugų kūrimo metodika

Language – WSFL bei Microsoft XLANG specifikacijas į bendrą standartą, kurio tikslas yra tapti visuotinu Web servisų komponavimo standartu.

Vidinio (privataus) procesų realizavimo atskyrimas nuo viešos proceso elgsenos aprašo turi dvi priežastis. Pirmoji yra akivaizdi, jog nėra norima verslo partneriams atskleisti vidinių sprendimų priėmimo bei duomenų tvarkymo aspektų. Kita priežastis yra ta, jog atskirta privačių procesų realizacija gali laisvai kisti, neįtakodama paties verslo protokolo.

BPEL4WS naudoja pranešimų savybių notaciją identifikuoti su pačiu protokolu susijusią informaciją. Savybės gali būti traktuojamos kaip „skaidrūs“ duomenys, kurie siejasi su viešaisiais protokolo aspektais, priešingai nei „nematomi“ duomenys, naudojami vidinėse/privačiose funkcijose. Skaidrūs duomenys veikia viešą verslo protokolą tiesiogiai, o nematomi duomenys pirma apdorojami vidinėse „back-end“ sistemose ir jų įtaka verslo protokolui neapibrėžiama, kadangi sprendimų priėmimo būdas yra neatskleidžiamas. Iš esmės protokolo vykdymą įtakojantys duomenys turi būti skaidrūs, t.y. traktuojami kaip savybės. Pavyzdžiui, užsakymo protokole pardavėjas turi servisą, kuris priima užsakymą ir siunčia sutikimą ar nesutikimą jį vykdyti priklausomai nuo įvairių kriterijų (prekių buvimo sandėlyje, pasitikėjimo pirkėju). Žinoma, sprendimo priėmimo procesas yra nematomas, tačiau viešame verslo protokole sprendimo faktas turi būti atvaizduotas kaip elgsenos alternatyvos. Kitaip tariant, protokolas turi turėti pasirinkimo veiksmą pardavėjo serviso elgsenoje, tačiau kaip pasirenkama, lieka neapibrėžta. Tokį neapibrėžtumą galima modeliuoti, leidžiant priskirti nematomus duomenis pranešimo savybei, dažniausiai iš išvardintų galimų variantų aibės. Savybė tuomet gali būti panaudota apibrėžiant sąlyginį elgesį, apimantį elgsenos alternatyvas, neatskleidžiančias paties sprendimo priėmimo proceso. BPEL4WS leidžia parodyti viešą elgseną ir paslėpti privačius aspektus, naudojant neapibrėžtus duomenis.

Pagrindinės BPEL4WS sąvokos pritaikomos dviem būdais. Naudojant abstraktaus proceso notaciją, BPEL4WS procesas gali apibrėžti verslo protokolo rolę. Pavyzdžiui, tiekimo grandinės protokole pirkėjas ir pardavėjas yra dvi atskiros rolės, kiekviena su savais abstrakčiais procesais. Ryšys tarp šių rolių modeliuojamas kaip serviso sąsaja (service link). Abstraktūs procesai apdoroja tik su protokolu susijusius duomenis. BPEL4WS teikiamas su protokolu susijusių duomenų identifikavimo būdas yra pranešimų savybės (message properties). Abstraktūs procesai naudoja neapibrėžtus duomenis tam, kad paslėpti privačius elgsenos aspektus.

BPEL4WS taip pat leidžia apibrėžti vykdomąjį verslo procesą (executable business process). Proceso logika bei būsena nustato Web servisų vykdymo seką. Taip apibrėžti procesai nuosekliai vykdomi nepriklausomai nuo platformos, patį procesą realizuoja programavimo kalba skirtinguose sąveikaujančiuose partnerių Web servisuose. BPEL4WS duoda modelį ir sintaksę apibrėžti verslo procesų elgsenai, paremtai sąveika tarp partnerių ir paties proceso. Sąveika su kiekvienu partneriu vyksta per Web servisų interfeisus, o ryšio tarp partnerių struktūra apibrėžiama servisų sąsajomis (service link). BPEL4WS taip pat apibrėžia, kaip suderinti sudėtines sąveikas, logiką bei būsenas, būtinas tokiam suderinimui. Taip pat yra nustatytas mechanizmas apibrėžti išimtinėms situacijoms bei klaidų apdorojimui, ir kas svarbiausia, yra nustatytas mechanizmas apibrėžti kaip kompensuoti įvykdytus veiksmus, kurių vykdymo metu buvo klaidos ar išimtinės situacijos.

BPL4WS sluoksnis yra aukščiau kitų XML specifikacijų: WSDL, XML Schema bei XPath. WSDL pranešimų ir XML Schema tipų apibrėžimai sudaro duomenų modelį, kurį naudoja BPEL4WS procesai. XPath naudojamas duomenų manipuliavimui. Visi išoriniai resursai bei partneriai yra vaizduojami kaip WSDL servisai.

2.2. BPEL4WS struktūra

BPL4WS susideda iš dviejų pagrindinių dalių: WSDL pranešimų ir XML Schema tipų apibrėžimų bei paties proceso apibrėžimo. BPL4WS naudoja tik dalį WSDL specifikacijos duomenims apibrėžti: kokie pranešimai bus siunčiami, kokios operacijos bus vykdomos ir kokiems portų tipams priklauso tos operacijos. Tokiu būdu BPL4WS procesas tampa Web servisu. 1 pav. pavaizduota BPEL4WS naudojama WSDL struktūros dalis.

BPL4WS WSDL apibrėžimas yra išplečiamas serviso ryšiu (service link). Serviso ryšio tipas apibūdina ryšį tarp dviejų servisų apibrėžiant roles, kurios dalyvauja servisų sąveikoje bei nurodo tų rolių portų tipus. Užsakymų priėmimui naudojamas serviso ryšys:

<slnk:serviceLinkType name="PirkimoUzsakymoProcesas:Saskaita"> <slnk:role name="SaskaitosServisas"> <slnk:portType name="Uzsakymas:KainosSkaiciavimas"/> </slnk:role> <slnk:role name="SaskaitosUzklausimas"> <slnk:portType name="Uzsakymas:SaskaitosAtsakymas"/> </slnk:role> </slnk:serviceLinkType>

– 33 –

Page 35: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

L. Nemuraitė, A. Oželis

Nurodžius vieną rolę serviso ryšio apibrėžime, reiškia, kad servisas gali turėti ryšį su bet kokiu kitu servisu. Taigi XML Schema tipai, WSDL pranešimai (messages), operacijos, portų tipai bei servisų ryšiai apibrėžia proceso duomenis ir užrašomi į *.wsdl failą.

BPEL4WS naudojami WSDL elementai

1 pav. BPEL4WS naudojami WSDL struktūros elementai

1.1 BPEL4WSspecifikacijoje pakeista įVariable

2 pav. BPEL4WS proceso komponentai

– 34 –

Page 36: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Elektroninio verslo procesų modeliavimo ir tinklo paslaugų kūrimo metodika

2.3. BPEL4WS proceso sudėtis

Surašius visus proceso reikalavimus į *.wsdl failą toliau kuriamas pats procesas. Proceso apibrėžimas rašomas <process> elemente. Po to dažniausiai seka WSDL bei XML Schemų importavimas. BPEL4WS proceso komponentai pavaizduoti 2 paveiksle.

Sekančiu žingsniu apibrėžiami proceso dalyviai. Kiekvienas partneris apibūdinamas nurodant serviso ryšio tipą. Svarbu atkreipti dėmesį į myRole/partnerRole atributą. Šis atributas nurodo, kaip sąveikauja partneris su procesu per nurodytą serviso ryšio tipą. myRole nurodo, kokią serviso ryšio rolę atliks procesas, o partnerRole – atitinkamo partnerio rolę. Be to, BPEL4WS partnerių kiekis nebūtinai turi atitikti realų partnerių skaičių, jis gali būti didesnis, kai partneris atlieka keletą funkcijų, jis skaidomas į keletą partnerių. Užsakymo vykdymo BPEL4WS proceso apraše partneriai pavaizduoti 3 paveiksle.

<partners>

<partner name="Klientas" xmlns:ns1="http://localhost/Tiekejas/PirkimoUzsakymoProcesas/" serviceLinkType="ns1:Uzsakymas" myRole="UzsakymoServisas"/>

<partner name="SaskaitosSiuntimas" xmlns:ns2="http://localhost/Tiekejas/PirkimoUzsakymoProcesas/" serviceLinkType="ns2:saskaita" myRole="SaskaitosUzklausimas" partnerRole="SaskaitosServisas"/>

<partner name="pristatymoSiuntimas" xmlns:ns3="http://localhost/Tiekejas/PirkimoUzsakymoProcesas/" serviceLinkType="ns3:Pristatymas" myRole="pristatymoUzklausimas" partnerRole="Pristatymas"/>

<partner name="grafikoSiuntimas" xmlns:ns4="http://localhost/Tiekejas/PirkimoUzsakymoProcesas/" serviceLinkType="ns4:Grafikas" partnerRole="Grafikas"/>

</partners>

<partners>

3 pav. Proceso partnerių BPEL aprašas

Apibrėžus partnerius, toliau galima aprašyti proceso veiklas (activities): <receive>, <reply>, <invoke>, <assign>, <throw>, <terminate>, <wait>, <empty>, <sequence>, <switch>, <while>, <pick>, <flow>, <scope>, <compensate>. 4 paveiksle pavaizduoti veiklų tipai bei struktūra.

Procesas gali turėti tik vieną veiklą, o veiklos gali susidėti iš kitų veiklų. „sequence” veikla reiškia, kad šiame elemente išvardintos veiklos bus vykdomos nuosekliai. Procesas

dažniausiai turi „sequence” veiklą ir joje išvardinamos kitos veiklos. Sąveikai su kitais Web servisais ir BPEL4WS procesu naudojamos trys veiklos: „receive“, „invoke“ ir „reply“.

Jos yra pagrindinės BPEL4WS veiklos. Kiekvienai veiklai nurodžius porto tipą, operaciją bei partnerį, apibrėžiamas konkretus kreipimasis į Web servisą. „invoke“ veikla naudojama, kai procesas kreipiasi į kitus Web servisus ir papildomai reikia nurodyti įėjimo bei išėjimo kintamuosius (variable, 1,0 versijoje container), kurie yra kviečiamos operacijos įėjimo-išėjimo parametrai. Kreipimasis gali būti sinchroninis ar asinchroninis.

Verslo procesas savo paslaugas teikia per „receive“ ir „reply“ veiklas. „receive“ atitinka tam tikros WSDL operacijos įėjimo parametrus. Jei šis kvietimas reikalauja atsakymo, būtina sukurti „reply“ veiklą, kuri atitinka proceso išėjimo parametrus.

Duomenų manipuliacijos vyksta „assign“ veikloje, kurioje galima kopijuoti duomenis iš vieno kintamojo į kitą, taip pat įterpti ar konstruoti duomenis naudojant XPath išraiškas. Kintamojo savybes galima gauti parašius šią išraišką:

bpws:getVariableProperty ('variableName', 'propertyName')

Šių bazinių veiklų vykdymo eigą kontroliuoja struktūrinės veiklos, kurios apibūdina proceso struktūrą komponuojant bazines veiklas į struktūras, atitinkančias valdymo šablonus, duomenų srautus, klaidų gaudymą, pranešimų koordinavimą tarp protokolo procesų.

„sequence“ veikloje esančios veiklos vykdomos nuosekliai tokia tvarka, kokia jos yra surašytos. „switch“ veikla atitinka tradicinių programavimo kalbų „switch“ išraišką, kai vykdymui iš veiklų sąrašo

parenkama viena veikla, atitinkanti <case> elemente nurodytą XPath išraiškos sąlygą. „while“ veikla atlieka veiklas tol, kol įvykdoma XPath nurodyta sąlyga. „pick“ veikla sudaryta iš įvykių apdorojimo elementų (event handlers), kurių kiekvienas turi po vieną veiklą.

Įvykus kuriam nors įvykiui, bus vykdoma atitinkama veikla. „scope“ veikla grupuoja joje esančias veiklas į tam tikrus loginius vienetus, kurie atitinkamai reaguoja į klaidas. „flow“ yra viena iš sudėtingesnių veiklų, naudojama lygiagrečiam veiklų vykdymui kontroliuoti. Kiekvienai

veiklai sukuriami ryšiai su kitomis veiklomis, ant kurių galima užrašyti vykdymo sąlygas XPath išraiška (guard condition).

– 35 –

Page 37: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

L. Nemuraitė, A. Oželis

Container 1.1 BPEL4WSspecifikacijoje pakeista įVariable

4 pav. BPEL4WS veiklų tipai ir struktūra

3. BPEL4WS procesų vaizdavimas UML

Automatizuoto verslo proceso sąvoka naudojama, turint omenyje laisvai susietų programinės įrangos kompo-nentų sąveiką, realizuojančią santykinai ilgai trunkančias verslo užduotis. BPEL4WS kalba skirta automatizuotiems verslo procesams ir jų vykdymo semantikai apibrėžti. Ji naudoja XML žymėjimus.

Verslo analitikams labiau prieinamos ir suprantamos yra aukštesnio konceptualiojo lygio kalbos, pavyzdžiui, UML. Todėl šiame darbe buvo nagrinėjama, kaip atvaizduoti BPEL ir Web servisais realizuojamus daugelio partnerių procesus UML modeliais. Nagrinėjamas vykdomasis (executable) automatizuoto verslo proceso pavyzdys yra pirkimo užsakymo vykdymo procesas. Šis procesas, gavęs pirkimo užsakymą iš pirkėjo-tarpininko, sukuria tris lygiagrečias veiksmų sekas, kurios vykdomos pas skirtingus verslo partnerius: galutinės kainos skaičiavimas, kurjerio parinkimas bei užsakymo įvykdymo ir pristatymo planavimas. Kai visos šios užduotys baigtos, siunčiama sąskaita pirkėjui.

3.1. Modelių struktūrizavimas

UML modeliai struktūrizuojami į paketus. UML paketai atitinka BPEL vardų erdves ar atitinkamus pakartotino panaudojimo vienetus. Paketai sugrupuoja tam tikrus komponentus suteikdami jiems bendrą vardų erdvę. Priklau-somybės tarp paketų vaizduojamos <<import>> tipo priklausomybėmis.

Modelio paketų hierarchija atitinka XML vardų laukų hierarchiją. Modelio vardas atitinka aukščiausio paketo vardą ir atitinkamai aukščiausio lygmens paketo vardą. Generuojant kodą iš modelio, tiems paketams, kurie siejasi su XSD ar WSDL elementais, sukuriami atitinkami failai. Protokolų paketams nauji failai nekuriami, o informacija talpinama WSDL faile, atitinkančiame viršutinį paketą. BPEL procesas rašomas į atskirą failą. 5 paveiksle pavaiz-duota nagrinėjamo proceso paketų hierarchija. Paketas „Uzsakymas“ bus sugeneruotas į failą Uzsakymas.wsdl, o „UzsakymoProcesas“ atitinka vardų lauko pavadinimą faile PirkimoUzsakymas.bpel.

– 36 –

Page 38: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Elektroninio verslo procesų modeliavimo ir tinklo paslaugų kūrimo metodika

«external»UzsakymoDuomenuTipai

Uzsakymas

UzsakymoProcesas

«import»

«import»

5 pav. Užsakymo proceso modelio paketų hierarchija

6 paveiksle pavaizduotas sugeneruoto Uzsakymas.wsdl failo fragmentas, iliustruojantis <<import>> priklauso-mybės tarp paketų realizavimą į vardų laukų importavimą.

<wsdl:definitions

targetNamespace="http://localhost/Tiekejas/PirkimoUzsakymoProcesas/Uzsakymas/"

xmlns:Uzsakymas="http://localhost/Tiekejas/PirkimoUzsakymoProcesas/Uzsakymas/"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

xmlns:UzsakymoDuomenuTipai="http://localhost/Tiekejas/PirkimoUzsakymoProcesas/UzsakymoDuomenuTipai/">

<wsdl:import namespace="http://localhost/Tiekejas/PirkimoUzsakymoProcesas/UzsakymoDuomenuTipai/" location="http://localhost/Tiekejas/PirkimoUzsakymoProcesas/UzsakymoDuomenuTipai.wsdl"/>

...............

6 pav. WSDL vardų laukų deklaravimo fragmentas

Modelis gali būti priklausomas nuo elementų, kurie apibrėžiami už modelio ribų. Tokie elementai vadinami išoriniais. Išorinių paketų komponentai yra apibrėžiami kitame modelyje arba yra specifiniai nuo platformos priklausomi elementai. Išorinius paketus labai patogu naudoti vartotojo duomenų tipų sukūrimui. Nagrinėjamame procese išorinis paketas „UzsakymoDuomenuTipai“ turi stereotipą <<external>>, reiškiantį, kad paketo elementai apibrėžti ne modelyje. Šiuo atveju generuojamas UzsakymoDuomenuTipai.xsd failas su reikalingų tipų vardais, o jų apibrėžimas paliekamas vartotojui. Tai suteikia modeliui lankstumo. Užsakymo proceso duomenų tipų deklaracijos pavaizduotos 7 paveiksle.

<?xml version="1.0"?>

<xsd:schema

targetNamespace="http://localhost/Tiekejas/PirkimoUzsakymoProcesas/UzsakymoDuomenuTipai/"

xmlns:UzsakymoDuomenuTipai="http://localhost/Tiekejas/PirkimoUzsakymoProcesas/UzsakymoDuomenuTipai/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:complexType name="PirkimoUzsakymas"/>

<xsd:element name="PirkimoUzsakymas" type=" UzsakymoDuomenuTipai:PirkimoUzsakymas"/>

<xsd:complexType name="KlientoInfo"/>

<xsd:element name="KlientoInfo" type=" UzsakymoDuomenuTipai:KlientoInfo"/>

<xsd:complexType name="PristatymoInfo"/>

<xsd:element name=" PristatymoInfo " type=" UzsakymoDuomenuTipai: PristatymoInfo "/>

<xsd:complexType name="Saskaita"/>

<xsd:element name=" Saskaita " type="UzsakymoDuomenuTipai: Saskaita "/>

<xsd:complexType name="GrafikoInfo"/>

<xsd:element name=" GrafikoInfo " type="UzsakymoDuomenuTipai: GrafikoInfo "/>

</xsd:schema>

7 pav. „UzsakymoDuomenuTipai“ tipų deklaracijos

– 37 –

Page 39: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

L. Nemuraitė, A. Oželis

3.2. Web servisų vaizdavimas Automatizuotų verslo procesų sritis remiasi Web servisų srities koncepcijomis bei infrastruktūra. Esminis

automatizuotų procesų koncepcijos elementas yra tiesioginis (peer-to-peer) komunikavimas tarp Web servisų, kur ir procesas ir partneriai yra apibrėžti kaip atitinkami Web servisai.

Web servisų terminologijoje portų tipai apibrėžia susijusių operacijų aibę. Portų tipai UML diagramose vaizduojami kaip interfeisai. Operacijoms perduodami parametrai, kurių tipą nusako atitinkamo pranešimo tipas. Pranešimo tipas savo ruožtu turi kelias dalis, kurių tipas apibrėžtas duomenų tipu. Duomenų tipai modeliuojami kaip klasės su stereotipu <<data>>; pranešimų tipai modeliuojami kaip klasės su stereotipu <<messageContent>>. Pranešimų tipų modeliuoti nebūtina, jei jie susideda tik iš vienos dalies, tuomet tiesiog naudojamas duomenų tipas. Duomenų tipus derėtų kurti tik tuomet, kai jie prasmingai sugrupuoja keletą atributų ir naudojami ne tik vienoje operacijoje. Pranešimų tipus pravartu kurti, kai grupavimas turi prasmę tik operacijos kontekste. <<data>> klasių atributų tipai gali būti baziniai arba sukurti vartotojo. 8 pav. pavaizduoti nagrinėjamo proceso duomenų tipai, kurių atributai yra bazinių tipų. „Uzsk“ pranešimo tipas sudarytas iš dviejų vartotojo apibrėžtų dalių. <<data>> klasių atributai tiesiogiai siejami su XSD schemų atributais.

«external» UzsakymoDuomenuTipai

Uzsakymas

«messageContent» Uzsk

«data»PirkimoUzsakymas

+ pirkimoUzsakymas

«data» KlientoInfo

+ klientoInfo

«data» Saskaita

«data» UzsakymoKlaidosTipas

«data»Grafikas

«data» PristatymoInfo

«data» PristatymoUzklausimas

«import»

8 pav. Užsakymo proceso duomenų tipai

9 paveiksle pavaizduoti pranešimų tipų WSDL aprašai gauti generuojant kodą iš modelio.

<wsdl:message name="Uzsk">

<wsdl:part name="pirkimoUzsakymas" type="UzsakymoDuomenuTipai:PirkimoUzsakymas"/>

<wsdl:part name="klientoInfo" type="UzsakymoDuomenuTipai:KlientoInfo"/>

</wsdl:message>

<wsdl:message name="PristatymoInfo">

<wsdl:part name="part" type=" UzsakymoDuomenuTipai:PristatymoInfo"/>

</wsdl:message>

9 pav. WSDL operacijų pranešimų fragmentas

Kiekvienas paketas, turintis interfeisų, yra susiejamas su atskiru WSDL dokumentu. Kiekvienas paketo inter-feisas yra susiejamas su WSDL porto tipu atitinkamame WSDL dokumente. Kiekviena klasė su <<data>> stereotipu yra susiejama su XSD tipu, o kiekviena <<messageContent>> klasė siejama su WSDL pranešimo tipu. WSDL draudžia tiesiogiai naudoti XSD tipus kaip operacijų parametrus. Tam tikslui yra sugeneruojami pranešimų tipai su

– 38 –

Page 40: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Elektroninio verslo procesų modeliavimo ir tinklo paslaugų kūrimo metodika

viena dalimi iš tų <<data>> klasių, kurios yra panaudotos kaip operacijų parametrai. Tačiau jei reikalingas skirtingas tipų panaudojimas, būtina sukurti skirtingus pranešimus, nes bus generuojamas tik vienas pranešimo tipas.

Procesas dalyvauja protokole per kiekvieną iš savo portų. Protokolas susieja porą rolių ir vaizduoja jų sąveiką. Kiekviena rolė gali turėti kelis interfeisus reikalingus kitai rolei. 8 pav. pavaizduota UML klasių diagrama, vaizduojanti proceso duomenų tipus, išreikštus UML klasėmis, kurios yra naudojamos kaip operacijų parametrų tipai. Operacijas turi arba jos yra iškviečiamos per rolių interfeisus.

Užsakymo pakete taip pat yra ir užsakymo procesui reikalingi ar jo teikiami interfeisai, jie pavaizduoti 10 pav.

«interface»KainosSkaiciav imas

pradetiKianosSkaiciavima ( [in] uzsk : Uzsk )siustiPristatymoKaina ( [in] pristatymoInfo : PristatymoInfo )

«interface»PristatymoAtsakymas

siustiGrafika ( [in] grafikas : Grafikas )

«interface»PirkimoUzsakymas

siustiPirkimoUzsakyma ( [in] uzsk : Uzsk ) : Saskaita

«interface»SakaitosAtsakymas

siustiSaskaita ( [in] saskaita : Saskaita )

«interface»Pristatymas

uzklaustiPristatymo ( [in] pristatymoUzklausimas : PristatymoUzklausimas ) : PristatymoInfo

«interface»Grafikas

uzklaustiGamybosPlanavima ( [in] pristatymoInfo : PristatymoInfo )siustiPristatymoGrafika ( [in] grafikas : Grafikas )

10 pav. Užsakymo proceso naudojami interfeisai

11 paveiksle Iš „Uzsakymas“ paketo atitinkamai sugeneruotame Uzsakymas.wsdl faile bus sukurti tokie portų tipai, atitinkantys pavaizduotus interfeisus su jų operacijomis:

<wsdl:portType name="KainosSkaiciavimas">

<wsdl:operation name="pradetiKainosSkaiciavima">

<wsdl:input name="input" message="UzsakymoDuomenuTipai:Uzsk"/>

</wsdl:operation>

<wsdl:operation name="siustiPristatymoKaina">

<wsdl:input name="input" message="UzsakymoDuomenuTipai:PristatymoInfo"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:portType name="SaskaitosAtsakymas">

<wsdl:operation name="siustiSaskaita">

<wsdl:input name="input" message="UzsakymoDuomenuTipai:Saskaita"/>

</wsdl:operation>

</wsdl:portType>

11 pav. „Uzsakymas“ paketo WSDL fragmentas

12 paveiksle pavaizduoti protokolai, kuriuose pirkimo užsakymo procesas atliks tam tikras roles ir sąveikaus su partneriais, atliekančiais savas atitinkamas roles. Užsakymo proceso atliekamos rolės pavaizduotos kairiau. Kiekvienas protokolas atitinka paketo „Uzsakymas“ atitinkamą subpaketą, į kurį talpinamos protokolo rolės. Paketas „Uzsakymas“ apima ir protokolų naudojamas klases bei interfeisus.

Protokolai „Uzsakymas“ bei „Grafikas“ turi tik po vieną rolę teikiančią interfeisą, kita rolė apibūdina serviso užklausą. Protokolas „Saskaita“ turi „SaskaitosServisas“ rolę, kuri teikia „KainosSkaiciavimas“ interfeisą ir

– 39 –

Page 41: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

L. Nemuraitė, A. Oželis

reikalauja, kad sąveikaujanti rolė teiktų „SaskaitosAtsakymas“ interfeisą, būtiną asinchroniniam atsakymo pranešimui nusiųsti. Analogiška situacija protokole „Pristatymas“.

«protocol»Pristatymas

«protocol»Grafikas

«protocol»Saskaita

«protocol»Uzsakymas

KainosSkaiciav imas

SakaitosAtsakymas

PirkimoUzsakymas

Pristatymas

«role»GrafikoServ isas

«role»UzsakymoServ isas

«role»SaskaitosUzklausimas

«role»SaskaitosServ isas

«role»PristatymoServ isas

«role»PristatymoUzklausimas

Grafikas

«role»UzsakymoUzklausimas

«role»GrafikoUzklausimas

PristatymoAtsakymas «use»

«use»

«use»

«use»

«use»

«use»

12 pav. Pirkimo užsakymo protokolai bei rolės

saskaitosUzklausimas : «role» saskaitosSiuntimas : «role»

1 : pradetiKianosSkaiciavima ( uzsk )

2 : siustiPristatymoKaina ( pristatymoInfo )

3 : siustiSaskaita ( saskaita )

Kainos skaiciavimas gali buti pradetas kuomet uzsakymo deteles yra

Pristatymo kaina reikalinga skaiciavimo

Kai kainos skaiciavimas baigtas, siunciamasasinchroninis atsakymas

13 pav. Protokolo „Saskaita“ pranešimų sekų diagrama

Taigi ryšiui tarp verslo proceso ir partnerio realizuoti gali prireikti vienpusio ar abipusio pranešimų siuntimo. Protokolas susieja dvi viena kitą papildančias roles ir specifikuoja interfeisus, kuriuos teikia ar reikalauja kiekvieną rolė. Rolių struktūros modeliavimas nėra būtinas, tačiau dėl aiškumo kartais naudinga pavaizduoti teisingas pranešimų sekas. Sąveikų diagramos puikiai tinka tokiam atvaizdavimui. 13 paveiksle pavaizduota sekų diagrama,

– 40 –

Page 42: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Elektroninio verslo procesų modeliavimo ir tinklo paslaugų kūrimo metodika

detalizuojanti „Saskaita“ protokolą. Šiuo atveju tėra viena teisinga pranešimų seka, todėl vienos diagramos pakanka. Analogiška pranešimų seka vykdoma protokole „Pristatymas“.

Kiekvienas protokolo paketas UML modelyje susiejamas su BPEL serviso ryšio tipu. Protokolo rolės tampa serviso ryšio tipo rolėmis, o jų interfeisai tampa serviso ryšio tipo rolių portų tipais. 14 pav. pavaizduoti sugeneruoti servisų ryšio tipai

<slnk:serviceLinkType name="PirkimoUzsakymoProcesas:Saskaita">

<slnk:role name="SaskaitosServisas">

<slnk:portType name="Uzsakymas:KainosSkaiciavimas"/>

</slnk:role>

<slnk:role name="SaskaitosUzklausimas">

<slnk:portType name="Uzsakymas:SaskaitosAtsakymas"/>

</slnk:role>

</slnk:serviceLinkType>

14 pav. Užsakymo proceso servisų ryšių tipų fragmentas

3.3. Procesų vaizdavimas

Automatizuotas biznio procesas apibūdina kelių partnerių atliekamas su verslu susijusias užduotis. Procesas išlaiko būseną sąveikaudamas su keliais partneriais per apibrėžtus protokolus. Procesas gali sąveikauti per kelis protokolus su skirtingais partneriais, bei per tą patį protokolą su keliais partneriais.

15 pav. vaizduoja klasę „PirkimoUzsakymoProcesas“ su stereotipu <<process>>. Ši klasė atvaizduoja pirkimo užsakymo procesą. Procesas turi keturis portus, kurie apibrėžti ankstesniuose modeliuose. Portai atitinka keturis partnerius su kuriais sąveikauja procesas. Kiekvienas portas yra atitinkamo partnerio ryšio taškas su procesu. Per portą teikiami ar reikalaujami interfeisai yra apibrėžiami role, kurią procesas vykdo protokole. Portas vaizduojamas agregavimo ryšiu su stereotipu <<port>> nukreiptu į rolę, kurią vykdo procesas. Proceso būsena atvaizduota kaip „PirkimoUzsakymoProcesas“ klasės atributai, kurių tipai nurodyti pakete „Uzsakymas“ ar importuoti iš paketo „UzsakymoDuomenuTipai“.

UzsakymoProcesas

«Process»PirkimoUzsakymoProcesas

Uzsk : UzskpristatymoInfo : PristatymoInfopristatymoUzklausimas : PristatymoUzklausimaspristatymoGrafikas : PristatymoGrafikassaskaita : Saskaita

«role»Uzsakymas::UzsakymoServ isas

«role»Saskaita::SaskaitosUzklausimas

«role»Pristatymas::PristatymoUzklausimas

«role»Grafikas::GrafikoUzklausimas

+ saskaitosSiuntimas«port»

+ pristatymoSiuntimas«port»

+ grafikoSiuntimas«port»

Uzsakymas

+ klientas

«port»

«import»

15 pav. Užsakymo proceso struktūrinis modelis

– 41 –

Page 43: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

L. Nemuraitė, A. Oželis

16 paveiksle pavaizduota užsakymo proceso UML veiklos diagrama vaizduoja nagrinėjamo BPEL proceso portus, atitinkančius veiklos diagramos juostas (angl. swimlane). Veiklos, kurios apima pranešimų siuntimą ar gavimą partnerių Web servisams per kurį nors iš 4 portų (klientas, saskaitosSiuntimas, pristatymoSiuntimas, grafikoSiuntimas) yra pavaizduotos atitinkamoje porto juostoje. Rodyklės vaizduoja proceso veiklų vykdymo seką.

klientas «receive» gautiUzsk

«reply» grazintiSaskaita

sakaitosSiuntima

«invoke» pradetiKainosSkaiciavima

«invoke» siustiPristatymoKaina

«receive» gautiSaskaita

pristatymoSiuntimas

«invoke»uzklaustiPristatymo

«receive»gautiGrafika

grafikoSiuntimas «invoke»

uzklaustiGrafiko

«invoke» siustiPristatymoGrafika

«assign»pradetiPristatymoUzklausima

16 pav. Užsakymo vykdymo proceso UML veiklų diagrama

4. Automatizuotų procesų modeliavimo UML metodika

Automatizuotų procesų modeliavimo UML metodika pavaizduota 17 paveiksle.

BPEL proceso, bei WSDL failu uzkrovimas i BPEL4WS

varikliuka

Strukturiniu proceso WSDL failu papildymas fizine realizuotu web servisu

informacija

realizavimasWeb servisu

kurimasXML Schemu

Programuotojas

Veiklos dalyviu identifikavimas

Veiklos procesu identifikavimas

Verslo esybiu identifikavimas

Verslo analitikas

modeliavimasProceso eigos

modeliavimasstrukturos Proceso

projektavimasvienetu

Proceso duomenu

Sistemos architektas

17 pav. Automatizuotų procesų modeliavimo UML metodika

– 42 –

Page 44: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Elektroninio verslo procesų modeliavimo ir tinklo paslaugų kūrimo metodika

5. Išvados

Darbe analizuojama Web servisų komponavimo į automatizuotus verslo procesus problema, kurios sprendimas padėtų išnaudoti naujausių interneto technologijų potencialą ir paversti internetą globalia bendrai vykdomo verslo platforma. Analizuojama nauja BPES4WS kalba, kuri šiuo metu turi didžiausias perspektyvas Web servisų komponavimui, nes apima kelių ankstesnių kalbų savybes, o už labiausiai išvystytą ebXML standartą ji pranašesnė tuo, kad bendro verslo automatizavimui nereikalauja tiek daug standartų ir papildomų išteklių.

Išanalizuota BPEL4WS specifikacija bei vykdomų procesų modeliavimas su BPWS4J moduliu IBM Eclipse platformoje. Nors ši kalba turi dideles perspektyvas, į ją gilinasi programuotojai, mėgstantys naujoves, arba teoretikai. Kol kas nėra sukauptos jos naudojimo patirties nei taikymo metodikos, nėra praktinių pavyzdžių. Skirtingai nuo darbų sekų tipo procesų modeliavimo priemonių, ši kalba nėra intuityviai suprantama. Norint padaryti šią kalbą prieinamesnę analitikams, programuotojams ir projektuotojams, išnagrinėtos BPEL4WS procesų modeliavimo galimybės standartine UML kalba bei Rational Rose paketu ir sudaryta tam skirta metodika.

Sukūrus tam tikslui programines priemones, iš sudarytų verslo proceso modelių BPEL4WS scenarijus būtų galima generuoti automatiškai. Šiame darbe UML modeliai buvo panaudoti tradiciškai kaip gairės programuotojui. Buvo realizuotas eksperimentinis trijų dalyvių verslo procesas, kuris veikia BPWS4J varikliuke. Web servisai realizuoti Microsoft .NET platformoje ir ištestuoti tam sukurtu trasavimo mechanizmu.

BPEL4WS kalba ir modeliavimo įrankiai turėtų būti toliau tobulinami ir plečiami. Reikalinga vieninga proceso elementų notacija, nes vien UML stereotipai modelius daro painiais, o įvairių paketų (BizTalk, Collaxa, IBM Web Sphere) notacijas reikia suprasti kiekvieną atskirai. Būtina tobulinti ir modeliavimo aukštesniame lygyje metodiką, padaryti ją intuityviau suprantamą, užtikrinti modelio teisingumo tikrinimo galimybes. Didieji programinės įrangos gamintojai rodo didelį susidomėjimą, tačiau realiai veikiančių produktų kol kas nėra, todėl rinka vis dar atvira BPEL4WS modeliavimo produktams, procesų vykdymo varikliukams ar serveriams.

Būtų galima išvardinti tokius BPEL4WS privalumus: gryna sąveikaujančių Web servisų koncepcija: procesas yra Web servisas ir standartinėmis priemonėmis sąveikauja su kitais servisais; duomenų tipų ir jų struktūrų laisvas sudarymas, paveldėjimas bei atskyrimas nuo proceso, todėl vartotojas gali laisvai keisti duomenų tipus, nekeisdamas proceso struktūros, duomenų tipai apibrėžiami XML Schema; galimybė naudoti kaip programų integravimo priemonę; proceso aprašas „programuotojiško“ pobūdžio: WSDL, XPath, XSD; viskas aprašoma XML, todėl nereikalingos papildomos technologinės žinios ar programinė integravimo įranga; koordinuojamas asinchroninis komunikavimas tarp servisų, o tai labai svarbus aspektas Web servisų kompozicijoje, vykdant ilgai trunkančias veiklas, nes sinchroninis komunikavimas realaus pasaulio programose būtų neįmanomas.

Procesus galima modeliuoti naudojant standartinę UML ir gauti sugeneruotą BPEL scenarijų. Nėra būtinumo įsisavinti naujas modeliavimo aplinkas, pakanka suprasti BPEL4WS struktūrą ir specifinius UML išplėtimus. Galimas ilgai vykdomų transakcijų palaikymas: nors pati BPEL4WS specifikacija nepalaiko transakcijų, tačiau ją galima išplėsti WS-Transaction bei WS-Coordination specifikacijomis ir gauti šį būtiną automatizuotiems verslo procesams funkcionalumą. Sumodeliuotas procesas jau pateikia būtinus integravimo interfeisus, todėl sprendžiant partnerio integravimo problemas lieka tik sukurti Web servisą, realizuojantį reikalingus interfeisus. Nereikalauja didelės specializuotos kvalifikacijos – BPEL4WS sąlyginai paprasta lyginant su ebXML, kuris teikia daug abstrakčių procesų, duomenų tipų ir servisų šablonų bei specializuotų verslo konteksto procesų šablonų ir reikalauja gilaus ne tik pačios specifikacijos, bet ir šablonų bei duomenų tipų bibliotekų žinių. Pranešimų mainų koreliavimas tarp verslo partnerių leidžia sąveikauti su proceso egzemplioriumi, vykdant kelis procesus iš karto. Realizuojamas lygiagretus veiklų vykdymas – automatizuotiems verslo procesams vykdyti svarbu ne tik veiksmų vykdymo seka, bet ir jų vykdymas lygiagrečiai. Kartais kai kurios veiklos reikalauja duomenų iš kitų lygiagrečiai vykdomų veiklų – šią galimybę BPEL4WS taip pat palaiko. Klaidų apdorojimo mechanizmas – kadangi Web servisų kompozicija pagrįsti procesai yra priklausomi nuo keleto servisų, vykdomų pas skirtingus partnerius, yra didelė klaidų tikimybė, todėl gebėjimas jas apdoroti yra svarbus privalumas.

Galima išvardinti ir BPEL4WS trūkumus: sunku testuoti, nes modelio testavimas atliekamas tik vykdant visa procesą ir lyginant rezultatus su tikėtinais gauti duomenimis. Nėra trasavimo ir tarpinių duomenų stebėjimo galimybės, kadangi pati kalba neteikia šios galimybės. Nėra tiesioginio transakcijų palaikymo – norint vykdyti transakcijas, BPEL4WS scenarijų būtina papildyti WS-Transaction bei WS-Coordination specifikacijomis. Modeliavimo procesas nėra intuityvus nes partnerių išskyrimas, duomenų tipų ir paties proceso sudarymas reikalauja specifinio suvokimo. Sudėtingo proceso BPEL modelį darosi sunku suprasti. Nėra duomenų transformavimo specifikavimo.Nespecifikuojama žmogaus veiksmų seka. Nėra partnerių susitarimų ar derybų specifikavimo, kuris yra svarbus verslo procesuose

Įmonėms BPEL4WS suteikia sąveikavimo terpę su verslo partneriais vykdyti verslo procesus. Įmonių paslaugos gali būti ne tik publikuojamos internete Web servisų pagalba, bet ir dalyvauti automatizuotuose procesuose. Sistemų projektuotojams galimybė BPEL4WS modelius kurti standartinėmis priemonėmis bei programuotojams naudoti standartines technologijas leidžia nesunkiai įsisavinti šią kalbą, o didelis programinės įrangos rinkos lyderių susidomėjimas garantuoja visuotiną šios specifikacijos palaikymą bei paplitimą.

– 43 –

Page 45: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

L. Nemuraitė, A. Oželis

Literatūros sąrašas [1] Specifikacija. Business Process Execution Language for Web Services (BPEL4WS) 1.1 Prieiga per Internetą:

http://www-106.ibm.com/developerworks/webservices/library/ws-bpel/ [2] P. Brown. BPEL for Programmers and Architects [interaktyvus] 2003 [žiūrėta 2003 10 22]. Prieiga per Internetą:

http://blog.fivesight.com/prb/space/BPEL/BPEL4ProgArchies.pdf [3] M. Lehmann. BPEL: Business Processes with Web Services [interaktyvus]. 2003 10 02, [žiūrėta 2003 11 15]. Prieiga

per Internetą: http://blog.fivesight.com/prb/space/Other+sources+of+information+on+BPEL/Oracle_BPEL_08_13_03.pdf

[4] IBM Corp. Business processes with BPEL4WS: Learning BPEL4WS. Iš IBM, developerWorks [interaktyvus]. 2003, [žiūrėta 2003 12 22]. Prieiga per Internetą: http://www-106.ibm.com/developerworks/views/webservices/articles.jsp

[5] B. Darrow, E. Montalbano. IBM Exec Touts Need For BPEL Support, SOAs [interaktyvus]. 2003, [žiūrėta 2003 12 22]. Prieiga per Internetą: http://www.crn.com/sections/BreakingNews/dailyarchives.asp?ArticleID=44275

[6] M. C. Daconta, L. J. Obrst, K. T. Smith. The Semantic Web: A Guide to the Future of XML, Web Services, and Knowledge Management. – John Wiley & Sons, 2003. – 281 p.

[7] D. Kaye. Loosely Coupled: The Missing Pieces of Web Services. – RDS Press, 2003. – 334 p.

Method for E-Business Process Modelling and Development of Web Services

The Business Process Execution Language for Web Services (BPEL4WS) is an XML-based standard for defining how you can combine Web services to implement business processes. It builds upon the Web Services Definition Language (WSDL) and XML Schema Definition (XSD). A BPEL4WS process is defined in terms of its interactions with partners. A partner may provide services to the process, require services from the process, or participate in a two-way interaction with the process. Thus BPEL orchestrates Web Services by specifying the order in which it is meaningful to call a collection of services, and assigns responsibilities for each of the services to partners. You can use it to specify both the public interfaces for the partners and the description of the executable process. This article describes methodology how to define BPEL processes in the Unified Modeling Language (UML) and get the corresponding BPEL and WSDL files to implement that process. This capability is used to highlight some of the benefits of the Object Management Groups (OMGs) Model Driven Architecture (MDA) initiative: raising the level of abstraction at which development occurs, which, in turn, will deliver greater productivity, better quality, and insulation from underlying changes in technology.

– 44 –

Page 46: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

ŠABLONŲ NAUDOJIMAS KURIANT DUOMENŲ APDOROJIMO SISTEMAS INTERNETE

Ramunė Rutkauskaitė, Lina Nemuraitė Kauno technologijos universitetas, Informacijos sistemų katedra

Studentų 50-308

Straipsnyje analizuojami atvirojo kodo PHP programavimo technologijos privalumai ir trūkumai palyginus su kitomis interneto informacinių sistemų kūrimo priemonėmis. Nagrinėjamos galimybės PHP naudoti projektavimo šablonus. Sudarytas šablonų rinkinys, tinkamas kurti nesudėtingoms interneto informacinėms sistemoms, kuriose reikia atlikti duomenų apdorojimo operacijas, užtikrinti duomenų saugumą ir lankstų darbą skirtingas teises turintiems vartotojams. Šablonų rinkinys išbandytas įgyvendinant Miškų informacinės sistemos posistemio prototipą nutolusiems vartotojams ir galėtų būti naudojamas panašių sistemų kūrimui.

1. Įvadas

Tobulėjant interneto sistemoms, tapo įprasta naudoti dinaminius tinklo puslapius, kurie reaguoja į vartotojo įvestį. Serveryje veikiančių puslapių kūrimas - Active Server Pages (ASP) ir Java Server Pages (JSP) leidžia kūrėjams tiesiogiai įdėti tekstus į HTML puslapius, tokiu būdu suprastinant programavimo modelį. Sudėtingesniems įmontuotų tekstų taikymams atsirado poreikis atskirti veiklos logiką nuo pateikties logikos puslapių lygyje. Deja, nėra vienos kūrimo strategijos, kuri tiktų visoms situacijoms. Dėl programinės įrangos kūrimo priemonių konkurencijos atsirado būtinybė pašalinti perdėtą įvairovę ir sudėtingumą.

Galima apsiriboti paprastais puslapiais, į kuriuos įdedami skriptai, bet greitai veiklos logika pradeda kartotis ir sistemos palaikymas bei pratęsimas darosi sudėtingas. Šią pasikartojančią logiką galima iškelti į atskirą komponentą ir sudaryti bendradarbiaujančių komponentų rinkinius. Tai pašalintų pertekliškumą, bet padidėtų sprendimo sudėtingumas. Sudėtingumui valdyti įvairiose srityse, tame tarpe ir programavime, naudojami šablonai. Bendro naudojimo objektinio projektavimo šablonai aprašyti [6], kur pateikti 23 šablonai, bet jų yra ir daugiau. Pavyzdžiui, yra atskira šablonų grupė, taikoma interneto sistemų kūrimui.

Klasikinis interneto sistemoms taikomas šablonas yra Modelis/Vaizds/Valdiklis (angl. Model-View-Controller (MVC)). Tai senas modelis, kuris atlaikė laiko testą ir atskyrė pateikties logiką nuo veiklos logikos. Nors šis modelis nėra naujas, projektuotojui jo reikšmė yra labai didelė. Šiame darbe MVC nagrinėjamas projekto lygmenyje, o po to taikomas PHP kodui. Paprasčiausiu atveju vienam puslapiui skiriamas vienas valdiklis. Dar tolesnis patobulinimas yra priekinis (angl. Front Page) valdiklis. Naudojant šį šabloną, visos užklausos nukreipiamos vienam valdikliui, kuris dažnai būna sudarytas iš dviejų dalių. Pirma dalis yra prižiūrėtojas (angl. handler), o kita – komandos šablonų hierarchija. Priekinis valdiklis nukreipia užklausas į kitus valdiklius. Paprastai šis šablonas naudoja konfigūravimo failą, kuriame užklausoms priskiriami veiksmai, todėl jį lengva pakeisti. Priekinio valdiklio šablonas panašus į bendros paskirties fasado šabloną (angl. Facade). Filtro šablonas leidžia įgyvendinti standartinį užklausų apdorojimą: saugumo tikrinimą, registravimą, suspaudimą, kodavimą/dekodavimą. Paprastai vienas filtras atlieka vieną užduotį. Jei reikia atlikti kelias užduotis, filtrai jungiami į grandines. Pavienis objektas (angl. singleton) yra projektavimo šablonas, naudojamas kai reikia sukurti vieną objektą, kuris būtų prieinamas skirtingoms programos dalims. Jei tas objektas apima didelius informacijos kiekius, daugelio objektų keitimas atskirose dalyse būtų labai neproduktyvus. Antra priežastis, kodėl naudojamas pavienis objektas, yra ta, kad reikia užtikrinti, kad tas objektas bus vienodas visoms programos dalims, kad jis atsitiktinai nebus modifikuotas ar ištrintas. Pavyzdžiui, konfigūravimo failas. Prieigai prie duomenų sukuriamas duomenų prieigos šablonas (angl. Data access object), kuris atlieka priėjimą prie duomenų bazės, skaitymą, rašymą.

2. Interneto technologijos ir PHP

HTML (HyperText Markup Language) – tai WWW puslapių aprašymo kalba, kuria kalba pasaulinio tinklo World Wide Web (WWW) serveriai ir kurią supranta tinklo naršyklės. Interneto, kuris atsirado dar šaltojo karo įkarštyje, dabar negalima įsivaizduoti be spalvingų WWW puslapių. HTML - tai vienas iš SGLM (Structured Generalized Markup Language) kalbos variantų. Pastarasis dokumentų struktūros aprašymo būdas buvo sukurtas dar 1980-1984 metais ir patvirtintas ISO 8779 standartu. SGLM kalba vartojama pavyzdžiui siekiant standartizuoti didelių tarptautinių organizacijų raštvedybą ir tarpusavio susirašinėjimą. Interneto standartu tapusi HTML - tai ne programavimo kalba ir ne griežtas dokumento formatas. HTML visų pirma aprašo loginę WWW puslapių struktūrą:

– 45 –

Page 47: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

R. Rutkauskaitė, L. Nemuraitė

dokumentų bei juos sudarančių skyrių ir poskyrių antraštes, pastraipas, iliustracijas, lenteles, nuorodas į kitus dokumentus ar kitokius duomenis ir t.t. HTML buvo sumanyta kaip grynai loginės struktūros aprašymo kalba, bet greitai paaiškėjo, jog WWW puslapių kūrėjams bei skaitytojams to nepakanka. Todėl HTML, be loginių savybių, gali aprašyti ir fizines dokumento savybes, pavyzdžiui, šrifto parametrus, lentelių, iliustracijų bei kitų elementų dydžius ir pan. [1]

JavaScript (angl. script – rankraštis, scenarijus) – programavimo kalba, skirta dinaminio valdymo veiksmams atlikti HTML dokumente. Tai Netscape Communications organizacijos sukurta programavimo kalba, kuria siekiama praplėsti tinklapio kūrėjų galimybes. JavaScript kalba yra daug paprastesnė už Java, tačiau gali suteikti tinklapiui daugiau interaktyvumo nei paprastos HTML priemonės. Dėl to JavaScript turėtų pamėgti tinklapių kūrėjai, kurie nelabai mėgsta grynąjį programavimą, bet nori kurti savitus tinklapius. JavaScript programos tekstas yra rašomas HTML dokumento viduje, tarp <script> nuorodų. Netscape Navigator ir Microsoft Explorer apdoroja tekstą vidiniu interpretatoriumi. Dėl to, kad kai kurie veiksmai atliekami vartotojo kompiuteryje, sumažėja tinklų apkrovimas ir paspartėja duomenų kaita tarp vartotojo kompiuterio ir tinklo tarnybinės stoties. JavaScript priemonės buvo palankiai įvertintos pirmaujančių kompiuterijos įmonių tarpe.

Kaskadiniai stiliai. Sukurti paprastą tinklapį nesunku. Daug sunkiau pasiekti gero svetainės apipavidalinimo. Tam gali padėti pakopiniai stilių šablonai (angl. Cascading Style Sheets (CSS)), tinklapių išvaizdos pagrindas. CSS - neatskiriama didžiųjų portalų ir mažų asmeninių svetainių dalis. CSS kūrėjai - Pasaulio voratinklio konsorciumas (angl. World Wide Web Consorcium (W3C)). Ši organizacija kartu su didžiosiomis IT bendrovėmis kuria HTML ir kitus interneto standartus. Interneto naršyklių kūrėjai (Microsoft, Netscape, Opera Software ir t.t.) laikosi W3C rekomendacijų. Stiliai vadinami pakopiniais, nes tai atitinka HTML dokumentų apipavidalinimo principą. Naudojant daug stilių, jie veikia pagal svarbą, tarsi pakopomis. Žinant, jog internetui nėra nė penkiolikos metų, CSS – sąlyginai senas ir pripažintas būdas paprasčiau ir tiksliau išdėstyti tinklapio turinį.

Serverių puslapiai yra technologijos dinaminiams tinklo puslapiams kurti. Iš pradžių buvo naudojami Microsoft Active Server Pages (ASP), bet vėliau pasirodė kita populiari interneto technologija, pavadinta PHP – ateities tinklo kūrimui. PHP yra artimiausia ASP kodo filosofijai. ASP palaiko daugelį programavimo kalbų (dažniausiai naudojama VBScriptas), bet jos architektūra iš prigimties yra lėtesnė ir užimanti daugiau atminties nei PHP modelis, kadangi kiekviena ASP programa kompiliuoja paleidimą nuosavu procesu. PHP turi panašias į ASP laiko ir tipų valdymo funkcijas. HTTP antraštės valdymo funkcijos ASP yra lengviau naudojamos. Vienintelis dalykas, kurio trūksta PHP, yra ASP atitikmuo taikomųjų programų kitimui, kuris yra pasiekiamas tinklo serveriui.

ASP yra gera ir naudinga technologija, tačiau laikui bėgant paaiškėjo PHP privalumai: • Greitis • Aukštesnės kokybės atminties valdymas • Maža kaina (daugelis PHP priemonių yra nemokamos) • Gera sąsaja su MySQL DBVS daro PHP programavimą ir veikimą dar efektyvesnį • Artimas Java/C++ programavimo stilius • Tinka įvairioms platformoms Programuotojai PHP dažnai naudoja greitam kūrimui, todėl neteikia didelės reikšmės programos architektūrai

tobulinti. Tuo galima paaiškinti tą faktą, kad PHP kalboje mažai naudojami šablonai, paplitę Java, C, .NET programavimo technologijose. Tačiau ši kalba duoda ne mažesnes galimybes naudoti šablonus ir sukurti gerą programos architektūrą.

3. Interneto sistemų kūrimo šablonų naudojimo metodika Tradiciškai šablonai aprašomi laikantis tam tikros struktūros. Greta pateikiamos jų UML diagramos ir

naudojimo rekomendacijos [2]. Šablonų naudojimas leidžia patobulinti standartinį Rational Unified projektavimo procesą, kuriame yra nurodyti

proceso etapai ir projektavimo principai, bet nėra apibrėžtų taisyklių, kaip formuoti taikomųjų programų architektūrą. Projektas kuriamas pagal panaudojimo atvejų žingsnius. Jau analizės etape siūloma suskirstyti kuriamos sistemos klases į ribines, valdiklių ir esybių klases. Esybių klasės nustatomos iš dalykinės srities analizės. Tačiau ribinės ir valdiklių klasės dažniausiai parenkamos remiantis intuicija. Patyrę projektuotojai naudoja projektavimo šablonus, kurie padeda sukurti geresnę taikomosios programos architektūrą.

Toliau pateiktas šablonų rinkinys, kurį siūloma naudoti kuriant interneto sistemas.

3.1. Modelis/Vaizdas/Valdiklis

Daugelio interneto sistemų paskirtis yra paimti duomenis iš duomenų bazės ir parodyti juos vartotojui, o kai vartotojas juos modifikuoja – išsaugoti. Kadangi tarp duomenų bazės ir vartotojo sąsajos nuolat perduodamas

– 46 –

Page 48: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Šablonų naudojimas kuriant duomenų apdorojimo sistemas internete

duomenų srautas, šias dvi dalis tikslinga sujungti, kad sumažinti kodavimo apimtį ir pagerinti užduočių vykdymą. Vis dėlto šis atrodytų natūralus suartinimas turi keletą ryškių problemų. Viena iš problemų yra ta, kad vartotojo sąsaja turi tendenciją keistis daug dažniau, nei duomenų saugojimo sistema. Kita problema, susijusi su duomenų ir vartotojo sąsajos susijungimu, yra ta, kad veiklos logika reikalinga ne tik duomenų perdavimui.

Modelis/vaizdas/valdiklis atskiria dalykinės srities modeliavimą, pateiktį ir veiksmus, pagrįstus vartotojo įvestimi, į tris atskiras klases:

• Modelis valdo dalykinės srities elgseną ir duomenis, reaguoja į užklausas apie jo būseną ir į instrukcijas pakeisti būseną.

• Vaizdas valdo informacijos pateiktį. • Valdiklis interpretuoja vartotojo įvestį pele ir klaviatūra, informuoja modelį ir/ar vaizdą apie reikalavimą

keistis. 1 paveikslas rodo trijų objektų tipų tarpusavio ryšius:

Valdiklis

VaizdasModelis

ModelisDalykinės srities logika

Vaizdas

Generuot i HTML()

Puslapio valdiklis

Apdoroti HTTP užklausą()Atnaujinti modelį()Identifikuoti vaizdą()

1 pav. MVC šablonas 2 pav. Puslapio valdiklio struktūra

Naudojant MVC šabloną, pagerėja testavimas. Kai komponentai yra stipriai tarpusavyje susiję, ypač su

vartotojo sąsajos komponentais, testavimas tampa labai sudėtingas. Testavimo komponentų tipai dažnai reikalauja sudėtingo nustatymo net ir testuojant paprastą funkciją. Jei pasitaiko klaidos, sunkiau atskirti ir ištaisyti specifinio komponento klaidą.

3.2. Puslapio vadiklis

MVC šablone dažnai visų pirma pabrėžiamas modelio ir vaizdo atskyrimas, mažiau dėmesio skiriant valdikliui. Dinaminėse tinklo programose skirtingi vartotojų veiksmai gali reikalauti skirtingos valdiklių logikos, išlaikant tą patį vaizdą. Taikant MVC interneto programų kūrimui, reikia pastebėti, kad tinklo puslapių turinys yra dinaminis, bet navigavimas tarp puslapių dažniausiai statinis. Daugeliui dinaminių puslapių valdiklių kodas apima tuos pačius žingsnius: tikrinti vartotojo autentiškumą, išgauti puslapio parametrus iš užklausos eilutės ar formos lauko, komplektuoti sesijos informaciją, atkurti duomenis iš duomenų šaltinio, perduoti dinamines puslapio dalis, pridėti antraštes ir apatines eilutes. Tai gali vesti prie didelio kodo dubliavimo, todėl kiekvienam puslapiui galima naudoti tokį patį valdiklį.

Naudojant puslapio valdiklio modelį, įvestis priimama iš puslapio užklausos, modeliui taikomi reikalaujami veiksmai ir nustatomas teisingas vaizdas, kuris pateikiamas rezultato puslapyje. Veiklos logika atskiriama nuo užklausos apdorojimo kodo. Puslapio valdiklis gauna puslapio užklausą, išrenka reikiamus duomenis, vykdo modelio atnaujinimą ir siunčia užklausą vaizdui. Modifikuojant duomenis, vaizdas priklauso nuo modelio. Apibrėžiant atskirus puslapių valdiklius, modelis izoliuojamas nuo veiksmų, kurie priklauso nuo užklausų apdorojimo tinkle: sesijos valdymo, parametrų išgavimo ir pan.. 2 paveiksle parodytas puslapio valdiklio šablonas.

Puslapių valdiklis reikalingas daugelyje interneto technologijų, kadangi daugelis jų įtraukia puslapio valdiklį į serverio puslapio formą (pvz.: ASP, PHP). Serverio puslapiai faktiškai jungia vaizdo ir valdiklio funkcijas ir neteikia norimo atskyrimo tarp pateikties kodo ir valdiklio kodo. Tai mažina pakartotino panaudojimo galimybes. Pavyzdžiui, jei skirtingi veiksmai duoda tą patį puslapį, negalima naudoti to paties vaizdo, kadangi jis supintas su valdiklio kodu.

3.3. Priekinis valdiklis

Priekinis valdiklis sprendžia decentralizavimo problemą, nukreipdamas visas užklausas per vieną valdiklį. Jis dažnai susideda iš dviejų dalių: palaikymo ir komandų hierarchijos (3 pav.).

– 47 –

Page 49: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

R. Rutkauskaitė, L. Nemuraitė

Klientas

Konkreti komanda 1

Konkreti komanda 2

Prižiūrėtojas Komanda

Vykdyti() : Void

<<Interface>>

0..n0..n

3 pav. Priekinio valdiklio šablonas

3.4. Tarpinis filtras

Daugeliu atvejų filtrai naudojami atlikti manipuliacijoms, kurios nepriklauso nuo situacijos. Pavyzdžiui, HTTP antraščių apdorojimas, saugumo užtikrinimas, simbolių kodavimas ir pan. Filtrai yra nepriklausomi vienas nuo kito, todėl labai lankstūs. Bet kokią filtrų kombinaciją galima sujungti į grandinę nekeičiant jų kodo.

Paprastai tarpiniai filtrai jungiami į grandinę, kurią sudaro filtrų sąrašas. Prieš patekdama į taikomosios programos logikos valdiklį, tinklo užklausa pereina per filtrų grandinę. 4 paveiksle parodyta tarpinio filtro klasių diagrama.

ValdiklisUžklausos prižiūrėtojas

Filtrų grandinė

Kartoti filtrų sąrašui()Filtras

<<Interface>>

0..n0..n

Filtras 1 Filtras 2

Užklausos valdiklis

Užklausos šablonas

Vykdy ti užklausą()Format1()Format2()

Užklausa 1

Format1()Format2()

Užklausa 2

Format1()Format2()

4 pav. Tarpinio filtro klasių diagrama 5 pav. Šabloninis metodas

Kai tinklo serveris gauna puslapio užklausą, užklausos prižiūrėtojas perduoda valdymą pirmam filtro grandinės objektui. Prižiūrėtojo objektas eilės tvarka aplanko kiekvieną filtrą. Jei reikia atlikti dinaminę filtrų kompoziciją, filtrų grandinė gali skaityti vieną po kito filtrus iš konfigūracijos failo. Kiekvienas filtras gali modifikuoti įeinančias užklausas.

3.5. Šabloninis metodas

Šabloninis metodas (angl. Template Method) padeda abstrakčiai aprašyti procesą, susidedantį iš panašių, tačiau kiek skirtingai realizuojamų žingsnių. Kitaip sakant, viršesnėje klasėje aprašomas algoritmo karkasas, kuris skirtingai įgyvendinamas poklasėse. Pavyzdžiui, norint išgauti tam tikrus duomenis, reikia prisijungti prie duomenų bazės, rasti reikiamus įrašus, skaityti, jungti ir t.t. 5 paveiksle parodyta šabloninio metodo struktūra.

4. Eksperimentinė miškų informacinės sistemos realizacija nutolusiems vartotojams

Aprašytas šablonų rinkinys buvo išbandytas, kuriant Miškų informacinės sistemos prototipą interneto vartotojams. Šios sistemos funkcionalumą rodo panaudojimo atvejų diagrama 6 paveiksle. Sistemą naudos 4 tipų vartotojai: taksatorius, kuris stebi ir registruoja miško sklypų duomenis (miško sklypų plotus, kategorijas, medžių tipus, medienos tūrius); projektuotojas, kuris planuoja, kokius sklypus ir medžių tūrius reikia kirsti; vykdytojas, kuris vykdo kirtimus ir registruoja iškirstus sklypų plotus ir medienos tūrius; administratorius, kuris prižiūri sistemą ir suteikia vartotojams teises. Kadangi tikroji miškų informacinė sistema yra labai sudėtinga, prototipas supaprastintai atspindi sistemos struktūrą ir pagrindines funkcijas.

– 48 –

Page 50: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Šablonų naudojimas kuriant duomenų apdorojimo sistemas internete

Suteikti vartotojui teises

taksatorius

registruoti sklypu sistema

Projektuotojas

rengti kirtimo projektus

Vykdytojas registruoti vykdyma

Prisijungti

Naudoti misku IS

Atsijungti

<<include>>

<<include>>

reg_misko tipareg_uredija

reg_medziu tipa

reg_misko kategorija

Adminstruoti

6 pav. Miškų informacinės sistemos panaudojimo atvejų diagrama

Dalykinės srities klasių diagrama pateikta 7 paveiksle. Ji rodo pagrindinius objektų tipus, apie kuriuos reikės įvesti ir saugoti informaciją.

7 pav. Dalykinės srities klasių diagrama

8 paveiksle parodytas principinis interfeiso navigavimo planas. Prie pagrindinio puslapio su skirtingomis teisėmis prisijungę vartotojai gali matyti visus puslapius, tačiau gali redaguoti tik jiems skirtą informaciją.

8 pav. Interfeiso navigavimo planas

– 49 –

Page 51: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

R. Rutkauskaitė, L. Nemuraitė

Sistemos projekto modelis pateiktas 9 paveiksle. Šio modelio tikslas buvo parodyti, kaip veikia sistema, pereinant nuo pagrindinio iki duomenų tipo puslapių. Užklausos patenka į pagrindinę klasę (priekinį valdiklį), kuris nukreipia jas į teisių tikrinimo klasę, kuri tarnauja kaip filtras. Kreipiantis pirmą kartą, vartotojui pateikiamas prisijungimo langas, kur jis turi įvesti vardą ir slaptažodį (prisijungusio vartotojo užklausos taip pat pereina per filtrą, kad būtų užtikrintas duomenų saugumas). Jei vartotojo vardas ir slaptažodis tinkami, vartotojui pateikiamas jam skirtas puslapis, kuriame jis gali pasirinkti veiksmus ir duomenų tipus.

Pagal perduodamus duomenis pagrindinė klasė nustato, kokiai vykdomajai daliai reikia perleisti vykdymą, tuomet sukuriamos reikalingos klasės ir joms perduodami paruošti vartotojo duomenys.

Norint sukurti nuo duomenų bazės nepriklausančią sistemą, visi kreipiniai į duomenų bazę turi eiti per abstrahuojančią klasę „duomenų prieiga”. Klasės eksportuojami duomenys tiesiogiai nesiriša su DB galimybėmis, todėl perėjimui prie kitos DB pakanka sukurti papildomą konkrečią klasę.

Sistemoje naudojamos kelios globaliai pasiekiamos klasės (pavieniai objektai): puslapio valdiklis, duomenų prieiga, teisių valdiklis. Jos realizuoja metodus, kurie reikalingi daugeliu atvejų, neturi vidinės būsenos (arba ji turi būti vienoda visoje sistemoje). Puslapio valdiklio klasė skirta patogiam HTML kodo generavimui iš paprastų duomenų struktūrų. Dažniausiai naudojami metodai greitam pasirinkimų (įvairių sąrašų), lentelių sudarymui. Teisių valdiklio klasė, kaip jau minėta, naudojama vartotojo teisių tikrinimui, prisijungusio vartotojo informacijos saugojimui.

Sistemoje naudojama keletas paprastų sąrašų lentelių (pvz., medžių tipai), vartotojui reikia suteikti galimybę jas patogiai redaguoti. Išvengiant kodo dubliavimo, naudojamas šabloninis metodas ir tobulinamų klasių strategija: bazinė klasė elementas suteikia pačius paprasčiausius metodus įrašo įtraukimui, išmetimui, viso sąrašo gražinimui. Tokių operacijų pakanka kelių tipų sąrašams, atvaizduojamų miško tipas, urėdija, medžių tipas, miško kategorija klasėmis. Klasė Išplėstas elementas paveldi elemento metodus ir papildo metodais, reikalingais naudojant lenteles, kuriose kiekvienas elementas turi „tėvą”, pavyzdžiui, kiekviena girininkija priklauso kažkokiai urėdijai. Klasės kvartalai ir girininkijos konkretizuoja išplėstą elementą.

Kaip vyksta vartotojo užklausų apdorojimas, rodo sekų diagramos: 10 paveiksle parodytas vartotojo įėjimas į sistemą, 11 – pasirinkto tipo duomenų apdorojimas.

Teisių valdiklis

Tikrinti()Tikrinti teises()Tikrinti prisijungimą()Registruoti prisijungimą()Naikinti prisijungimą()

Puslapio valdiklis

Generuoti lentelę()Generuoti sąrašo langą()Generuoti sąrašą()Klaidos pranešimas()

acinis pranešimas()

Duomenų prieiga

rinkti()apildyti()

Sąrašas()

Pagrindinė

Meniu()Parengti()Užverti()

Elementas

Sukurti()Pavadinimas()Ident ifikuoti pavadinimą()Išmesti()Apdoroti()

Išplėstas elementas

Tėvas

Sukurti tėvą()Grąžinti tėvą()

irininkija

rininkija()

Kvartalas

Kvartalas()

Miško tipas

iško tipas()

Urėdija

Urėdija()

Medžių tipas

Medžių tipas()

Miško kategorija

Miško kategorija()

Tarpinis filtras

MŠabloninis metodas

Priekinis valdiklis

InformPuslapio valdiklis,

PaP

Pavienis objektas

G

Gi

Duomenų objektas, Pavienis objektas

9 pav. Sistemos projekto modelis

5. Išvados

Tyrimo dalyje buvo išanalizuoti objektiniame programavime bei interneto sistemų kūrime naudojami šablonai ir sudarytas šablonų rinkinys, kurį tikslinga taikyti kuriant interneto sistemas, apdorojančias duomenų bazėse saugomus duomenis. Rinkinį sudaro modelio/vaizdo/valdiklio, puslapio valdiklio, priekinio valdiklio, pavienio objekto, šabloninio metodo, filtro ir duomenų prieigos šablonai. Šiuos šablonus galima įvairiai jungti ir sudaryti naujus reikiamus šablonus. Šablonų naudojimas leidžia patobulinti universalų kūrimo procesą Rational Unified, kadangi padeda efektyviau suprojektuoti programinių klasių struktūrą. Šio darbo naujumas yra tame, kad pasirinkti

– 50 –

Page 52: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Šablonų naudojimas kuriant duomenų apdorojimo sistemas internete

šablonai buvo realizuoti PHP programavimo kalba, kurioje šablonai yra mažai taikomi. Daugiausiai jie naudojami Java, C, .NET programavimui. Tačiau PHP kalba yra besivystanti ir turi nemažai privalumų, svarbiausia, ji yra laisvai prieinama. Atlikta programinė realizacija parodė šablonų taikymo privalumus. Atlikus nedidelius modifikavimus, sudaryti šablonai gali būti panaudoti Miškų informacinės sistemos realizacijai bei kitų panašaus funkcionalumo sistemų kūrimui.

: taksatoriusf_pagrindine m_teisiu

valdiklisDuomenys DB htmlpag Taksatoriaus

puslapis

atidarytiprisijungti Registruoti prisijungima

tikrinti teises

parinkimas skaityti

sug_lent Atidaryti

10 pav. Taksatoriaus įėjimo į sistemą sekų diagrama

Irasymas OK

: taksatorius Taksatoriaus forma

htmlpag m_miskotipas m_teisiu_vadiklis

DBDuomenys

sukurti misko tipasug_listbox atidaryti

ivesti varda

ivesti aprasyma

issaugoti

tikrinti teises

Sukurti misko tipa issaugoti

13 pav. Miškų tipo registravimo sekų diagrama

Literatūros sąrašas [1] Jacobson I.,Booch G., Rumbaugh J. The Unified Modeling Language. User Guide. Adison Wesley, 2000m. [2] Eriksson H-E, Penker M, UML Toolkit, Wiley Computer publishing, 1998m, 397 psl.. [3] The definitive JavaScript Resource: JavaScript Tutorials and Free JavaScript [ žiūrėta 2003 12 12] prieiga per Internetą

:http://javascript.com/ [4] Trowbridge D., Mancini D. et all.Enterprise Solution Patterns Using Microsoft .NET. Microsoft Software Corporation,

Model-View-Controller 2003. [5] Lim J. 7 Reasons Why PHP is Better than ASP. Journal of Dabase Programming, Sep 14, 2000. [6] Shalloway A., Trott J.R.Design Patterns Explained. Addison-Wesley, 2002.

Patterns For Development Of Data Processing System On The Web

In this work object-oriented patterns were used for development of data processing system on the Web. Model-View-Controller, Page Controller, Front Controller, Intercepting Filter and other patterns were analyzed. These patterns are popular in object-oriented development, but in PHP they are rarely used because of rapid style of development. In this work patterns were used for development of internet prototype of Information System of Forest Resources Management. Implementation in PHP has demonstrated the efficiency of such approach.

– 51 –

Page 53: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

XML TAIKYMO METODIKA KURIANT DUOMENŲ APDOROJIMO SISTEMAS INTERNETE

Ilma Žederštreimaitė, Lina Nemuraitė Informacijos sistemų katedra, Kauno technologijos universitetas

Studentų g. 50, LT-3031 Kaunas

Dideliems duomenų kiekiams saugoti geriausiai tinka reliacinės duomenų bazės. Perduoti duomenis tinklu geriausiai naudojant XML. Kuriant interneto informacines sistemas, dažnai daug kartų tenka vykdyti transformacijas iš reliacinių schemų į XML ir atgal. Straipsnyje analizuojami esami transformavimo metodai ir daroma išvada, kad projektuojant sistemą reikia remtis bendresniu UML modeliu, iš kurio galima generuoti tiek reliacinę, tiek XML schemą. Daugelis DBVS turi savo transformavimo priemones. Straipsnyje nagrinėjamos ir konkrečios MS SQL serverio XML transformavimo priemonės, pateikiamos jų taikymo rekomendacijos, pristatoma šių priemonių pagrindu sukurta eksperimentinė Miško atkūrimo informacinė sistema.

1. Įvadas

Dauguma sistemų naudoja skirtingų formatų duomenis, todėl atsiranda įvairių problemų bei sunkumų perduodant duomenis iš vienos sistemos į kitą. Šios problemos sprendimas yra naudoti tokį duomenų struktūros aprašymą, kurį suprastų visos sistemos. Toks aprašymas turėtų būti universalus. Šiuo metu labiausiai išvystytas ir plačiai naudojamas standartas duomenų aprašymui yra XML (angl. eXtensible Markup Language) [3-5].

XML dokumentai gali būti naudojami pačiose įvairiausiose srityse: e.komercijoje, bendraujant su verslo partneriais ar organizacijos viduje integruojant programinę įrangą bei duomenų bazes. Dauguma sistemų naudoja skirtingų formatų duomenis, todėl joms keistis duomenimis yra sunku. XML yra standartinis formatas, kurį įvairios programos supranta vienodai, todėl duomenys gali būti transformuoti į XML ir laisvai perduoti kitai sistemai ar programai [1].

Microsoft SQL Server 2000 turi integruotas aukščiausios kokybės XML priemones, kurios yra lanksčios ir nesunkiai naudojamos interneto puslapių kūrėjų ir duomenų bazių programuotojų. Reikšmingos naujos SQL Server 2000 savybės siejasi su XML, kuri suteikia jam papildomą funkcionalumą. Tai suteikia galimybę naudoti XML dokumentus duomenų bazei papildyti, pasiekti SQL serverį per naršyklę ir susigrąžinti duomenis iš duomenų bazės XML formatu ir t.t. Šiuo metu Microsoft SQL Server 2000 yra vienas iš reliacinių duomenų bazių valdymo sistemų lyderių. Jis yra vėliausiai išleistas šios verslo klasės produktas ir turi naujas XML funkcionalumą palaikančias duomenų operacijas ir mainus [2].

2. XML paremtų DB taikomųjų programų projektavimo metodika

Šiame darbe buvo siekiama įjungti XML schemos kūrimą į bendrą informacinės sistemos projektavimo procesą. Universalus projektavimo procesas Rational Unified naudoja universalią UML kalbą. Norint kurti informacinę sistemą bendro konceptualiojo modelio pagrindu, tikslinga sudaryti dalykinės srities modelį UML kalba ir atvaizduoti jį į reliacinės duomenų bazės schemą bei XML schemą (1 pav). XML schemos sandara yra artimesnė UML klasių diagramai negu reliacinei schemai (2 pav.). Tiesa, kai kurių XML schemos savybių nėra UML diagramoje, todėl esant reikalui projektuotojas turi papildyti XML schemą reikiamomis savybėmis.

1 pav. UML modelio transformavimas

– 52 –

Page 54: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

XML taikymo metodika kuriant duomenų apdorojimo sistemas internete

2 pav. XML schema, UML klasių diagrama ir reliacinė duomenų bazės schema

Sudarytoje reliacinių DBVS prieigos per internetą programinės įrangos kūrimo metodikoje, naudojame MS SQL Serverio 2000 XML apdorojimo galimybes. Metodikos kūrimo proceso etapai pavaizduoti 3 paveiksle. Metodika apima:

• Apibrėžtos struktūros duomenų išgavimą ir įrašymą, panaudojant XML schemas; • Duomenų pateikimą internete, panaudojant XSL (XML Stylesheet Language). • Privalumai: • UML modelio privalumas - pakartotinas konceptualiojo lygio modeliu panaudojimas. Jei XML ir reliacinei

schemai nenaudojamas bendras UML modelis, gali būti sunkiau suderinti reliacines DB ir XML schemos savybes.

• XML schemos privalumas - pakartotinas panaudojimas loginiame lygyje. Lengvai projektuojama ir suprantama.

• Updategrams arba FOR XML - papildomo programos kodo sumažėjimas, nereikia naudoti dar vienos programavimo kalbos, pvz., .NET, kūrimas vyksta aukštesniame lygyje. Updategrams kodas suprantamas ir ji turi galimybę perduoti parametrus.

3. XPath įrankio taikymas ir XSL panaudojimas

Tradicinės SQL užklausos yra geras įrankis, kurio pagalba filtruojamos ir sujungiamos reliacinės lentelės ir peržiūros. XML peržiūrai naudojamas užklausų mechanizmas yra XPath (antl. XML Path language) užklausų kalba. XPath yra grafinė navigacinė kalba, kuri naudojama pažymėti XML dokumente rinkinį šaknų. SQL serveryje XML palaiko XPath kalbos poaibį kuris leidžia vartotojui vykdyti užklausas naudojantis XML Schemas.

– 53 –

Page 55: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

I. Žederštreimaitė, L. Nemuraitė

Sudaryti dalykinės srities UML klasių diagramą

Reikalavimai sistemai (Panaudojimo atvejų modelis ir specifikacijos)

Dalykinės srities UML klasių diagrama

Sudaryti reliacinės DB schemą Sudaryti XML

schemą

Reliacinės DB schema

XML schema

Sukurti reliacinę DB

Reliacinė DB

Sukurti svetainę

Sukurti duomenų atnaujinimo puslapi

Sukurti duomenų vaizdavimo pus lapį

Aprašyti Updategram'ą

Aprašyti FOR XML

Aprašyti XPath

Aprašyti XSL

Sukurti duomenų atnaujinimo puslapi

Sukurti duomenų vaizdavimo pus lapį

Aprašyti Updategram'ą

Aprašyti FOR XML

Aprašyti XPath

Aprašyti XSL

Sudaryti vartotojų interfeiso modelį

Vartotojų interfeiso klasių diagrama

Updategram'ų aprašai

XSL aprašai

XPath aprašai

3 pav. Veiklos diagrama, rodanti duomenų apdorojimo internetinių sistemų kūrimo procesą, paremtą MS SQL serverio XML

technologijomis

4 pav. Duomenų peržiūros veiklos diagrama

4 pav. pavaizduotoje diagramoje galima suprasti, kaip vyksta peržiūros procesas. Atkūrimo projektų kūrėjas, norėdamas peržiūrėti turimus inventorizacijos duomenis, paspaudęs atitinkamą nuorodą peržiūrai iš karto pamato lentelę su gautais duomenimis, kur XML failas jau yra sugeneruotas ir XSL įvykdyta transformacija. XML

– 54 –

Page 56: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

XML taikymo metodika kuriant duomenų apdorojimo sistemas internete

dokumente aprašyta XPath užklausa kreipiasi į XML schemą, nes joje yra aprašytos visos duomenų bazės lentelės elementai bei atributai. Toliau duomenys yra paimami iš DB ir rezultatas grąžinamas XML formate, kur įvykdžius transformaciją duomenys atvaizduojami HTML.

Atvaizdavimui buvo pasirinktas XSLT priemonė, kuri transformuoja XML dokumentą į dokumentą, kuris atvaizduojamas naršyklėje. XSLT naudoja XPath užklausas surasti elementus XML pradiniame dokumente, kurie atitinka tam tikras sąlygas ir po to atlieka elementų transformaciją (4 pav.).

4 pav. Xpath užklausų ir XSL transformacijos panaudojimas

4. Updategrams įrankio taikymas

Updategrams įrankis yra įspūdingas būdas išgauti ir atnaujinti XML duomenis SQL serveryje. Šios naujos savybės kartu su XPath užklausomis, šablonais (templates) ir HTTP priėjimu prie SQL duomenų suteikia dideles galimybes. Privalumas tai, kad palaiko duomenų bazėje vienos ar kelių lentelių atnaujinimą, atitinkantį XML hierarchinį sąryšį.

6 pav. pagalba pavaizduotas duomenų įterpimo procesas. Kai atkūrimo projektų kūrėjas patvirtina įvestus duomenis, dokumentas visų pirma kreipiasi į updategrama, kurioje aprašyti visų įvedamų atributų vardai. Updategrama pradžioje kreipiasi į XML schema ir tik tuomet įrašo duomenis į DB. Paskutiniame žingsnyje, vartotojas gauna patvirtinimą apie sėkmingą duomenų įvedimą.

– 55 –

Page 57: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

I. Žederštreimaitė, L. Nemuraitė

5 pav. Updategrama

6 pav. Duomenų įvedimo veiklos diagrama

5. Išvados

Darbe buvo tiriami internetinių duomenų apdorojimo sistemų kūrimo metodai, naudojantys XML. Tam tikslui išnagrinėti XML dokumentų struktūros aprašymo būdai ir duomenų transformavimo iš reliacinės duomenų bazės į XML dokumentus galimybės. Nors tokios priemonės yra realizuotos daugelyje DBVS, transformacijos vykdomos toli gražu nevienodai ir yra daug būdų, kaip atvaizduoti duomenų bazės turinį XML dokumentais. Pavyzdžiui, MS SQL serverio XML priemonėmis galima tą padaryti įvairiais variantais.

Pateikta siūloma informacinės sistemos projektavimo metodika, kurioje XML ir reliacinės duomenų bazės schemos sudaromos iš UML klasių modelio. Parodyta galimybė grafiškai aprašyti XML schemos struktūrą UML klasių diagrama, įvedus reikiamus stereotipus. Aprašyta konkrečių MS SQL serverio priemonių (SQL FOR XML, XPath, Updategrams) naudojimo metodika, skirta tokios sistemos įgyvendinimui.

Atliktas konkrečių MS SQL serverio XML priemonių tyrimas parodė, kad duomenų pateikimui galima naudoti paprastesnes priemones, pavyzdžiui, SQL užklausas, grąžinančias duomenis XML dokumentų pavidale. Norint atnaujinti duomenis, reikalingos sudėtingesnės priemonės, kurios naudoja XML schemas. Reikia ir kitų papildomų priemonių: XML užklausų kalbos XPath, stilių aprašymo kalbos XSL ir pan.

Literatūra [1] Simon St. Laurent. XML: A Primer. - IDG Books Worldwide, Inc., 1997. – 348p. [2] Vieira R. SQL Server 2000 XML Integration, 2000 [žiūrėta 2002-11-20]. Prieiga per internetą:

http://www.perfectxml.com/. [3] W3C XML working group. Extensible Markup Language (XML) 1.0 (Second Edition), 6 spalio 2000, [žiūrėta 2002-12-

10]. Prieiga per internetą: 6 October 2000 http://www.w3.org/TR/2000/REC-xml-20001006. [4] Michael J. Young. XML Step by Step, Second Editon. - USA: Microsoft Press, 2001. – 382 p. [5] XML Schema Part 0: Prime, W3C, 2001 [žiūrėta 2002-12-10]. Prieiga per internetą: http://www.w3.org/TR/xmlschema-0/.

– 56 –

Page 58: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

FEDERACINĖS DUOMENŲ BAZĖS

Vilius Kontrimas Kauno Technologijos universitetas, Informacijos sistemų katedra

Studentų g. 50, Kaunas, [email protected]

Duomenų šaltinių integravimo poreikis lėmė federacinių informacijos sistemų atsiradimą ir spartų populiarėjimą. Federacinė informacijos sistema integruoja autonomiškus, heterogeniškus duomenų šaltinius ir suteikia vartotojui globalų priėjimą prie šaltiniuose saugomų duomenų. Federacinės duomenų bazės yra populiariausias federacinių informacijos sistemų tipas, išsiskiriantis tuo, kad egzistuoja globali duomenų schema ir duomenų šaltiniais gali būti tik duomenų bazės. Išnagrinėtos federacinių informacijos sistemų ir federacinių duomenų bazių savybės, taikymo pavyzdžiai parodė pagrindines problemas ir vystymo kryptis, kuriomis bus dirbama toliau.

1. Įvadas Federacinė informacijos sistema yra sistema, integruojanti palikuoninius duomenų šaltinius ir taikomąsias

programas. Palikuoninių sistemų, sukurtų skirtingu laiku, naudojant skirtingus duomenų modelius, technologijas yra daugelyje organizacijų. Jų naudojimo skirtumai, migracijos į naujas sistemas dideli kaštai lemia, kad šias sistemas tikslinga integruoti į vieną visumą federacinės informacijos sistemos pagalba, o ne kurti naują globalią sistemą nuo pagrindų.

Federacinės duomenų bazės yra vienas iš federacinių informacijos sistemų tipų. Toks skirstymas dar nėra visuotinai pripažintas, straipsnyje juo remiamasi dėl šio skirstymo logiškumo ir lankstumo.

Duomenų, patalpintų skirtingose sistemose, integracijos klausimas nagrinėjas jau kelis dešimtmečius. Devintame dešimtmetyje buvo stengiamasi visus duomenis, išskirstytus po savarankiškas ir nesuderinamas sistemas perkelti į vieną centralizuotą duomenų bazę. Tuo tarpu paskutiniame XX a. dešimtmetyje dėmesys buvo perkeltas į skirtingose duomenų bazėse saugomų duomenų integravimą. Pirmas tyrimas buvo atliktas D. Heimbigner ir D. McLeod dar 1985 metais. 1990 metais pasirodė W. Litwin, L. Mark, N. Roussoupoulos bei A.P. Sheth, J.A. Larson straipsniai, aprašę būdus, kaip sukurti globalų priėjimą prie palikuoninių duomenų bazių ir įtvirtinę terminą „federacinė duomenų bazė“. A.P. Sheth ir J.A. Larson aprašyta penkių lygių federacinės duomenų bazės architektūra yra aktuali iki šiol.

Vystantis programinės įrangos kūrimo paradigmoms, centralizuotas, monolitines sistemas keičia modernios sistemos, sukurtos iš nepriklausomų, bendradarbiaujančių komponentų, kliento – serverio architektūrą keičia daugiasluoksnės sistemos, kuriose apjungiama eilė duomenų šaltinių, bendraujančių eile skirtingų protokolų. Atsirado vadinamos mediatoriais arba tarpininkais pagrįstos sistemos (mediator based systems). Šie mediatoriai yra komponentai, kurie duomenis specialių protokolų pagalba gauna iš kitų mediatorių arba duomenų šaltinių apvalkalų (wrapper), kurie pateikia duomenis reikiamu formatu. Todėl tokių sistemų duomenų šaltiniais gali būti ne tik duomenų bazės. Lygiagrečiai mediatorias pagrįstoms sistemoms atsirado federacinės duomenų bazių sistemos, kuriose dėl noro išlaikyti absoliutų duomenų šaltinių autonomiškumą, buvo atsisakyta globalios schemos. Šios sistemos pavadintos silpnai susietomis sistemomis (loosely coupled system). Federacinės duomenų bazės terminas negalėjo apimti visų šių sistemų, todėl atsirado terminas „federacinė informacijos sistema“, kuri apima silpnai susietas sistemas, federacines duomenų bazes ir mediatiorias pagrįstas sistemas.

Straipsnyje pirmiausia yra nagrinėjami trys informacijos sistemų aspektai, kurie yra federacinių informacijos sistemų pagrindas. Sekančiame skyrelyje yra apibūdinami federacinių sistemų vertinimo kriterijai, kurių pagrindu jos skirstomos į silpnai susietas sistemas, federacines duomenų bazes ir mediatoriais pagrįstas sistemas. Toliau atlikta pačių federacinių duomenų bazių analizė, pateiktos jų savybės, egzistuojančios architektūros, taikymo pavyzdžiai, esamos problemos ir vystymo kryptys.

2. Informacijos sistemų klasifikavimo principai Norint apibrėžti federacinę informacijos sistemą ir jos vietą informacinių sistemų klasifikacijoje reikia iš-

nagrinėti tris informacinių sistemų savybes – autonomiškumą, heterogeniškumą ir paskirstymą. Naudojama „kom-ponento“ sąvoka apima duomenų šaltinį, nebūtinai duomenų bazę, esantį federacinėje informacijos sistemoje [2].

– 57 –

Page 59: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

V. Kontrimas

Autonomiškumas yra federacinės sistemos komponento nepriklausomybė nuo federacijos. Jis skirstomas į 3 grupes: • Struktūros autonomiškumas. Tai komponento galimybė naudoti duomenų modelį, kalbą, savas pavadinimų

taisykles ir keisti savo struktūrą atskirai nuo visos sistemos. • Komunikavimo autonomiškumas. Tai komponento galimybė išeiti iš federacinės sistemos, patekti į federacinę

sistemą bet kuriuo metu bei pasirinkti su kuriais komponentais komunikuoti. • Vykdymo autonomiškumas. Tai komponento galimybė nepriklausomai nuo kitų vykdyti ateinančias užklausas.

Praktiškai neįmanomas jei naudojamas globalus transakcijų kontrolės mechanizmas. Heterogeniškumas, atsirandantis dėl autonomiško sistemos komponentų kūrimo, apibrėžia sintaksinius, duomenų modelio ir loginius komponentų skirtumus: • Sintaksinis heterogeniškumas. Pirmiausia tai techniniai skirtumai – nevienodos kompiuterinės įrangos plat-

formos, operacinės sistemos, prieigos metodai. Čia priskiriami ir sąsajų skirtumai, pasireiškiantis nevienodomis užklausų kalbomis, nevienodais kalbų ir pačių užklausų apribojimais.

• Duomenų modelio heterogeniškumas. Tai skirtingų duomenų modelių naudojimas. Tai lemia, jog reikia pasirinkti vieningą duomenų modelį federacijos lygyje, per kurį visi komponentai gali pateikti savo duomenis. Esant skirtingiems duomenų modeliams egzistuoja atskiras sluoksnis, atliekantis reikalingas duomenų trans-formacijas.

• Loginis heterogeniškumas. Pirmiausia tai semantinis heterogeniškumas, pasireiškiantis skirtinga duomenų ir schemos semantika, pvz. homonimų ir sinonimų problema. Čia priskiriamas schematinis heterogeniškumas, pasireiškiantis tos pačios informacijos kodavimu skirtingais duomenų modelio elementais, bei struktūrinis heterogeniškumas, pasireiškiantis skirtingu informacijos struktūrizavimu. Kuriant logines duomenų schemas pagal tam duomenų modeliui galiojančias taisykles, šių dviejų heterogeniškumų galima išvengti. Paskirstymo lygis - tai fizinis duomenų ir funkcijų paskirstymo lygis tarp komponentų. Paskirstyti komponentai

nesinaudoja ta pačia pastoviąja atmintimi. Remiantis pateiktas informacijos sistemų vertinimo kriterijais, galime teigti, kad federacinė informacijos

sistema – tai paskirstyta informacijos sistema, sudaryta iš heterogeniškų ir autonomiškų komponentų. Būtina pabrėžti, kad paskirstymas, heterogeniškumas ir autonomiškumas gali būti daliniai ir nėra griežtos ribos, kada sistema nebelaikoma federacine.

-----------

-------------

-----------

-------------

-----------

-------------

-----------

-------------

-----------

-------------

-----------

-------------

Duomenų šaltinių lygis

Apvalkalų lygis

Federacijos lygis

Pateikimo lygis

1 pav. Federacinė informacijos sistema

Vartotojai, esantys pateikimo lygyje, turi globalų priėjimą prie duomenų šaltinių per federacijos lygį. Fede-racijos lygis apima vieningą priėjimo kalbą, schemą, metaduomenis arba bent kelis iš šių komponentų. Apvalkalų lygyje atliekamos reikiamos transformacijos, leidžiančios apjungti duomenų šaltinius į vieną visumą.

Pateikimo lygyje nuolatos atsiranda poreikis naujoms informacinėms paslaugoms, duomenų šaltinių lygyje vyksta duomenų šaltinių kaita, keičiasi patys šaltiniai, prijungiami nauji, pašalinami nebenaudingi, todėl federacijos lygis turi būti kuo lankstesnis, lengvai vystomas.

– 58 –

Page 60: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Federacinės duomenų bazės

3. Federacinių informacijos sistemų klasifikavimo principai

Egzistuoja dešimt kriterijų, pagal kuriuos yra vertinamos ir klasifikuojamos federacinės informacijos sistemos. 1. Komponentų struktūrizavimo lygis. Komponentai skirstomi į struktūrizuotus, pusiau struktūrizuotus ir nestruk-

tūrizuotus. Struktūrizuoti komponentai turi aiškiai apibrėžtą schemą ir visi duomenys yra sutvarkyti pagal ją, nestruktūrizuoti duomenys negali būti įtraukti į tokį šaltinį. Pusiau struktūrizuoti komponentai turi struktūrą, bet ji nėra apibrėžta aiškia bei griežta schema. Nestruktūrizuoti komponentai struktūros visai neturi, pavyzdžiui, tekstinių dokumentų aibė.

2. Federacijos stiprumas. Jei federacinė informacijos sistema turi globalią schemą, tai federacija laikoma stipria. Silpnoje federacijoje yra tik unifikuota kalba, leidžianti išgauti duomenis iš duomenų šaltinių. Silpnos federacijos atveju dažniausiai naudojama multi-duomenų bazių užklausų kalba MDBQL ir integruoti vaizdiniai.

Federacinė IS su globalia schema

Schemosintegracija

Federacinė IS su integruotaisvaizdiniais

Vaizdiniųapibrėžimas

Vartotojas

2 pav. Stipri ir silpna federacijos

3. Duomenų modelis. Federacinis lygis būna pagrįstas duomenų modeliu, kurio pagalba integruojami visi šaltiniai. Jis egzistuoja ir silpnose federacijose, nes užklausų kalba grindžiama kokiu nors duomenų modeliu. Šiuo metu populiariausia yra naudoti ODMG 3.0 standartu apibrėžtas struktūras. Federacinio lygio duomenų modelio parinkimas priklauso nuo šaltiniuose naudojamų duomenų modelių.

4. Semantinė integracija. Ši savybė yra būdinga stiprios federacijos sistemoms, nes silpnos federacijos atveju duomenys surenkami jų nekeičiant. Semantinė integracija gali būti keturių tipų: kolekcija, lydinys, abstrakcija, papildymas. Kolekcijos atveju duomenys surenkami iš šaltinių nepakeisti (silpnos federacijos atvejis). Lydinio atveju surinkti duomenys yra peržiūrimi, pašalinama besikartojanti informacija, panaikinami prieštaravimai. Abstrakcijos atveju surinkti duomenys yra perkeliami į federacinės schemos numatytą abstrakcijos lygį, o papildymo atveju surinkti duomenys praturtinami reikalinga informacija, apibūdinančia duomenų semantiką.

5. Užslėpimo lygis (transparency). Idealiu atveju vartotojui turi atrodyti, kad jis dirba su centralizuota, lokalia, homogenine sistema. Veikimo mechanizmo užslėpimas gali būti trijose sferose – duomenų fizinės buvimo vietos užslėpimas, duomenų schemų skirtumų užslėpimas, duomenų apibrėžimo ir manipuliavimo kalbų skirtumų užslėpimas.

6. Užklausų paradigma. Užklausos gali būti struktūrizuotos ir išgaunančios informaciją. Pirmųjų atveju egzistuoja užklausos struktūra, kurios rėmuose galima užduoti paieškos parametrus, antrosios yra pagrįstos panašumų ieškojimu, pavyzdžiui, paieška tekstiniuose dokumentuose, video ir audio informacijoje.

7. Kūrimo strategija. Skirstoma į iš viršaus žemyn, kai pirmiausia yra kuriamas federacijos ir pristatymo lygiai, po to integruojami reikalingi šaltiniais, ir iš apačios į viršų, kai turima eilė duomenų šaltinių ir jie integruojami į federaciją [1].

8. Integracijos virtualumas. Integracija yra virtuali, kai gauti duomenys nėra išsaugomi federacijos lygyje. Kai gauti duomenys arba jų dalis yra išsaugomi federacijos lygyje, integracija yra materializuota.

9. Duomenų keitimo galimybė. Skirstoma į galimybę tik skaityti duomenis ir galimybe duomenis skaityti bei rašyti.

10. Prieigos prie duomenų metodai. Vartotojas gali naudoti užklausų kalbą kaip SQL, OQL, parametrizuotas iš anksto paruoštas užklausas arba naršyti po duomenis.

– 59 –

Page 61: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

V. Kontrimas

Federacinėsinformacijos

sistemos

Globali schema yra

Globalios schemosnėra Silpnai susietos

informacijossistemos

Šaltiniai tikduomenų bazės

Įvairūs duomenųšaltiniai

Mediatoriais pagįstosinformacijos sistemos

Federacinėsduomenų bazės

3 pav. Federacinių informacijos sistemų klasifikacija

Pagrindiniai informacijos sistemų klasifikavimo kriterijai yra federacijos stiprumas, lemiantis globalios sche-mos buvimą ar nebuvimą ir naudojami duomenų šaltiniai.

4. Federacinės duomenų bazės

Pagrindiniai kriterijai, išskiriantys federacines duomenų bazes iš kitų federacinių informacijos sistemų yra globalios schemos egzistavimas federacijos lygyje ir duomenų šaltinio lygio sudėtyje tik duomenų bazės. Federacinėse duomenų bazėse egzistuoja visų tipų heterogeniškumas, išskyrus užklausų apribojimų skirtumus, vykdymo autonomiškumas, duomenų šaltinių vietos, schemų ir dalinai kalbų užslėpimas nuo vartotojo, stipri federacija, kolekcijos ir lydinio tipo semantinė integracija, virtuali ar dalinai virtuali integracija. Federacinės duomenų bazių sistemos kuriamos principu „iš apačios aukštyn“, priėjimui prie duomenų naudojamos užklausų kalbos, federacijos lygio lankstumas yra žemas, nes komponentų kaita įtakoja globalią schemą.

Išorinė schemaIšorinė schema

Eksporto schemaEksporto schema

Išorinė schema

Federacinė schema

Eksporto schema

Komponentinėschema

Lokali schema

Duomenų bazė

Išorinė schemaIšorinė schema

Eksporto schemaEksporto schema

Išorinė schema

Federacinė schema

Eksporto schema

Komponentinėschema

Lokali schema

Duomenų bazė

Išorinė schemaIšorinė schema

Eksporto schemaEksporto schema

Išorinė schema

Federacinė schema

Eksporto schema

Komponentinėschema

Lokali schema

Duomenų bazė

Pirminisduomenųmodelis

Kanoninisduomenųmodelis

Vartotojoduomenųmodelis

Duomenųmodelio iružklausųtransformavimas

Schemosintegracija,užklausųdekompozicija

4 pav. Federacinės duomenų bazės penkių lygių architektūra

Kiekviena duomenų bazė turi savo lokalią schemą. Šios lokalios schemos yra transformuojamos į kanoninį duomenų modelį, kuris yra pasirinktas kaip bendras federacijos duomenų modelį [5]. Transformacijos rezultatas yra komponentinė schema. Dažniausiai vartotojui yra reikalinga tik dalis duomenų arba duomenų bazė gali teikti tik tam tikrus duomenis, todėl eksporto schema yra šių „derybų“ rezultatas, komponentinės schemos projekcija, skirta federacijos lygiui [7]. Federacinės schemos apima vieną ar kelias eksporto schemas, kiekviena federacinė schema yra skirta tam tikrai vartotojų klasei. Išorinė schemos pagalba yra atrenkama informacija, skirta konkretiems vartotojams, nedidelėms jų grupėms ar taikomosioms programoms. Vartotojų naudojamas duomenų modelis gali skirtis nuo kanoninio federacinės duomenų bazės duomenų modelio, tokiu atveju atliekamos atitinkamos transformacijos.

Kai vartotojo duomenų modelis skiriasi nuo kanoninio duomenų modelio, federacijos komponentai yra federacinės duomenų bazės, egzistuoja kelios semantikos federacinėje schemoje, yra naudojama išplėsta federacinių duomenų bazių architektūra [6]. Joje yra trys papildomos schemos – derybų schema, vartotojo išorinė schema ir

– 60 –

Page 62: Duomenų bazės ir modeliai - elibrary.lt...savo sudėtyje turi GIS dalį, be to leidžia prijungti išorines duomenų bazes. Yra dar vienas faktorius, nulėmęs Yra dar vienas faktorius,

Federacinės duomenų bazės

– 61 –

taikomųjų atvejų schema. Derybų schema, sudaroma iš lokalios schemos, leidžia kaip komponentą naudoti kitą federaciją, naudojant tik dalį jos duomenų resursų. Vartotojo išorinė schema yra išorinė schema, transformuota į vartotojo duomenų modelį, besiskiriantį nuo kanoninio duomenų modelio. Taikomųjų atvejų schema apima vieną federacinės schemos semantiką, skirtą vienai ar kelioms vartotojų grupėms.

Egzistuoja eilė federacinių duomenų bazių taikymo pavyzdžių. Tai Multibase sistema, skirta integruoti autonomiškas sąryšines, tinklines ir hierarchines duomenų bazes, vartotojas naudojasi unifikuota užklausų kalba DAPLEX, visų komponentų schemos yra transformuojamos į DAPLEX duomenų modelį, vėliau integruojamos į bendrą schema [3]. Mermaid sistema, leidžia integruoti sąryšines duomenų bazes, vartotojas gali naudotis SQL, Quel, ARIEL užklausų kalbomis, kaip kanoninis duomenų modelis naudojamas sąryšinis duomenų modelis. Pegasus sistema leidžia integruoti sąryšines ir objektinės orientacijos duomenų bazes, kanoninis duomenų modelis – objektiškai orientuotas, unifikuota užklausų kalba – HOSQL. VHDBS integruoja įvairių tipų duomenš bazes, kanoninis duomenų modelis – objektiškai orientuotas, atitinkantis ODMG 2.0 standarta, vartotojai gali duomenis peržiūrėti naršyklėje per grafinę sąsają, kuri formuoja užklausas naudodama OQL kalbą [4].

Eilė atliktų tyrimų ir įgyvendintų projektų parodė svarbiausias federacinių duomenų bazių vystymo ir tobulinimo kryptis. Tai visų pirma schemų transformavimas, schemų integravimas, prieigos prie duomenų kontrolė, užklausų valdymas ir optimizavimas, globalus transakcijų valdymas.

5. Išvados

Federacinės informacijos sistemos yra paskirstytos sistemos, integruojančios autonimiškus, heterogeniškus duomenų šaltinius. Paskirstymas, heterogeniškumas ir autonomiškumas gali būti daliniai ir nėra griežtos ribos, kada sistema nebelaikoma federacine.

Federacinės duomenų bazės išsiskiria iš visų federacinių informacijos sistemų tuo, kad egzistuoja globali schema federacijos lygyje ir duomenų šaltiniais gali būti tik duomenų bazės. Tipinė federacinės duomenų bazės architektūra yra penkių lygių, tačiau kai skiriasi vartotojo duomenų modelis nuo kanoninio, federacinėje schemoje egzistuoja kelios semantikos, kaip duomenų šaltinis naudojama kita federacinė duomenų bazė, ši architektūra praplečiama iki aštuonių lygių.

Federacinių duomenų bazių aktualiausios problemos, kurios sprendžiamos šiuo metu, yra schemų trans-formavimas, schemų integravimas, prieigos prie duomenų kontrolė, užklausų valdymas ir optimizavimas, globalus transakcijų valdymas.

Literatūros sąrašas [1] Busse S., Kutsche R.,Leser U., Strategies for the conceptual design of federated information systems,

http://citeseer.nj.nec.com 2003 12 01 [2] Busse S., Kutsche R.,Leser U., Weber H. Federated information systems: concepts, terminology and architecture,

http://citeseer.nj.nec.com 2003 12 01 [3] Gardarin G., Gannouni S., Finance B. A distributed system federating object and relational databases,

http://citeseer.nj.nec.com 2003 12 08 [4] Holtkamp B., Wu X., VHDBS: a federated database system for electronic commerce, http://citeseer.nj.nec.com 2003 12

10 [5] Paradauskas B., Salelionis L., Targamadzė A. Vaizdiniai federacinėse duomenų bazėse. Informacinės technologijos

2002, Konferencijos pranešimų medžiaga, Technologija, Kaunas, 2002, [6] Samos J., Saltor F., Sistac J., Bardes A. Database architecture for data warehousing: an evolutionary approach,

http://citeseer.nj.nec.com 2003 12 05 [7] Strassler M., Schonhoff M., Integrating engineering databases: how does the application domain influence the FDBMS

architecture ?, http://citeseer.nj.nec.com 2003 12 12

Federated databases

Federated information systems are integrating layer over existing legacy data sources. Information systems can be classified in three dimensions: degree of autonomy, heterogeneity and distribution, this classification leads us to definition of federated information system. There are ten more dimensions which apply to classification of federated information systems, they are discussed in article. Federated databases are federated information systems, which have global schema in federative layer and uses only databases as data sources. Their common architecture is composed of five levels and may be advanced to eight level architecture. The main federated databases problems, which must be solved, are schemas translation and integration, data access control, queries processing and optimization, global transactions management.