Virtlab:Vývojáři
Z VirtlabWiki
(Rozdíly mezi verzemi)
												
			
			| Verze z 20:04, 11. 8. 2007 Bam015 (Diskuse | příspěvky) (komponenty) ← Předchozí porovnání  | 
				Aktuální verze Gry72 (Diskuse | příspěvky) (→Distribuovaný Virtlab)  | 
			||
| Řádka 1: | Řádka 1: | ||
| - | Zde jsou informace pro SRPV (nepřihlášený uživatel se zde nedostane a přihlásit se mohou jen uživatelé, které vytvoří správce [[Uživatel:Vav166|Vav166]]) | + | Zde jsou informace primárně pro [[Nápověda:SRPV | SRPV ]] | 
| == Filosofie vývoje == | == Filosofie vývoje == | ||
| - | * důraz na spolehlivou základní funkčnost | + | * důraz na '''spolehlivou základní funkčnost''' | 
| - | ** co nejméně zbytečných omezení pro uživatele a vychytávek speciálních případů (na které stejně v praxi téměř nedojde a jen znepřehledňují kód) | + | ** co '''nejméně zbytečných omezení''' pro uživatele a vychytávek speciálních případů (na které stejně v praxi téměř nedojde a jen znepřehledňují kód) | 
| - | * důsledné ošetření chybových stavů, zotavení z chyb | + | * důsledné '''ošetření chybových stavů''', zotavení z chyb | 
| - | ** počítat s výpadkem komunikace mezi distribuovanými komponentami ve kterémkoli okamžiku a zotavit se z něj | + | ** '''počítat s výpadkem komunikace''' mezi distribuovanými komponentami ve kterémkoli okamžiku a zotavit se z něj | 
| - | * co největší modularita | + | * co '''největší modularita''' | 
| ** na úrovni spustitelných programů i zdrojových kódů | ** na úrovni spustitelných programů i zdrojových kódů | ||
| - | ** důležité pro neustále se rozrůstající projekt i vývojový tým | + | ** důležité pro '''neustále se rozrůstající''' projekt i vývojový tým | 
| * kvalitní a jednotný logging debug informací a informací o běhu | * kvalitní a jednotný logging debug informací a informací o běhu | ||
| ** mezi servery předávat volitelný parametr hlavičky TransactionID - vymýšlí klient (povětšinou řídící server (PHP), případně aktivátor konfigurací) - server nemění, zopakuje v odpovědi, pokud dotaz rozesílá dále, zopakuje. Loguje se pro snadné sledování akcí vyvolaných konkrétním požadavkem. | ** mezi servery předávat volitelný parametr hlavičky TransactionID - vymýšlí klient (povětšinou řídící server (PHP), případně aktivátor konfigurací) - server nemění, zopakuje v odpovědi, pokud dotaz rozesílá dále, zopakuje. Loguje se pro snadné sledování akcí vyvolaných konkrétním požadavkem. | ||
| - | ** debug a log hlášení v angličtině (předpoklad brzkého exportu řešení mimo ČR) | + | ** debug a log '''hlášení v angličtině''' (předpoklad brzkého exportu řešení mimo ČR) | 
| - | |||
| - | == Nedistribuovaný Virtlab == | ||
| - | I přes vývoj distribuované verze bude v horizontu 1-2 let udržována i původni verze (http://vl-test.cs.vsb.cz), ze které bude zejména [[Uživatel:kub348|Roman Kubín]] odstraňovat připadné existujicí chyby. Zásadní rozšíření však již nebudou implementována. Na produkčním Virtlabu bude nasazena právě tato verze do té doby, než bude distribuovaná verze plně funkční a kvalitně otestována. | ||
| - | |||
| - | * [[Virtlab:Testing|Co je třeba testovat]] | ||
| - | ** [[Virtlab:Testing-globalTesting-12-2006|Globální otestování 12/2006]] | ||
| - | * [[Virtlab:Nondistr-reported-errors|Ohlášené chyby]] | ||
| - | |||
| - | === Materiály === | ||
| - | Materiály zde prezentované mohou být historické a nemusí odpovídat nejnovějšímu stavu. | ||
| - | * [[Media:README_virtlab-Nemec.txt|Původní protokol CServer-Applet (od Pavla Němce)]] | ||
| == Distribuovaný Virtlab == | == Distribuovaný Virtlab == | ||
| '''Testovací prostředí distribuovaného Virtlabu je budováno s podporou grantu-projektu Fondu rozvoje Cesnet č. 213/2006 a za spoluúčasti LCNA při obchodně-podnikatelské fakulty Slezské univerzity v Karviné.''' | '''Testovací prostředí distribuovaného Virtlabu je budováno s podporou grantu-projektu Fondu rozvoje Cesnet č. 213/2006 a za spoluúčasti LCNA při obchodně-podnikatelské fakulty Slezské univerzity v Karviné.''' | ||
| - | Seznam prací a harmonogram pro zprovoznění pilotní konfigurace: [http://virtis.viakis.net http://virtis.viakis.net] nebo [https://virtis.viakis.net https://virtis.viakis.net] | + | * Seznam prací a harmonogram pro zprovoznění pilotní konfigurace je v [[Virtlab:VirtIS|VirtISu]]: [http://virtis.viakis.net http://virtis.viakis.net] nebo [https://virtis.viakis.net https://virtis.viakis.net] | 
| - | + | * V SVN repository větev DISTR | |
| - | V repository větev DISTR | + | * [[Virtlab:Terminologie|Terminologie a základní architektura]] | 
| - | + | ||
| - | * [[Virtlab:DistrTerminologie|Terminologie a základní architektura]] | + | |
| - | * Komponenty | + | |
| - | ** [[Virtlab:DistrVirtlabServer|Řídící server lokality ("Virtlab server")]] | + | |
| - | ** [[Virtlab:ActivatorServer|Aktivační server]] (vzniklý [[Virtlab:DistrRezervServerSplit|rozdělením rezervačního serveru]]) | + | |
| - | ** [[Virtlab:DistrRezervServer|Rezervační server]] | + | |
| - | ** [[Virtlab:DistrConfigServer|Konfigurační server]] | + | |
| - | ** [[Virtlab:DistrEraseServer|Mazací server]] | + | |
| - | ** [[Virtlab:DistrCServer|Konzolový server]] | + | |
| - | ** [[Virtlab:Applet|Klientský applet (emulátor terminálu)]] | + | |
| - | ** segment virtuálního spojovacího pole | + | |
| - | *** n x C3550 (příp. C1900), n x ASSSK1 (a.k.a. Tatabazmek) | + | |
| - | ** [[Virtlab:Tunelovací server|Tunelovací server]] | + | |
| - | + | ||
| - | * [[Virtlab:DistrProtokoly|Protokoly - obecná pravidla]] | + | |
| - | ** [[Virtlab:Rezervační server|Rezervační server]] | + | |
| - | ** [[Virtlab:DistrProtokolCServer|Konzolový server ]] | + | |
| - | ** [[Virtlab:DistrProtokolConfigServer|Konfigurační server ]] | + | |
| - | ** [[Virtlab:DistrDB|Databáze]] | + | |
| - | *** [[Virtlab:DistrDatoveStruktury|Datové struktury - DOPLNIT ODKAZY NA AKTUALNI]] | + | |
| - | + | ||
| * [[Virtlab:DistrMapovani|Mapování logických laboratorních prvků na fyzické]] | * [[Virtlab:DistrMapovani|Mapování logických laboratorních prvků na fyzické]] | ||
| - | + | * '''Komunikace mezi lokalitami''' | |
| - | * Komunikace mezi lokalitami | + | ** Propojovací tunely - datové toky (enkapsulované rámce) mezi rozhraními laboratorních prvků. Propojovací tunely jsou ukončeny na [[:Kategorie:Tunelovací server | tunelovacích serverech]] jednotlivých lokalit. | 
| - | ** Propojovací tunely - datové toky (enkapsulované rámce) mezi rozhraními laboratorních prvků. Propojovací tunely jsou ukončeny na tunelovacích serverech jednotlivých lokalit. | + | ** Komunikace mezi [[:Kategorie:Rezervační server | rezervačními servery]] | 
| - | ** Komunikace mezi rezervačními servery | + | ** Komunikace mezi [[:Kategorie:Konfigurační server | konfiguračními servery]] | 
| - | ** Komunikace mezi konfiguračními servery (?) | + | |
| - | + | ||
| * [[Virtlab:LoggingDebugging|Logování a debugging]] | * [[Virtlab:LoggingDebugging|Logování a debugging]] | ||
| - | |||
| * [[Virtlab:TimeUsage|Unifikovaná práce s časem]] | * [[Virtlab:TimeUsage|Unifikovaná práce s časem]] | ||
| - | * [[DistrRozsireni|Navrhované pokročilé vlastnosti a plány do budoucna]] | ||
| - | |||
| - | * [[Virtlab:DistrTesting|Co je třeba testovat (až bude co...)]] | ||
| - | * konfigurace | ||
| - | ** [[Virtlab:DistrTestovací-Konfigurace|Konfigurace testovacího distribuovaného Virtlabu]] | ||
| - | |||
| - | * [[Virtlab:DistrPiloting|Zprovoznění pilotní instalace - červenec 2007]] | ||
| - | |||
| - | |||
| - | === Nejbližší nutné kroky (OLD) === | ||
| - | Oddělení logické topologie od fyzické - Honza Vavříček | ||
| - | |||
| - | * část GUI pro práci se zařízeními buďto zatím odstranit nebo zobecnit, aby uměl generovat konfigurační soubory pro ConServer (mapování globálního jména prvku na znakové zařízení nebo IP adr./port) a rezervační server (parametry prvků k dispozici + časy kdy a komu). Pokud by bylo odstraněno, musel by správce konfigurační soubory psát ručně | ||
| - | * nástěnka v současném pojetí s timesloty zmizí | ||
| - | * rezervace - předělat, možnost rezervace bez ohledu na timesloty, paralelní a překrývající se rezervace | ||
| - | * do úlohy přidat XML s popisem logické topologie | ||
| - | * spuštění úlohy - úprava parametrů předávaných appletu (který je předává dále konzolovému serveru) - s ohledem na nový protokol applet-conserver, zaslání globální identifikace cílového laboratorního prvku a reservationID, který snad může nějak posloužit pro autentizaci. | ||
| - | Předání IP adresy správného konzolového serveru (proxying přes server lokality). | ||
| - | |||
| - | Konzolový server - Tomáš Hrabálek | ||
| - | |||
| - | * Definice portů MOXA (/dev/ttyMx], na kterých jsou připojeny jednotlivé prvky, nezveřejňovat mimo konfigurační soubory Conserveru dané lokality. Navenek v protokolu Applet-Conserver pracovat s globálními jmény prvků. V konfiguračním souboru Conserveru dát možnost definovaat buďto číslo portu na MOXA (jméno souboru znakového zařízení) nebo IP adresu a portu serveru, kam navázat TCP spojení (instance UML a Dynamips) | ||
| - | * Conserver musí mít v konfiguraci tabulku adres Conserverů ostatních lokalit, aby z globálního jména prvku, na který se chce uživatel připojit, ze jména lokality poznat, kam protáhnout TCP spojení. | ||
| - | |||
| - | == Zápisy ze schůzek == | ||
| - | * [[Virtlab:Porady|Zápisy z porad]] - provozní záležitosti (produkční i testovací Virtlab), testing | ||
| - | Zápisy ze schůzek se nacházejí v kategorii [[:Kategorie:Zápisy schůzí|Zápisy schůzí]] | ||
| - | * pro čistě NEdistribuovaný Virtlab je kategorie [[:Kategorie:Zápisy schůzí nedistribuovaného virtlabu|Zápisy schůzí nedistribuovaného virtlabu]] | ||
| - | * pro čistě distribuovaný Virtlab je kategorii [[:Kategorie:Zápisy schůzí distribuovaného virtlabu|Zápisy schůzí distribuovaného virtlabu]] | ||
| - | |||
| - | == Obecné informace == | ||
| - | * [[Help:MediaWiki|Věci k zacházení s (touto) Wiki]] | ||
| - | * další užitečné informace jsou na stránce [[Nápověda a HOW-TOs]] | ||
| - | * [[Virtlab:Kontakty|Podrobné kontakty na člený SRPV s "rozpisem" činností]] | ||
| - | * [https://vl-test.cs.vsb.cz/websvn/ Webové rozhraní pro přístup k SVN] ('''nutná autentizace''' univerzálním heslem) | ||
| - | * [[Virtlab:Linuxové okénko|Linuxové okénko]] nejen pro ne/ználky ;) | ||
| - | |||
| - | Testovací Virtlab může být kdykoli upgradován z SVN. '''Do SVN proto dávejte prosím jen konzistentní a rozumně funkční verze''', žádné mezistavy. | ||
| - | Pokud tedy na testovacím Virtlabu něco zkoušíte, udělejte si kopii webové struktury u sebe v adresáři, protože '''"oficiální" struktura webu může být kdykoli prepsána upgradem z repository'''. | ||
| - | |||
| - | * [[Virtlab:SQL|Požadavky na změnu SQL databáze na produčním Virtlabu]] | ||
| - | == Nabídka prací == | + | [[Kategorie:UNCOMPLETE]] | 
| - | Seznam prací, které potřebujeme provést pro zprovoznění pilotní instalace distribuovaného Virtlabu mezi lokalitami Ostrava a Karviná je v [[Virtlab:VirtIS | evidenčním systému jménem VirtIS]], který běží na adrese: [http://virtis.viakis.net http://virtis.viakis.net] nebo [https://virtis.viakis.net https://virtis.viakis.net], kde je možno zaznamenat zájem o jednotlivé úkoly. | + | |
| - | === Přihlášení === | + | |
| - | '''uživatel:''' <code>login</code> defaultní '''heslo:''' <code>virtlab</code> | + | |
Aktuální verze
Zde jsou informace primárně pro SRPV
[editovat]
Filosofie vývoje
-  důraz na spolehlivou základní funkčnost
- co nejméně zbytečných omezení pro uživatele a vychytávek speciálních případů (na které stejně v praxi téměř nedojde a jen znepřehledňují kód)
 
 -  důsledné ošetření chybových stavů, zotavení z chyb
- počítat s výpadkem komunikace mezi distribuovanými komponentami ve kterémkoli okamžiku a zotavit se z něj
 
 -  co největší modularita
- na úrovni spustitelných programů i zdrojových kódů
 - důležité pro neustále se rozrůstající projekt i vývojový tým
 
 -  kvalitní a jednotný logging debug informací a informací o běhu
- mezi servery předávat volitelný parametr hlavičky TransactionID - vymýšlí klient (povětšinou řídící server (PHP), případně aktivátor konfigurací) - server nemění, zopakuje v odpovědi, pokud dotaz rozesílá dále, zopakuje. Loguje se pro snadné sledování akcí vyvolaných konkrétním požadavkem.
 - debug a log hlášení v angličtině (předpoklad brzkého exportu řešení mimo ČR)
 
 
[editovat]
Distribuovaný Virtlab
Testovací prostředí distribuovaného Virtlabu je budováno s podporou grantu-projektu Fondu rozvoje Cesnet č. 213/2006 a za spoluúčasti LCNA při obchodně-podnikatelské fakulty Slezské univerzity v Karviné.
- Seznam prací a harmonogram pro zprovoznění pilotní konfigurace je v VirtISu: http://virtis.viakis.net nebo https://virtis.viakis.net
 - V SVN repository větev DISTR
 - Terminologie a základní architektura
 - Mapování logických laboratorních prvků na fyzické
 -  Komunikace mezi lokalitami
- Propojovací tunely - datové toky (enkapsulované rámce) mezi rozhraními laboratorních prvků. Propojovací tunely jsou ukončeny na tunelovacích serverech jednotlivých lokalit.
 - Komunikace mezi rezervačními servery
 - Komunikace mezi konfiguračními servery
 
 - Logování a debugging
 - Unifikovaná práce s časem
 
