lietišķo datorsistēmu programmatūra
DESCRIPTION
5 .lekcija. DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa. Materiālu sagatavoja: V. Kotovs Atbildīgais pasniedzējs: prof. L. Novickis. Lietišķo datorsistēmu programmatūra. 9/1/2014. 1. Plāns. Ieskats uz komponentiem balstītās programmatūras izstrādes metodēs - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/1.jpg)
Lietišķo datorsistēmu Lietišķo datorsistēmu programmatūraprogrammatūra
DITF LDI Lietišķo datorsistēmu programmatūras
profesora grupa
Materiālu sagatavoja: V. KotovsAtbildīgais pasniedzējs: prof. L.Novickis
04/21/2304/21/23 11
5.lekcija
04/21/2304/21/23 11
![Page 2: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/2.jpg)
Plāns
Ieskats uz komponentiem balstītās programmatūras izstrādes metodēs
Programmatūras komponents, komponentu modelis
Ieskats Enterprise Java Bean komponentu modelī un SCA arhitektūrā
04/21/2304/21/23 22
![Page 3: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/3.jpg)
1.Uz komponentiem balstītā programmatūras izstrāde (1/2)
04/21/2304/21/23 33
1968 - idejas par programmatūras komponentu apakš-industrijas nepieciešamību (McIlroy, “Mass Produced Software Components”) Programmatūras krīze (strauja datoru
jaudas attīstība, risināto problēmu sarežģītība)
Secinājumi par programmatūras industrijas vājiem pamatiem
Analoģija ar aparatūras inženierzinātņu disciplīnām
1990 – IBM Sistēmas objektu modelis (SOM), Microsoft OLE/COM
Enterprise JavaBeans, COM+, OSGI
![Page 4: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/4.jpg)
1.Uz komponentiem balstītā programmatūras izstrāde (2/2)
04/21/2304/21/23 44
Uz komponentiem balstītā programmatūras izstrāde (CBSE) – programmatūras inženierijas disciplīna, orientēta uz programmatūras sistēmu dekompozīciju funkcionālajos vai loģiskajos komponentos ar stingri definētām saskarnēm, ar kuru palīdzību tiek nodrošināta sadarbība starp komponentiem
Programmatūras komponentu infrastruktūra ir programmatūras komponentu kopa, kas nodrošina, ka programmatūras sistēmas vai apakšsistēmas, izstrādātas izmantojot definētus komponentus un saskarnes, atbilst definētām prasībām
![Page 5: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/5.jpg)
2. Uz komponentiem un servisiem orientētā arhitektūra (1/2)
Lielu un sadalīto biznesa informācijas sistēmu prasības: Attālo metožu izsaukumi Slodzes līdzsvarošana Caurspīdīga kļūdu apstrāde Transakcijas Dinamiskā atkārtotā izvēršana Sistēmas uzturēšana un to uzdevumu
automatizācija Objektu dzīves cikla pārvadīšana Aizsardzības mehānismu efektīva
implementēšana Kešdarbe
04/21/2304/21/23 55
![Page 6: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/6.jpg)
2. Uz komponentiem un servisiem orientētā arhitektūra (2/2)
Serviss ir „atbilstošu komponenšu grupa, kura realizē noteiktas biznesa procesa funkcijas”
Nodrošina augstu atkārtotās lietošanas iespējamību - sistēmas projektētāji izveido programmatūru kā servisu kopu, kuri var būt izmantoti no jebkuras platformas un izpildes vides
Pievērš uzmanību stratēģiskai programmatūras izstrādāšanai
Nodrošina iespēju „savākts” biznesa procesus pēc iespējas ātrāk
Web Servisu tehnoloģijas Amazon, Google, Siebel
04/21/2304/21/23 66
![Page 7: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/7.jpg)
3.Programmatūras komponents, komponentu modelis (1/3)
04/21/2304/21/23 77
Definīcijas kompilēta programmatūras daļa (Microsoft COM) kompozīcijas vienība ar stingri specificētām saskarnēm
un skaidrām kontekstuālām atkarībām (Szyperski) Neatkarīgi izstrādāta atkārtoti lietojama programmatūras
daļa, kura ir kombinējama ar citiem komponentiem (D.Souza)
Programmatūras komponents ir programmatūras elements atkārtoti lietojama izvēršanas un kompozīcijas vienība neatkarīgi izvēršams un izmantojams kompozīcijā ar
citiem bez papildus izmaiņām atbilstoši standartam atbilst komponentu modelim skaidri definēta standartizēta saskarne, atdalīta no
realizācijas izpildes laika kompozīcija
![Page 8: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/8.jpg)
3.Programmatūras komponents, komponentu modelis (2/3)
Komponentu modelis definē komponentu sadarbības, savietojamības un kompozīcijas standartu. Komponentu modeļa realizācija ir izpildāmo programmatūras elementu kopa, kas nodrošina komponentu izpildīšanu. definē noteikumus individuālā komponenta
konstruēšanai nosaka pamata mehānismus komponentu
mijiedarbībai nodrošina komponentu paplašināšanas mehānismus
04/21/2304/21/23 88
![Page 9: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/9.jpg)
3.Programmatūras komponents, komponentu modelis (3/3)
CBSE un OOP OOP - Programmatūras izstrāde notiek saskaņā ar
faktisko vai iedomājamo objektu mentālo modeli CBSE – Orientējās uz programmatūras izstrādi no
gataviem komponentiem (līdzīgi aparatūras inženierijas nozarēs)
Vai klase ir komponents ?
Citas atšķirības Komponenti bieži izmanto pastāvīgās glabātuves;
objekti - lokālo stāvokli Komponentiem ir plašākā mijiedarbības mehānismu
kopa Komponentu piemīt lielāka granularitāte
04/21/2304/21/23 99
![Page 10: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/10.jpg)
4.Programmatūras komponentu saskarnes (1/2)
Komponenta piekļuves punktu specifikācija Komponenta uzvedības abstrakcija, kas apraksta tā
mijiedarbības un ierobežojumus. Nodrošināta saskarne – komponents nodrošina
visu saskarnes operāciju realizāciju. Paslēpj komponenta implementēšanas detaļas. Nosaka komponenta funkcionālas īpašības
Nepieciešama saskarne – komponents izmanto saskarnē aprakstīto funkcionalitāti un sagaida kāda cita programmatūras elementa pastāvēšanu, kurš nodrošinātu saskarnes realizāciju.
Komponentu mijiedarbības standarts nosaka komponenta saskarnes elementus aptver tiešās un netiešās mijiedarbības starp
komponentiem nosaka saskarnes reģistrēšanas/uzturēšanas
aspektus
04/21/2304/21/23 1010
![Page 11: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/11.jpg)
4.Programmatūras komponentu saskarnes (2/2)
04/21/2304/21/23 1111
![Page 12: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/12.jpg)
5.CBSE labumi un kavēkļi
Labumi Programmatūras sistēmu izstrādāšana no gataviem
komponentiem Efektīva programmatūras sarežģitības vadīšana Samazināts izstrādes resursu un laika apjoms
programmatūras sistēmu izstradāšanai Uzlabota produktivitāte un kvalitāte
Kavēkļi
Papildus izmaksas, laiks un piepūles komponentu izstradāšanai
Neskaidras un divdomīgas prasības (funkcionālās un nefunkcionālās)
Atkārtotās un vieglas lietojamības konflikts Komponentu uzturēšanas izmaksas Drošums un jūtīgums pret izmaiņām
04/21/2304/21/23 1212
![Page 13: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/13.jpg)
6.Komponentu specifikācijas tehnikas (1/2)
Sintaktiskā specifikācija COM, CORBA, Sun EJB
Meta-modelis programmatūras komponentu specifikācijai
04/21/2304/21/23 1313
![Page 14: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/14.jpg)
6.Komponentu specifikācijas tehnikas (1/2)
Komponenti UML valodā
04/21/2304/21/23 1414
![Page 15: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/15.jpg)
6.Komponentu specifikācijas tehnikas (2/2)
Komponentu objektu modeļa (COM) saskarnes specifikācijas piemērs (IDL)
interface ISpellCheck : IUnknown {
HRESULT check([in] BSTR *word, [out] bool *correct);
};
interface ICustomSpellCheck : IUnknown {
HRESULT add([in] BSTR *word);
HRESULT remove([in] BSTR *word);
};
library SpellCheckerLib {
coclass SpellChecker
{
[default] interface ISpellCheck;
interface ICustomSpellCheck;
};
};
04/21/2304/21/23 1515
![Page 16: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/16.jpg)
8.Enterprise Java Bean komponentu modelis (1/5)
Standarts serveru puses komponentu izstrādei Java platformā Pieņemts industrijā un plaši izmantots EJB komponentiem piemīt viegla pārnesamība To izmantošanas rezultātā tiek novērota ātrākā
programmatūras izstrāde
EJB no tehniskā viedokļa Specifikācija, kura nosaka saistības noteikumus
starp komponentiem un lietojuma serveriem Java interfeisu kopa, kuru jāizmanto izstrādājot
komponentus un lietojumu serverus
![Page 17: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/17.jpg)
8.Enterprise Java Bean komponentu modelis (2/5)
![Page 18: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/18.jpg)
8.Enterprise Java Bean komponentu modelis (3/5)
Rīku piegādātājs
Bean piegādātāji
Lietojuma montētājs
EJB konteinera/servisa
piegādātājs
Izplatītājs Sistēmas administrators
EJB ekosistēmas dalībnieki
![Page 19: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/19.jpg)
8.Enterprise Java Bean komponentu modelis (4/5)
Sesijas EJB (Session bean) - modelē biznesa procesus
Būtību EJB (Entity bean)- modelē biznesa datus.
Ar ziņojumiem vadīts EJB komponents
![Page 20: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/20.jpg)
EJB izmantošanas shēma
8.Enterprise Java Bean komponentu modelis (5/5)
![Page 21: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/21.jpg)
9. Ieskats SCA arhitektūra (1/)
Servisa komponentu arhitektūra (SCA) Izpildamais modelis biznesa sistēmu
konstruēšanai, izmantojot eksistējošo servisu komponentu kompozīciju un izvēršanu
Veiklā pieeja programmatūras sistēmu izstrādāšanai, balstoties uz servisu orientētu arhitektūru
Motivācija Stingri definētas saskarnes ar biznesa līmeņa semantiku Standartizēti komunikācijas protokoli Elastīga servisu rekombinācija
Apache Tuscany, Eclipse SOA Tools, IBM WebSphere
04/21/2304/21/23 2121
![Page 22: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/22.jpg)
9. Ieskats SCA arhitektūra (2/)
Pamata elementi Servisu salikums
No tehnoloģijas un valodas neatkarīga servisu kompozīcijas atspoguļošana
Servisa komponents
No tehnoloģijas un valodas neatkarīga servisa realizācijas atspoguļošana
Servisa datu objekts
No tehnoloģijas un valodas neatkarīga servisa datu būtību atspoguļošana
04/21/2304/21/23 2222
![Page 23: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/23.jpg)
9. Ieskats SCA arhitektūra (3/)
SCA labumi Vāja saistība – komponenti tiek integrēti bez
nepieciešamības zināt citu komponentu implementēšanas detaļas
Elastīgums – komponentu viegla aizvietojamība Skaidri aprakstīta risinājumu kompozīcija Produktivitāte Neviendabīgums – vairākas realizāciju valodas,
sadarbības mehānismi Deklaratīva servisu izmantošana
04/21/2304/21/23 2323
![Page 24: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/24.jpg)
9. Ieskats SCA arhitektūra (3/)
SCA salikuma piemērs
04/21/2304/21/23 2424
![Page 25: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/25.jpg)
9. Ieskats SCA arhitektūra (3/)
SCA elementi Salikuma modelis
Definē kompozējamo sistēmu struktūru Realizāciju specifikācijas
Nosaka kā jārealizē biznesa servisus konkrētā valodā
Saistīšanas specifikācijas
Nosaka metodes piekļuves mehānismus (Web Servisi, RMI-IIOP, JMS, REST )
04/21/2304/21/23 2525
![Page 26: Lietišķo datorsistēmu programmatūra](https://reader035.vdocuments.site/reader035/viewer/2022081419/56815156550346895dbf7796/html5/thumbnails/26.jpg)
9. Ieskats SCA arhitektūra (4/)
SCA piemērs (IBM, 2008)
04/21/2304/21/23 2626