04.11.2014 Views

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

42 Štúdie vybraných tém programových a informaných systémov<br />

môže zamera na doménovú logiku aplikácie a nemusí rieši technické otázky ohadom<br />

spolupráce distribuovaných súiastok.<br />

2.1.3 Spôsob fungovania spájajúceho softvéru<br />

Aby mohol distribuovaný systém vôbec zaa pracova, je potrebné jednotlivé súiastky<br />

distribuova na jednotlivé výpotové uzly. Rozlišujeme dva spôsoby distribúcie poda<br />

toho kedy k nej v programe dochádza – statická distribúcia a dynamická distribúcia.<br />

Statická distribúcia<br />

Statická distribúcia prebieha poas kompilácie a spájania (angl. linking). Uritá as kódu je<br />

priradená na vykonanie konkrétnemu hardvéru.<br />

Dynamická distribúcia<br />

Na druhej strane pri dynamickej distribúcii dochádza k priradeniu softvérovej súiastky<br />

konkrétnemu hardvéru poas vykonávania programu. Spájajúci softvér musí zabezpei,<br />

aby súiastka alebo služba boli zaregistrované a tým použitené aj pre alšie súiastky<br />

v systéme.<br />

alšou otázkou, ktorá je riešená na strane spájajúceho softvéru, je vzájomné použitie.<br />

V predchádzajúcom texte sme spomínali, že jednotlivé súiastky sa musia navzájom vidie<br />

a musia by schopné navzájom zdiea svoju funkcionalitu. Z pohadu komunikácie, existujú<br />

dva základné spôsoby ako môžu súiastky v rámci distribuovaného systému vzájomne<br />

komunikova: volanie vzdialených procedúr (angl. remote procedure call) alebo<br />

posielanie správ (angl. message passing). Ostatné metódy sú kombináciou týchto<br />

dvoch. Detaily týkajúce sa komunikácie, vysporadúvania sa s chybami i viditenosti<br />

vzdialených súiastok sú výlune v kompetencii spájajúceho softvéru, a pri návrhu<br />

a tvorbe systému sa vývojári týmito skutonosami zaobera nemusia.<br />

Volanie vzdialených procedúr<br />

Volanie vzdialených procedúr je spôsob komunikácie umožujúci programu transparentne<br />

vola kód (procedúru) v adresnom priestore iného programu. V prípade implementácie<br />

mechanizmu volania vzdialených procedúr na strane spájajúceho softvéru tak môže programátor<br />

využíva funkcionalitu distribuovaných súiastok rovnako ako keby boli umiestnené<br />

na lokálnom stroji.<br />

Posielanie správ<br />

Komunikácia medzi súiastkami pomocou posielania správ je založená na asynchrónnom<br />

odosielaní požiadaviek v balíkoch (správach). Správy, na rozdiel od volaní vzdialených<br />

procedúr, nezanikajú v prípade ak niektorá z komunikujúcich súiastok prestane fungova,<br />

ale zvyajne zostávajú uložené na niektorom z pomocných serverov, ktoré slúžia na<br />

preposielanie správ v takejto architektúre. Mechanizmus založený na posielaní správ je<br />

preto robustnejší pri neoakávaných komunikaných problémoch, vyššia réžia ale mierne<br />

znižuje rýchlos a priepustnos takejto komunikácie.<br />

Obrázok 2-3 zachytáva príklad architektúry spájajúceho softvéru, ktorý umožuje volanie<br />

vzdialených metód. Softvéry klienta a servera môžu by napísané v ubovoných<br />

programovacích jazykoch, potrebné je ale ma k dispozícii vhodné súiastky v týchto jazy-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!