Stejně, jako se vyvíjí celá oblast informačních technologií, vyvíjí se i přístup k tvorbě aplikací. Po využívání strojových jazyků přinesly vyšší efektivitu práce vyšší programovací jazyky nebo třeba objektově orientované programování. Ale tím vývoj samozřejmě zdaleka nekončí a roli ve vývoji dnes hrají například přístupy spojené s využíváním SaaS jako stavebních bloků větších aplikačních celků.
Obr.: PixabayPokud tedy v organizaci řešíte nutnost nasazení nového softwaru, a přitom nejde o banální aplikaci, kterou lze koupit na klíč jako krabicové řešení, nebo o standardizované řešení, o kterém již dopředu víte, že vám jej nasadí a upraví na míru dodavatel, zřejmě bude řešit otázku: Jak tento software vytvořit? A jako vhodné řešení se vám nabídne vlastní nebo externí vývoj standardními prostředky, ale třeba i vývoj s využitím externích softwarových služeb typu SaaS.
Vytvoření aplikace běžnými prostředky sice přináší nejvyšší flexibilitu, ale také nejvyšší náročnost na vývoj. Navzdory novým přístupům, jako je například agilní programování, díky němuž lze při vývoji pružněji reagovat na úpravu požadavků uživatelů, klade uvedený způsob vysoké požadavky na přesnou definici funkčnosti vyvíjeného řešení i na alokaci dostatečných lidských kapacit.
K hlavním uváděným důvodům pro vlastní vývoj patří nutnost vyvinout velmi specifický software, který nelze pořídit na trhu, případně nutnost vlastnit zdrojový kód – například s vizí dalšího obchodního využití.
K výhodám tohoto přístupu patří jednak už zmíněná vysoká flexibilita jak pokud jde o funkcionalitu, tak o uživatelské rozhraní, případně napojení na další systémy, jednak dostupnost relativně velkého množství zkušených programátorů na trhu práce. Čímž ovšem samozřejmě neříkáme, že je vždy snadné je získat pro práci na vašem projektu.
Zásadní nevýhodou je naopak časová náročnost a nutnost vytvořit software od A do Z – byť lze pochopitelně mnohdy s výhodou použít knihovny a nástroje, které ušetří práci při psaní standardizovaných funkčních celků, které budou součástí výsledného řešení.
Existence služeb typu SaaS je obecně známa jako jeden z druhů služeb poskytovaných z cloudu a nejčastěji se o nich v této souvislosti mluví jako o službách poskytujících kompletní software formou služby. Poskytován však nemusí být vždy jen celý software, ale také jen některé potřebné komponenty.
A zde se dostáváme k druhému možnému přístupu, totiž k využití komponent SaaS k vytvoření výsledné aplikace plnící daný požadavek. Základní podmínkou pro využití tohoto přístupu je pochopitelně dostupnost služeb, ze kterých lze výsledný software sestavit.
Výhody tohoto přístupu jsou patrně zřejmé, stejně jako základní nevýhody. Proto jen stručně: K té první skupině patří především výrazné zrychlení tvorby výsledného řešení, případně jeho provoz a správa třetími stranami. K té druhé pak to, že výsledný produkt není vaším vlastnictvím a možnost úprav může být do určité míry omezená. Rovněž počet odborníků na trhu, kteří jsou schopni takzvaná mashupová řešení využívající SaaS moduly vytvořit, je omezený.
V praxi bude rozhodování o vhodném přístupu vždy záležet na několika kritériích, přičemž je zřejmé, že některá z nich budou mít „právo veta“. Pokud prostě neexistuje odpovídající standardní software ani externí služba, bude třeba sáhnout po klasickém vývoji softwaru.
Dobrým příkladem softwarových řešení, kde naopak lze s výhodou použít přístupu SaaS, jsou třeba ta pro čištění dat. Prostřednictvím externích služeb lze zajistit nejen to, že v databázi vašich firemních kontaktů nebudou chyby, ale databázi lze případně obohatit i o další informace o těchto subjektech.
Jak už bylo řečeno v úvodu, IT se stále proměňují a s nimi i přístupy k tvorbě softwaru a k měření jeho úspěšnosti. K používaným metrikám stále častěji patří i flexibilita výsledného řešení, které by se mělo v průběhu času vyvíjet spolu s potřebami uživatelů. V případě využití přístupu využívajícího SaaS je v tomto ohledu klíčové, aby se stejně vyvíjely i služby dodavatele, případně aby existovala dostatečná alternativní řešení.
Současně je vhodné mít vždy na mysli, že klíčová je nejen kvalita výsledného řešení, ale také jeho dostatečně rychlá dostupnost. I to je třeba mít na mysli při definování požadavků i při volbě vhodného přístupu k tvorbě výsledného řešení.
V našem letošním letním speciálu se věnujeme různým pohledům na software, konkrétně na některé aspekty jeho vývoje a – to...