Projekty
Vzhledem k různým požadavků na funkce a jejich umístění (uživatelské účty, přístupová opravnění atd.) je systém člěnen do projeků, aplikací, rozšíření a dalších komponent. Typický systém sestává většinou z několika projektových částí, skládajícíh služby do logických celků.
Obsah
Popis součástí konceptu
Pro pochopení práce je nutné si vysvětlit jednotlivé projektové součásti, které systém podporuje.
Hostitel a Supervisor
Supervisor je základní systém umožňující spravovat a dohledovat nainstalované projekty. Supervisor vždy obsluhuje požadavky pro konkrétní IP adresu serveru a při příchodu jej nasměruje na správný projekt dle směrovacích záznamů projektu.
Projekt
Projekt je chápán jako logicky seřazený soubor funkcí pokrývající danou problematiku. Návrh celého systému projektů je založen na znovupoužitelnosti balíků. Obecné balíky obsahující danou logiku (např. implemetace FreeRADIUSu) lze plně recyklovat a používat v různých projektech na různých místech.
Aplikace
Aplikace poskytuje obsluhu služeb, skládá funkce do logických celků a nabízí další možná rozšíření, která jsou dostupná.
Rozšíření
Rožšíření umožňuje instalovat dostupné alternativy pro vybranou aplikaci a projekt. Jako příklad je možné uvést různá prezentační rozhraní vytvořená dle požadavků uživatele.
Příklad hostitele a projektů
Na příkladu si ukážeme typickou strukturu hostitele s několika projekty.
Hostitel ( Supervisor ) |-Projekt 1 (Administrační rozhraní projektu OmISP) | |-Směrovací záznamy odkazující na projekt ( vždy bude vyžadována URL ve tvaru: admin.omisp.cz) | |-Směrovací záznam č.1 | |-Výraz: admin\.omisp\.cz | |-Cíl: admin.omisp.cz | |-Cílová: ANO | |-Specifičnost: 10 |-Projekt 2 (Klientské rozraní projektu OmISP) | |-Směrovací záznamy odkazující na projekt ( vždy bude vyžadována URL ve tvaru: klient.omisp.cz) | |-Směrovací záznam č.1 | |-Výraz: admin\.omisp\.cz | |-Cíl: admin.omisp.cz | |-Cílová: ANO | |-Specifičnost: 10 |-Projekt 3 (Veřejné rozraní projektu OmISP) | |-Směrovací záznamy odkazující na projekt ( vždy bude vyžadována URL ve tvaru: www.omisp.cz) | |-Směrovací záznam č.1 | | |-Výraz: www\.omisp\.cz | | |-Cíl: www.omisp.cz | | |-Cílová: ANO | | |-Specifičnost: 10 | |-Směrovací záznam č.2 | |-Výraz: *\.omisp\.cz | |-Cíl: www.omisp.cz | |-Cílová: NE | |-Specifičnost: 100 |-Projekt 4 (Veřejné rozraní www.cernovice.net) | |-Směrovací záznamy odkazující na projekt ( vždy bude vyžadována URL ve tvaru: www.cernovice.net) | |-Směrovací záznam č.1 | | |-Výraz: www\.cernovice\.net | | |-Cíl: www.cernovice.net | | |-Cílová: ANO | | |-Specifičnost: 10 | |-Směrovací záznam č.2 | |-Výraz: *\.cernovice\.net | |-Cíl: www.cernovice.net | |-Cílová: NE | |-Specifičnost: 100
Postup vyhledávání cílového projektu
- Po obdržení požadavku, provede supervisor vyhledání všech směrovacích záznamů v databázi spravovaných projektů.
- Jednotlivé směrovací záznamy jsou seřazeny vzestupně ( nižší číslo má větší prioritu) a následně jsou testovány na shodu.
- Pokud je nalezena shoda a cílový výraz se přesně shoduje s cílovým hostitelem, je vybrán pro zpracování projekt, ke kterému směrovací záznam patří.
- V opačném případě je požadavek přesměrován na novou cílovou adresu.
Projektové části OmISP
Projekt OmISP sestává z několika spolupracujících projektů.
Momentálně implementované projekty jsou:
- Administrační rozhraní - Tato část projektu je určena pro subjekty poskytující telekomunikační a datové služby. V tomto projektu je možné provádět kompletní účtování služeb a obsluhovat různé role subjektů (odběratelé, dodavatelé, atd.) a mnoho dalšího.
- Klientské rozhraní - je určeno pro odběratele subjektů poskytující telekomunikační služby. V tomto projektu mají odběratelé kompletní přehled o vlastních službách, včetně možnosti jejich změny a informace o jejich vyúčtování.
- Systém nabídky a dohledu služeb pro síť - Tento projekt jednoduše umožňuje zpřístupňovat služby sítě klientům.Pokud je potřeba, zařízení poskytující služby nasměruje klienta na tento projekt a má možnost se přihlásti do Klientaského rozhraní (viz. Klientské rozhraní). Pokud nově příchozí klient chce využívat služby sítě, je mu zobrazena nabídka poskytovaných služeb daného zařízení a služby si může objednat. Z nově příchozího klienta se pak stává klient a má již přístup ke svému uživatelskému učtu.
Správa projektů
Projekty jsou dynamicky konfigurovány pohodlně z uživatelského prostření. Do systému OmISP jsou jednotlivé funkce a projekty přidávány z repozitáře. Repozitář obsahuje všechny balíčky a projeky a jejich dostupné aktualizace včetně předchozích verzí.
Směrovací záznamy
Směrování požadavkků na jednotlivé projeky se provádí pomocí směrovacích záznamů. Na každý projekt může ukazovat libovolné množství směrovacích záznamů. Jeden směrovací záznam však musí být označen jako "cílový". Takový záznam se používá pro meziprojektovou komunikaci a konfiguraci. Zárověn je konečným záznamem pro zpracování požadavků.Pomocí aliasů je možné velice efektivně směrovat různé adresy projektů na požarovaný jeden bázový záznam.
Příklad 1
Adresa projektu s veřejnou webovou prezentací poskytovatele musí být přeložena na adresu www.isp.cz. Směrovací záznamy :
- 1\.2\.3\.4 -> www.isp.cz // Požadavky na adresu 1.2.3.4 přeložit na www.isp.cz
- .*isp.cz -> www.isp.cz // Jakýkoli pořadavek vyhovující výrazu .*isp.cz přeložit na www.isp.cz
- www.isp.cz -> www.isp.cz // Konečný záznam toto je projekt který hlednám. Tento záznam je označen jako cílový. Projekt je dostupný pod tímto názvem
Supervisor pro správu projektů
Dohled nad projetky a jejich správu zajišťuje supervisor. Obsahuje administrační rozhraní pro manipulaci s projekty. Jednotlivé projekty je možné označit za virtuální hostitele, obsahující vlastní jádro systému a vlastní datový prostor. Supervisor bude dále doplňován o další funkce. Je to jedna z priporit.
Repozitář balíčků
Repozitář obsahuje seznam projeků a balíčky náležící jednotlivým projektům. Podle definovaných přístupovách práv k repozitáři máte možnost instalovat balíčky z povolenýcn projektů. Balíčky jsou srdcem každého projektu. Vzhledem k rychlosti vývoje jsou balíčky maximalizovány. S dalším postupem budou jednotlivé balíčky atomizovány, tak aby bylo možné využívat dostupné alternativy balíků.