Upload
phamnhan
View
234
Download
3
Embed Size (px)
Citation preview
Lietojums jeb lietojuma
programma
Datu bāzes sistēma Interfeiss
Interfeiss
Komunikācijas videDati
Glabājamās procedūras
1
Informācijas sistēmas arhitektūras
a) divu līmeņu arhitektūra
b) trīs līmeņu arhitektūra
c) "In database processing" – Datu apstrāde datu bāzes sistēmā (datu bāzes servera programmēšana)
Lietojums jeb lietojuma
programma
Datu bāzes sistēma (datu
izgūšana)
In te rf eis s In te rf eis s
Lietojums jeb lietojuma
programma
Datu bāzes sistēma (datu
izgūšana)
In te rf eis s In te rf eis s
Lietojumu serveris
Komunikācijas vide
Kom
unik
ācija
s vid
e
Lietojumu serveris
Kom
unik
ācija
s vid
e
Lietojums
Lietojums
2
Parastie un Web lietojumi
1. Parastie (LAN, WAN) lietojumi.
2. Interneta jeb web lietojumi.
Vide Datu bāzes sistēma
3
Web lietojumi1
Web lietojumu klienta puses (client side, front end) un servera puses (server side, back end) risinājumi
1. PHP.2. JavaScript.3. ASP.NET4. Java Server Pages.
1 http://www.sei.cmu.edu/library/assets/presentations/nelson-saturn2013.pdf
4
PHP tehnoloģija – hiperteksta preprocesors
PHP (saīsinājums no PHP: Hypertext Preprocessor) ir plaša pielietojuma, uz atvērtā koda (open source) principiem balstīta skriptu valoda, kas, galvenokārt, paredzēta dinamiskai tīmekļa lapu ģenerēšanai un ir integrējama HTML valodas kodā. PHP ir tipisks servera puses lietojums, bet to iespējams darbināt arī no komandrindas vai dažāda veida grafiskajos lietojumos. PHP implementāciju ir izstrādājusi organizācija The PHP Group, un šī implementācija tiek izplatīta, balstoties uz PHP licences nosacījumiem. Tā kā PHP valodai nav formālas specifikācijas, tās implementācija pati par sevi kalpo kā šīs valodas de facto standarts.
5
Active Server Pages tehnoloģija
Aktīvo servera lapu (Active Server Pages) tehnoloģija (ASP) ir kompānijas Microsoft izstrādāta servera puses skriptu tehnoloģija, kas nodrošina iespēju dinamiski ģenerēt globālā tīmekļa lapas, kombinējot HTML, dažādu skriptu valodas un ActiveX komponentu sniegtās iespējas. Tātad ASP lapas ir tīmekļa lapas, kas satur ne tikai statiskajiem dokumentiem raksturīgo teksta un HTML valodas koda apvienojumu, bet ietver sevī arī servera puses skriptus – speciālās komandas, kas tiek izpildītas, pirms attiecīgā lapa tiek nosūtīta klienta pārlūkprogrammai.Lielākajai daļai ASP lapu pamatā tiek izmantota VBScript skriptu valoda, bet jebkura cita aktīvās skriptēšanas valoda, piemēram, JScript (Microsoft versija JavaScript valodai) vai PerlScript, var tikt izmantota tās vietā. ASP.NET lapu veidošanai ir iespējams izvēlēties jebkuru .NET ietvara (framework) atbalstītu programmēšanas valodu, piemēram, Visual Baisic, C# vai JavaScript.ASP un ASP.NET datņu papildinājumi ir attiecīgi „.asp” vai „.aspx”, kas ļauj Microsoft IIS tīmekļa serverim viennozīmīgi noteikt, ka šis dokuments vispirms ir jānodod apstrādei attiecīgi ASP / ASP.NET interpretatoram, nevis jāatgriež klientam. Tādejādi tiek nodrošināta dinamiska HTML dokumentu ģenerēšana un nosūtīšana klienta pārlūkprogrammai. Tādā veidā arī tiek panākts, ka visas ASP / ASP.NET lapas vienmēr tiek izpildītas tikai servera pusē un neviens ASP skripta fragments nenonāk klientam.
6
Java Server Pages tehnoloģija
JavaServer Pages (JSP) ir Java tehnoloģija, ar kuras palīdzību iespējams vienkārši un ātri veidot dinamiskas, platformneatkarīgas tīmekļa lapas. JSP tehnoloģijas pamatprincipi ir tādi paši, kā konkurējošajām lietojumu izstrādes tehnoloģijām, pie kurām pieskaitāmas ASP, ASP.NET un PHP, bet realizācija ir nedaudz atšķirīga. JSP tehnoloģija pieļauj Java programmēšanas valodā rakstīta koda un atsevišķu iepriekš definētu XML valodai līdzīgu iezīmju (sauktu par JSP darbībām) iekļaušanu statiskā HTML dokumentā, lai paplašinātu tīmekļa servera iespējas. Java servera lapas tiek kompilētas Java serversīklietotnēs (Java Servlets), kuras pēc tam izpilda Java Virtuālā Mašīna (Java Virtual Machine). Rezultātā tiek iegūta robusta platforma tīmekļa lietojumu izstrādei, kas ir neatkarīga no operētājsistēmas un serversīklietotņu dzinēja (Servlet engine). Java ir plaša pielietojuma, uz klasēm bāzēta, objektorientēta, programmēšanas valoda, kuru pagājušā gadsimta deviņdesmito gadu sākumā izstrādāja kompānija Sun Microsystems. Lielā mērā Java valodas sintakse ir aizgūta no C un C++, bet tā ir organizēta nedaudz savādāk, daļa ideju ir aizgūtas no citām programmēšanas valodām. Jau sākotnēji tā tika plānota kā izstrādes valoda un tāpēc nesatur salīdzinoši jaunas, nenotestētas un nedrošas konstrukcijas [1], piemēram, pieeju masīviem bez indeksu pārbaudes, jo šādas nedrošas konstrukcijas var novest pie neprognozējamas programmas izpildes un līdz ar to ar drošību saistītām problēmām. Java lietojumi parasti tiek kompilēti baitkodā, kaut arī kompilēšana mašīnkodā arī ir iespējama. Izpildes laikā baitkods parasti tiek interpretēts vai arī kompilēts, bet arī tieša baitkoda izpilde ir iespējama ar Java procesora starpniecību.
7
Programmēšanas valodu izmantošanas biežums veidojiot lietojumus C (17%; 25)
C++ (15%; 23) C# .NET (19%; 28) COBOL (1%; 1) Delphi (5%; 8) Java (38%; 57) Javascript (14%; 21) LISP (0%; 0) Perl (33%; 50) Python (15%; 23) PHP (53%; 80) Smalltalk (1%; 2) VB (9%; 13) VB .NET (8%; 12) VBScript (5%; 8) .NET - other (1%; 1)
8
Datu bāzes serverī glabājamās procedūras (stored procedures)
Lietojums
1. komponenteDatu bāzes sistēma
Datu bāzes vadības sistēma
Datu glabāšanas permanentās struktūras
Skati
Programmas komponente
? ?
2. komponente
3. komponente
Datu bāzes
interfeiss
Datu bāzē glabājamās procedūras (stored procedures)
1. glabājamā procedūra
2. glabājamā procedūra
9
Datu bāzē glabājamo procedūru definējumu
1. Glabājamā procedūra ir DB glabājama programma ar iekļautām SQL komandām,
kuru var tieši izsaukt klienta programmas vai DB trigeri. To nevajag kopēt dažādās
lietojumu programmās.
2. Glabājamā procedūra ir programma, kuru var izsaukt griežoties pie DB. Tā
glabājas DB datu vārdnīcā. Bieži tās apzīmēšanai lieto saīsinājumus: sproc, StoPro, SP.
Glabājamās procedūras izmanto:
1) datu pārbaudei jeb validācijai;
2) pieejas tiesību vadībai (access control);
3) datu izgūšanai no DB (procedūras iekļauj SQL vaicājumus).
3. Glabājamās procedūras ir līdzīgas lietotāju definētajām funkcijām. Tās nevar
iekļaut SQL vaicājumos un tās izsauc, lietojot CALL priekšrakstu. Glabājamās
procedūras atgriež rezultātu kopu (result set), kuru var izmantot, lietojot kursora
mehānismu citā glabājamā procedūrā vai lietojuma programmā.
Dažādās DB sistēmās tiek izmantotas atšķirīgas programmēšanas valodas glabājamo
procedūru realizēšana. Visbiežāk tiek veidots savs SQL valodas procedurālais
paplašinājums (PL/SQL, Transact-SQL, SQL/PL).
Glabājamo procedūru plašā izmantošana veicināja dažu procedurālo elementu
iekļaušanu SQL standartos SQL:1999 un SQL:2003. Tas SQL valodu no deklaratīvas
valodas pavirza uz imperatīvu valodu pusi (valoda, kurā uzrakstītajā programmā tiek
tieši norādīts vēlamā rezultāta iegūšanas veids, bet netiek norādītas tā īpašības).
Par glabājamo procedūru var izteikties tieši tāpat, kā par valodas Java lietošanu:
izveidojam vienreiz, lietojam tik reizes, cik nepieciešams. Dinamiskā SQL izmantošana
glabājamā procedūrā ļauj veikt jebkurus SQL vaicājumus.
10
Programmu savienojums ar datu bāzi
1. Savienojuma definēšanas nepieciešamība.2. Savienojums "pēc noklusēšanas" (default connection).
Lietojums jeb lietojuma
programma
Datu bāzes sistēma In te rf eis s In te rf eis s
Komunikācijas vide
Datu bāzes vadības sistēma
Datu bāze
Glabājamās procedūras
Dati
1
2
11
Programmēšanas valodas dažādās DB sistēmās
Datu bāzes sistēma Iekšējā programmēšanas valodaMicrosoft SQL Server
Transact-SQL un dažādas .NET Framework valodas
Oracle PL/SQL vai JavaDB2 SQL/PLInformix SPLPostgreSQL PL/pgSQL, pl/perl, pl/phpFirebird PSQL un daļēji Oracle PL/SQL
MySQL specifisks risinājums saskaņā ar SQL:2003 standartu
MS Access Visual Basic for Application