Vývoj, dodávka a provoz webových aplikací

Webové aplikace

Webové aplikace běží v prohlížeči počítače nebo mobilního zařízení, jsou proto vhodné v případě, kdy aplikaci budou používat uživatelé na různých zařízeních, kdy uživatelé budou z řad veřejnosti nebo jich bude velký počet. Webové aplikace vyžadují připojení uživatelů resp. jejich zařízení k internetu. Pro poskytovatele aplikace to znamená, že aplikace musí být uložena na internetovém serveru, což je spojeno s průběžnými náklady na webový hosting.

To, že aplikace funguje v prostředí internetu, neznamená, že takovou aplikací nemohou být zpracovávána důležitá nebo důvěrná data. V takovém případě je ale potřeba zajistit, aby data byla dostatečně chráněna, a to prostřednictvím využití celé škály metod. Uživatel musí být spolehlivě identifikován a autentizován, aplikační mechanismy musí zajistit jeho autorizaci pro práci s vymezenými daty, data nesmí být možné při přenosu mezi prohlížečem a serverem odposlouchávat nebo měnit, na serveru musí být data bezpečně uložena a zálohována.

Pomocí webových aplikací je možné snadno předávat informace mezi uživateli a jejím provozovatelem nebo mezi uživateli navzájem. Prostřednictvím webových aplikací je možné uživatelům na základě jejich přístupových práv umožnit přístup k určenému a vždy aktuálnímu obsahu.

Výhodou webové aplikace je možnost jednoduše publikovat nové verze, kdy všichni uživatelé používají vždy aktuální aplikaci. Ve srovnání s desktopovými aplikacemi kladou webové aplikace minimální nároky na technickou zdatnost uživatelů.

Součástí webové aplikace může být zákaznická samoobsluha, eshop nebo napojení na platební bránu pro internetové platby.

webová aplikace, zákaznická samoobsluha

Průběh projektu

Vymezení rozsahu a analýza

Projekt začíná schůzkou u zákazníka, kde zjišťuji, proč zákazník webovou aplikaci potřebuje, co od ní očekává a jaké potřeby má naplnit. V případě potřeby zorganizuji workshopy nebo další jednání se zaměstnanci zákazníka. Výstupem jednání je zápis nebo zápisy, které vymezují rozsah projektu. Zápisy tvoří přílohu smlouvy o dodání a provozu webové aplikace, která vymezuje roli jednotlivých stran a zakotvuje například vzájemnou součinnost při dodávce řešení.

Vzájemná komunikace v průběhu projektu může probíhat s využitím nástroje GitLab nebo Jira.

Pokud je to vhodné, například v případě většího projektu, předkládám zákazníkovi k vyjádření analytické výstupy popisující budoucí řešení. Tyto výstupu mohou zahrnovat datový model aplikace, popis flow, návrh podoby obrazovek a podobně.

Proof of concept

U řešení, která obsahují nějaký dosud nevyzkoušený prvek, začíná vývoj fází "proof of concept", jejímž cílem je ověřit použitelnost zvoleného řešení. Na jejím vyhodnocení se podílí všichni účastníci projektu.

webová aplikace, průběh projektu

 

Vývoj a nasazení

Vývoj probíhá iterativně a interaktivně tak, jak je popsáno na následující záložce. Po skončení vývoje je aplikace otestována a odběratelem akceptována.

Před jejím nasazením do provozu je často potřeba provést migraci existujících dat z předchozího řešení, případně aplikaci naplnit statickými daty jako jsou popisy a vyobrazení produktů, znění obchodních podmínek a reklamačního řádu nebo aktuálními kontaktními údaji.

Webová aplikace je vytvořena pomocí Microsoft .net frameworku nebo v Javě s využitím Spring Bootu a je hostována pod mým účtem u mého obchodního partnera, společnosti Active24 nebo na mém virtuálním privátním serveru u společnosti Wedos.

Nasazením nové aplikace do provozu projekt nekončí - v prvních dnech a týdnech je běh aplikace sledován, aby případné odchylky od zamýšleného stavu, které se neprojevily nebo nemohly projevit při testování, mohly být co nejdříve rozpoznány a opraveny.

Změnové požadavky

Případné změnové požadavky přesahující vymezený rozsah projektu jsou řešeny jako změny stávajícího projektu podléhající dohodě obou stran s možným dopadem na jeho cenu a termín dodání nebo jako zadání pro další projekt.

Uživatelská licence

Při vývoji webových aplikací, pokud není při začátku projektu dohodnuto jinak, používám vlastní komponenty nebo komponenty zakoupené pouze pro potřeby projektu. Odběratel se proto stává vlastníkem konkrétního grafického řešení ve spojení s použitými obrázky a texty, ale nevýhradním uživatelem funkčních částí webové aplikace. Zdrojový kód webové aplikace není odběrateli k dispozici.

Vývoj a testování

Vývoj webové aplikace probíhá na mojí technické doméně, na kterou mají prostřednictvím uživatelského jména a hesla přístup pouze oprávněné osoby. Data předávaná přihlašovacím formulářem jsou šifrovaná a případný útočník je proto nemůže zachytit.

Vývoj probíhá po ucelených etapách podle projektového plánu, to znamená, že odběratel si může dokončené části prohlédnout a v závislosti na funkčnosti celého řešení také vyzkoušet. Tím je výrazně usnadněna součinnost při vývoji a diskuse o možných variantách řešení zjednodušeny. V případě potřeby je možné provést korekci již v průběhu vývoje, což celkové náklady na projekt snižuje.

Po dokončení vývoje aplikaci testuji a podle dohody s odběratelem předkládám protokoly o jejím otestování. Kritické části testuji také vzhledem k předpokládanému množství dat nebo operací (zátěžové testování). Pokud je to potřeba, poskytuji součinnost při bezpečnostních testech (penetrační testování).

Závěrem vývoje a testování je akceptace dodaného řešení odběratelem, kdy odběratel může aplikaci vyzkoušet a vyjádřit se k její funkčnosti.

Mnou dodávané webové aplikace jsou vybaveny automatickým reportingem případných selhání této aplikace a systémem logování událostí, které usnadňují detekci a analýzu případných problémů.

webová aplikace, bezpečné přihlášení

Bezpečnost

Webové aplikace používají šifrovanou komunikaci zajištěnou prostřednictvím protokolu https, což znamená, že komunikace mezi prohlížečem uživatele a internetovým serverem je šifrovaná a není možné ji odposlouchávat.

Na webovém serveru jsou data ukládána do databáze MSSQL nebo databáze PostgreSQL a na souborový systém serveru. Přístup k datům je řízen webovou aplikací na základě přístupových práv jednotlivých uživatelů a jim přiřazených rolí. Pokud je to potřeba, je možné data ukládaná na serveru šifrovat.

Hesla uživatelů nejsou ukládána v textové podobě a z uložených dat je není možné zjistit. Pokud uživatel heslo zapomene a potřebuje si nastavit heslo nové, systém mu na jeho email pošle unikátní link, s jehož pomocí je možné heslo nastavit.

Uživatelé administrátorským přístupem se přihlašuji pomocí svého emailu, hesla a captchy. V případě potřeby je možné uživatelské jméno nahradit bezvýznamovým identifikátorem a přihlašovací údaje doplnit o SMS kód.

Data v databázi a na souborovém systému webového serveru jsou zálohována denně. Možným rizikem je prozrazení nebo ztráta dát zákazníků uložených na mých počítačích nebo zdrojových kódů dodaných aplikací. Moje zdrojové texty a další soubory vztahující se k dodané webové aplikaci jsou proto na discích mých počítačů plně šifrovány a automaticky zálohovány v šifrované podobě off-site denně, do trezorové skříně pak jednou měsíčně.

Kritická data je možné na mém serveru uložit tak, že k nim pověřené osoby získají přístup, pokud se v pravidelném cyklu na server nepřipojím a zámek tak neprodloužím.

webová aplikace, obnova uživatelského hesla

Provoz

Pokud je webová aplikace vytvořena pomocí Microsoft .net frameworku a je hostována pod mým účtem u mého obchodního partnera, společnosti Active24. Při uzavření smlouvy o dodávce a provozu webové aplikace odběratele plně informuji o obchodních podmínkách a všech souvisejících právech a povinnostech podle kterých pro něj bude hosting zajištěn. Provoz u jiného poskytovatele hostingu přináší komplikace, protože aplikace využívají specifických vlastností produktu této společnosti.

Pokud je webová aplikace vytvořena v Javě a je hostována na mém virtuálním privátním serveru u společnosti Wedos. Při uzavření smlouvy o dodávce a provozu webové aplikace odběratele plně informuji o tom, jak je hosting zajištěn.

Provoz webové aplikace zajišťuji za cenu odvozenou od rozsahu webové aplikace a předpokládaném množství nutných servisních zásahů. Pokud je to dohodnuto, je v rámci této služby zajištěn také provoz testovacího nebo školícího prostředí. V rámci této služby bezplatně odstraňuji chyby, které brání řádnému užívání aplikace v rozsahu dle projektové dokumentace. Případné vícepráce jsou fakturovány odděleně.

Ke komunikaci je možné použít prostředí nástroje GitLab, kde jsou evidovány jednotlivé požadavky a průběh jejich řešení.

Webové aplikace před spuštěním zaregistruji u vyhledávačů Google, Seznam a Bing a napojím je na nástroje pro správce webů Google a Bing nebo Google Analytics, poradenské služby v oblasti využití těchto nástrojů nebo nástrojů jako je AdWords a AdSense neposkytuji.

webová aplikace, Jira software

Reference

Níže uvádím vybrané reference webových aplikací. V případě dotazů se na mě, prosím, podle potřeby obraťte.

Prodej logopedického softwaru Mentio.cz

Web slouží pro prezentaci logopedických programů Mentio včetně ceníku a možnosti objednání programů, poskytnutí technické podpory jeho uživatelům a obsahuje také zákaznickou samoobsluhu.

Webová aplikace má z pohledu zákazníků následující části:

  • Prezentace softwarových titulů Mentio, kde jsou programy podrobně popsány. K dispozici jsou také manuály a demo verze programů.
  • Stránky technické podpory, kde jsou vysvětleny technické otázky související s používáním softwaru Mentio.
  • Interaktivní ceník umožňující konfigurovat kombinaci licencí, konfiguraci uložit a později použít, nebo na jejím základě sestavit objednávku. Web obsahuje obchodní podmínky, návrh smlouvy a další náležitosti dle legislativních požadavků.
  • Dokumenty, které vznikají při zpracování objednávky, zákazník najde uložené na svém zákaznickém účtu, kam je přístup chráněn uživatelským heslem. Na svém účtu najde, kromě možnosti aktualizovat svoje údaje, objednávky také smlouvu, fakturu nebo daňový doklad a licenční oprávnění uživatele. V souladu s legislativními požadavky a obchodními podmínkami může zákazník od smlouvy také jednoduše odstoupit.

Správce má k dispozici například následující funkčnosti:

  • Redakční systém pro správu webové prezentace.
  • Redakční systém pro správu a verzování obchodních podmínek a smluvních vzorů.
  • Správu zákazníků a jejich kontaktních osob, nástroje pro zpracování objednávek a zpráv a možnost zákazníkovi vystavit libovolný dokument nebo datový soubor do jeho chráněného úložiště.
  • Web obsahuje také nástroj pro generování a editaci smluv podle smluvních vzorů a řízení možnosti odstoupení od smlouvy.
  • Systém umožňuje zákazníkovi připravit dokument, který mu je k dispozici až po splnění určených podmínek.

Navštívit web...

Personálně poradenská agentura Práce plus

Personálně-poradenská agentura Práce plus, s. r. o. používá svůj web pro prezentaci informací pro uchazeče o zaměstnání a pro svoje firemní klienty. Součástí webu jsou také pracovní inzeráty a jejich správa včetně databáze kandidátů a jejich odpovědí.

Webová aplikace má z pohledu zákazníků následující části:

  • Prezentační stránky pro uchazeče o zaměstnání a pro firemní klientelu. Každá stránka obsahuje další sekce s informacemi. Prostřednictvím stránek je možné poslat zprávu s přílohou.
  • Pracovní inzeráty s možností filtrace podle oblasti a oboru. Na inzerát je možné odpovědět a k odpovědi je možné přiložit přílohu.

Webová aplikaci umožňuje jednotlivým zaměstnancům agentury přiřadit roli správce prezentačních textů, správce inzerce, kandidátů a jejich odpovědí a správce nastavení webu a uživatelů. Role je možné kombinovat. Správce v některé z rolí má k dispozici například následující funkčnosti:

  • Vložení a změna pracovní nabídky, zobrazení odpovědí na inzeráty, zobrazení karty uchazeče a vkládání poznámek na kartu.
  • Redakční systém pro správu prezentačních textů s možností měnit sekce jednotlivých stránek i jejich pořadí.
  • Nástroje pro nastavení webu, správu číselníků a uživatelů.

Navštívit web...

webová aplikace, reference, Práce plus

Demonstrační web pro personální agentury PAdemo.cz

Webová aplikace vychází z webu praceplus.cz popsaného výše. Jeho funkčnosti jsou velmi podobné, grafická stránka je ale odlišná. Na webu je také použita technika AJAX.

Na rozdíl od webu na adrese www.praceplus.cz je na tomto webu zpřístupněna administrativní část, takže návštěvníci se mohou podívat, jak je možné web spravovat.

V případě zájmu jsem připraven web upravit pro potřeby konkrétního zákazníka a řešení postavené na tomto základě dodat ve zkráceném termínu.

Web a jeho funkčnosti jsou dále popsány na stránce věnované tomuto produktu.

Navštívit web...
 
Přečíst si více...

TeleCam – webová aplikace pro telerehabilitaci

Aplikace vznikla jako školní dílo / bakalářská práce v rámci mého studia softwarového inženýrství na Fakultě informačních technologií ČVUT v Praze ve spolupráci s Fakultou biomedicínského inženýrství ČVUT v Praze.

Aplikace umožňuje definovat formuláře sestavené z políček více typů s určeným pořadím a popisy. Tyto formuláře mohou obsahovat pole pro přiložení souboru nebo pořízení videonáhrávky webovou kamerou. Při původním nasazení aplikace exportuje obsah formulářů s přílohami pro analýzu návaznou aplikací a uživateli zobrazuje výsledky vyhodnocení, ale s minimálními úpravami je aplikaci možné použít ke sběru i velmi objemných dat přes uživatelsky definované formuláře v jiném kontextu.

Při přenosu dat z webového formuláře na server je použito vlastní řízení přenosu dat tak, aby nedošlo k zahlcení linky při pomalém nebo nekvalitním připojení k internetu. Aplikace byla úspěšně testována na linkách s rychlostí 100 kb/s až 50 Mb/s a se zpožděním 10 ms až 620 ms. Přenos jednoho nebo více souborů o velikosti cca 250 MB přes pomalou ADSL nebo VDSL linku s rychlostí cca 0,5 Mb/s není žádným problémem.

Součástí aplikace jsou lokalizační funkčnosti – uživatelské rozhraní obsahuje cca 600 textových polí rozčleněných do cca 50 stránek nebo jejich komponent a obsah všech těchto polí může správce aplikace definovat v českém a anglickém jazyce. Přidání dalšího jazyka vyžaduje pouze dílčí aplikační změny.

Aplikace je naprogramována v Javě 11 s využitím frameworků Spring Boot a Spring Security. Databáze je PostgreSQL, Uživatelské rozhraní je naprogramováno v HTML s Javascriptem s využitím Bootstrapu a jQuery.

Přečíst si více...

Jan Petržílka, webová aplikace, Telecam - webová aplikace pro telerehabilitaci, vyplňování formuláře

Moje webové stránky jan.petrzilka.cz

Jaký bych to byl senior konzultant, kdybych si webové vlastní stránky neudělal sám.

Webová aplikace z pohledu uživatelů následující části:

  • Úvodní stránka s dynamickou grafikou, pracovním profilem, přehledem pracovních pozic a seznamem doporučení.
  • Informativní stránka o projektovém managementu a business analýze.
  • Stránky o nabídce vývoje webových aplikací nebo desktopových aplikací pro Windows.
  • Blog s několika kategoriemi témat.
  • Kontaktní formulář doplněný o identifikační a kontaktní údaje.
  • Zákaznickou samoobsluhu s editací vlastních údajů a s úložištěm dokumentů.

Jako správce mám k dispozici například následující funkčnosti:

  • Redakční systém pro správu webové prezentace.
  • Redakční systém pro správu a blogu s dynamickým tvořením tématických kategorií.
  • Správu zákazníků a jejich kontaktních osob, nástroje pro zpracování zpráv a možnost zákazníkovi vystavit libovolný dokument nebo datový soubor do jeho chráněného úložiště.
  • Systém umožňuje zákazníkovi připravit dokument, který mu je k dispozici až po splnění určených podmínek.

Zobrazit úvodní stránku...

webová aplikace, reference, web petrzilka.cz

MOJE SILNÉ STRÁNKY

  • Záleží mi na tom, aby moje práce měla pro zákazníka adekvátní hodnotu.
  • Chci dělat věci správně. Opravdu správně.
  • Jsem připraven přijímat odpovědnost a zvládat těžké úkoly.

KONFLIKTNÍ OBLASTI

  • Potřebuji být u toho, když se přijímají rozhodnutí o mojí práci. Vadí mi být na druhé koleji a v závislém postavení.
  • Říkám, co si myslím, a očekávám fér jednání. Jinak spolupracuji jen s obtížemi nebo vůbec ne.
  • Jsem "studený čumák". Soustředím se na práci a na legraci mě moc neužije.

A KDYŽ ZROVNA NEPRACUJI...

  • Studuji. Chci obnovit rozšířit svoji nabídku a zahrnout nové znalosti. Také potřebuji nové obzory, nová témata a inspiraci.
  • Rád chodím po horách. Jak vidím kopec, musím nahoru. Zatracený covid.
  • Moji oblíbení herci jsou Tony Shalhoub, Clint Eastwood a Bruce Willis. Víte, proč právě tito?