Dlouhých 23 let jsme se starali o informační systém OSS/BSS. Hodně dlouhá doba, abychom mohli srovnat, co bylo tehdy a co je teď

OSS/BSS od roku 2001
V roce 2001 jsme dodali první naše moduly OSS/BSS systému pro Telenor Networks. Od té doby je nepřetržitě v provozu, i když mezitím změnil několikrát majitele, TN koupila GTS Novera, tu později převzal T-Mobile. A s ní i náš systém
23 let na informační systém, který patřil mezi kritické systémy společností, není sice na rekord, ale stejně je to dost na srovnání doby, kdy začínal a dneška, kdy končí. Už 5 let máme plnohodnotného nástupce AyMINE a tak můžeme srovnávat, co bylo tehdy a co je teď.
Čtvrtstoletí vývoje informatiky
Srovnávat, co bylo kdysi top a dnes je out je velmi ošemetná novinařina. Za každou technologií se šikují milovníci a kolem krouží supi odpůrců. Takže pro jistotu rovnou předesílám, že srovnání je subjektivní a kdo s ním nesouhlasí, může naspat srovnání vlastní.
Jak se změnila práce vývojáře
Vyvíjeli jsme s Delphi, to bylo tehdy top prostředí. (Javisté prominou.)
Vývoj probíhal v moderním prostředí, když jste něco hledali v kódu aplikace, trvalo to i několik minut. O indexaci kódu jste si mohli nechat jen zdát, o kvalitním refaktoringu ani nemluvě.

Uživatelské prostředí aplikací se "malovalo" v grafickém editoru, v tom byly Delphi výborné už tehdy, nic zásadně lepšího dnes není. (Spousta dodavatelů mockup technologií se může škaredit, ale možnosti Delphi většina dnešních nástrojů jen dotahuje.)
V Delphi se vyvíjel klient i server, nástroje pro server se stavěly na objektových modelech a proti dnešním technologiím byly pomalé, nespolehlivé a neskutečně neohrabané. OSS začalo předtím, než Delphi přišlo s RAD studiem a objektovou persistentní vrstvou. Nakonec jsme byli rádi, ta technologie měla tolik problémů, že by OSS/BSS rozhodně nebyl tak spolehlivý, jak byl a je.
Aplikace se překládala do strojového kódu - to už dnešní generace programátorů nezná. Překlad trval pár minut, pokud se nesáhlo do knihoven, pokud ale Delphi usoudilo, že se změnily základní DLL knihovny, kompiloval se celý kód cca 0.5 mil ř. kódu a mohli jste jít na oběd - tehdejším počítačům zabral překlad i půl hodiny. Pak se teprve dalo testovat. Naštěstí k tomu docházelo výjimečně, tak 1x denně.
Delphi byl typický tlustý klient – aplikace pracovala s databází, aplikační servery byly hned dva a běžely nezávisle na aplikaci. (Abychom byli korektní: krom našeho aplikačního serveru OSS/BSS využívalo i starou technologie Peregrine.)
Aplikace hlídala všechna práva, co kdo směl se řešilo „na klientovi“.
Dnes vyvíjíme v TypeScript, aplikace běží na každém mobilu i počítači. Zcela nezávislá aplikace běžící v prohlížeči může dostávat data z různých serverů v PHP, Node, Pythonu i dalších. Programátoři tak mají mnohem širší možnosti, v čem pracovat. A aplikace samozřejmě nikdy k databázi nepřistupuje. A práva hlídá jen naoko, vše samozřejmě hlídá aplikační server.
Vývoj není omezen na jedno pracovní prostředí, open-source prostředí VSC a jiná doplňuje i mnoho komerčních řešení VS, JetBrains aj.
Apku v TypeScript díky cache kompilují i slabé notebooky do 20s. Finální aplikace se kompiluje do 2 minut, stále tedy alespoň 10 – 20 × rychleji oproti starým Delphi.
Deployment – nasazení

Nasazení aplikace bylo tím hlavním, proč jsme Delphi opustili nejenom my, ale jistě i všichni ostatní. Že je Delpi neperspektivní jsme začali tušit kolem roku 2007. Tehdy aplikacím vévodil svět .NET a všude se tlačící C#, tomu jsme nevěřili také, a dobře jsme udělali.
Delphi aplikaci bylo nutné instalovat a při instalaci k ní přidávat i knihovny pro přístup k databázi. Když jste chtěli aktualizovat, tak nová instalace. Když máte lidi po firmě, dobře si rozmyslíte, než přijdete se změnou.
Naše OSS/BSS si uživatelé nejprve spouštěli ze sdílených disků na serveru, takže deployment jsme zásadně zjednodušili, ale spouštět programy ze sdílených disků také není bez rizika a do dnešní firemní infrastruktury nepatří. Proto OSS/BSS získalo loader, který dokázal aktualizovat na dálku místní kód (stáhnout nová DLLka i EXE), když ale stahujete nová programy na pozadí, tak to MS Defender taky zrovna nevítá. A samozřejmě k tomu potřebujete robustní bezpečnost kolem, ale tu T-Mobile opravdu umí.
Aplikace běžící v prohlížeči je proti historii úplná nirvána. Nasadíte novou verzi, změníte spouštěcí kód a číslo verze a uživatelé si ráno pustí novou verzi. Ani netuší, že byl upgrade.
TypeScript / JavaScript změnil správu podnikových aplikací ale celý svět programů více, než cokoli jiného, kromě Githubu.
Ukládání a správa dat
V oblasti správy dat se změnilo asi nejméně. Máme sice nonSQL dokumentové databáze, ale klasické relační SQL ve výkonu stále vedou. Tabulky, pohledy, triggery a všechno to staré „SQL harampádí“ sice programátoři odkojení MongoDB a podobnými moderními databázemi zavrhují, ale rozhodně relační DB není do starého železa.
Samozřejmě i tady jsou změny a ne malé. V 90. letech Borland přibaloval Firebird databázi, aby konkuroval několika málo zavedeným značkám, ale na jejich možnosti rozhodně nestačil. Už se začala šířit PostgreSQL, ale její nasazení do firmy na kritický systém si troufl málo kdo. OSS/BSS běží na MS SQL, která ho nikdy nezradila.
V současnosti je mnohem pestřejší výběr databází, které doprovází i lepší stabilita a výkon a samozřejmě nové možnosti. Z těch nejdůležitějších změn připomenu typ JSON, díky kterému se možnosti relačních databázím dokumentovým zásadně přiblížily.
Github – největší změna nakonec

Bezesporu největší změnou je open source ztělesněný Githubem. Nic nezměnilo programování tolik, jako tuny a tuny open source zdrojů, které rychlost vývoje a dostupnost kvalitních zdrojů posunuly tolik, že by si to nikdo v před 25 lety nedovedl představit.
Open source je samozřejmě mnohem starší, Linux je z r. 1991, Open Office se stal v r. 2001 volně dostupným, ale ne open source. To byly hotové celky, které začaly software zpřístupňovat, ale pro vývojáře byly skutečnou revolucí až stovky a později statisíce dostupných knihoven, balíků i celých frameworků. To co stálo v r. 2001 měsíční plat dobrého programátora (Delphi RAD studio), bylo najednou zdarma, v lepší kvalitě a stále vyvíjené a komunikované.
Není divu, že takové změny mnoho firem nepřežilo – zmiňme alespoň tu, která pro open-source udělala snad nejvíc ze všech: Sun Microsystems, která vlnu open source významně nakopla, a kterou ta vlny brzy bohužel brzy smetla z povrhu IT světa.
Nebýt zrodu open-source a zásadním zrychlení celého vývoje v IT, jsme dnes ještě v IT pravěku. Vždyť z open-source vyšel Android, moderní webové prohlížeče, ale i engines her, editory videí a mnoho dalšího, co si můžeme denně užívat. A taky AyMINE, který by jinak rostl mnohem pomaleji a asi by nikdy nevyrostl.
OSS/BSS 23 let historie
Samotný systém OSS/BSS, za kterým jsme desetiletí stáli, a jeho srovnání s nástupcem AyMINE, který vyvíjíme teď, ukazuje změny nejenom technologické. Ilustruje to obecně změny v IT a v tom, jak vypadaly informační systémy tehdy a ted:
- Tlustého klienta napojeného na databázi nahradil tenký klient komunikující zásadně jenom s aplikační vrstvou
- Obrazovky navrhované jedna po druhé pro konkrétní objekty nahradily automaticky generované pohledy.
- Uzavřený svět podnikové infrastruktury, kde o bezpečnost se stará několik vrstev ochrany firewallů a perimetrů nahradilo cloudové řešení, dostupné z mobilu nebo notebooku kdekoli na světě. Řešení, které se o svou bezpečnost musí postarat samo.
- Aplikace vyvíjenou A-Z na míru pro konkrétní potřeby nahrazuje univerzální řešení skládané z modulů a otevřené pro data a procesy z jiných systémů.
- Vytváření uživatelských účtů a jejich správu v každé aplikace nahrazuje SSO. Stejně tak lokální dohled nahrazuje centralizovaná správa i když jsou aplikace z různých míst.
- Aplikaci vyvíjenou pro stolní počítače s MS Windows nahradila aplikace určená stejně tak pro mobily, jako notebooky. Zatímco starý systém počítal s obrazovkou 14‘ – 17‘, nový systém předpokládá rozpětí 6‘ – 40‘. Starý systém měly jednu šedou barvu prostředí Window 98, nový nabízí světlé a tmavé profily a přizpůsobení různým uživatelům
Po 23 letech je vypnutí aplikace, která už dávno překročila svůj technologický věk, rozhodně úlevou. Udržovat desítky let staré vývojové nástroje, které byly stavěny ještě pro Win98 v chodu, a držet know-how pro práci s nimi není snadné. Přesto jsem byli sami překvapeni, co aplikace vydržela.
Mnohokrát jsme za ty roky slyšeli, že aplikace je na odpis. Vždy bylo ale levnější ji používat, než nahrazovat řešením, které podle neoficiálních informací vycházelo na vyšší desítky milionů korun. Určitě tomu velkou měrou přispěla výjimečná spolehlivost aplikace i kvalitní správa nejenom od nás, ale i od dalších, kde na chod každý den dohlíželi.
I když je konec úlevou, jsme hrdí - za 23 let kvůli nám nestála práce. Systém přečkal několikrát změnu vlastníka, přechod na virtuální servery, změnu správy, integraci na nové systémy v okolí, naučil se SOAP, emaily a mnoho dalšího. Po celou dobu přitom nikdy nenastal incident, který by byl označen za kritický nebo vážný.
Díky T-Mobile i všem kolegům, za spolupráci. Kdyby nebylo GDPR, vyjmenovali bychom řadu lidí, kteří nám za ty více než 2 dekády pomáhali!