Prípadové štúdie

Identity Server

Zdieľajte túto stránku

Použité technológie

Identity Server 3

100% 100% kompletné

OAuth2

100% 100% kompletné

OpenID Connect

100% 100% kompletné

MVC

90% 90% kompletné

WebApi

90% 90% kompletné

EntityFramework

90% 90% kompletné

HTML5

70% 70% kompletné

CSS3

70% 70% kompletné

SQL Server 2012

60% 60% kompletné

Bootstrap

60% 60% kompletné

Modernizr

60% 60% kompletné

JQuery

60% 60% kompletné

Autofac

80% 80% kompletné

Glimpse

70% 70% kompletné

NUnit

80% 80% kompletné

Selenium

70% 70% kompletné

Team City

80% 80% kompletné

Identity Server

Náš klient

V roku 1978 bol James Dyson frustrovaný s postupne sa znižujúcim výkonom jeho vysávača. Keď ho rozmontoval, tak zistil, že vrecko do vysávača sa upchávalo prachom a to spôsobovalo zníženie sacieho výkonu. Nedávno vybudoval priemyselnú cyklónovú vežu vo svojej fabrike, ktorá oddeľovala čiastočky farby od vzduchu použitím odstredivej sily. Mohol by podobný princíp fungovať aj vo vysávači?

Toto bol zárodok myšlienky, ktorá spravila z Dysona jedného z globálnych hráčov a lídra na trhu so spotrebným tovarom, ktorý má za sebou 20 ročnú históriu inovácií a vynálezov. Produkty značky Dyson sa dnes predávajú vo vyše 70 krajinách sveta a firma Dyson sa tak transformovala z postavenia jeden človek a jeden nápad na technologickú firmu s vyše 1000 inžiniermi a 4000 zamestnancami po celom svete.

Veľa ľudí vníma Dyson skôr ako technologickú spoločnosť než ako tradičný výrobný podnik, avšak Dyson sa v poslednej dobe snaží prostredníctvom ich web stránky cieliť na nových zákazníkov a zároveň podporovať tých existujúcich. Enhanced Coding spolupracoval s firmou Dyson v hlavnom sídle značky v meste Malmesbury v Anglicku a umiestnil svojich zamestnancov do sídla klienta, aby spolupracovali s Digital IT tímom na zlepšovaní a udržiavaní ich web stránky a prítomnosti značky Dyson na internete.

Opis problému

V posledných rokoch sa vytváral veľký tlak na rozširovanie na nové trhy a krajiny. To malo za následok potrebu viacerých nových web stránok, web servrov a back-end systémov. Ako rástol počet systémov, tak rástla aj náročnosť prenosu dát medzi týmito systémami, hlavne pri zachovaní celistvosti systému z pohľadu zákazníka.

Pre zákazníka to malo často za náledok potrebu viacerých hesiel pre rôzne webstránky – jeden pre online nákup, jeden na registráciu záruky a jeden na pripojenie ich IoT produktu na internet.

Je to nielem mätúce pre zákazníka, ale často to znamenalo aj existenciu konfliktných alebo dokonca skrytých dát o používateľovi a tým sa znižoval ich prínos pre podnikanie.

Naše riešenie

Vytvoril sa nový autentifikačný server na využitie vo všetkých firemných systémoch. Každé prihlásenie všetkých zákazníkov je spracované týmto serverom a ten funguje ako sprostredkovateľ všetkých používateľských údajov.

Konzistentné prihlásenie

Server poskytuje konzistentnú a spoľahlivú autentifikáciu každého používateľa a bol od začiatku navrhnutý s ohľadom na bezpečnosť, rôzne jazykové mutácie (globalizáciu) a škálovateľnosť. Užívateľ môže použiť jeden jednoznačný identifikátor na prihlásenie pre akýkoľvek zakúpený produkt alebo službu a to umožní bezproblémové prepojenie viacerých webových stránok z pohľadu klienta.

Zabezpečené od základov

Aby sa ochránili tieto najcitlivejšie informácie pred útokom hackerov, tak sa potenciálne možnosti napadnutia systému minimalizovali použitím štandarne zaužívaných protokolov a zanechaním čo namenšej technologickej stopy. Pred nasadením do ostrej prevádzky bol server plne otestovaný širokou škálou penetračných testov a v prípade potreby sa dá rýchlo aktualizovať, ak by sa identifikovali bezpečnostné zraniteľnosti a zamedzilo sa tak ich hrozbe.

Škálovateľné

Škálovateľnosť bola kritickým faktorom pri návrhu hneď od začiatku, pretože server môže byť centrálnym bodom zlyhania pre užívateľské prihlásenie. Server je bezstavový, umiestnený v cloude a nakonfigurovaný na automatické zvyšovanie kapacity podľa aktuálnej potreby.

Počet a typ systémov, ktoré sa pripájajú na server sa časom bude pravdepodobne meniť a preto bol process pridania a autorizácie nových klientov vytvorený tak, aby to bolo jednoduché na používanie a bezpečné. Súčasťou produktu je upraviteľné a verzionované API, ktoré umožňuje backend systémom vyhľadanie informácií a programatické vykonanie zmien. A spolu s použitím platformovo nezávislých protokolov na vytvorenie a používanie identity sa vytvoril silný základ na dobré fungovanie do budúcna. .

Synchronizácia na pozadí

Server bol zároveň od začiatku navrhnutý na uľahčenie budúcej synchronizácie medzi rôznymi back-end platformami. Server je autoritatívnym zdrojom pre identifikáciu zákazníka a je najlepšie situovaný na poskytovanie bežných a neduplicitných používateľských identifikátorov a sprostredkovať výmenu informácií medzi systémami.

Tento jedinečný identifikátor umožňuje budúcu výmenu dát medzi týmito systémami a získať tak ucelenejší obraz o klientovi a jeho nákupných zvykoch – a to je dôležitá informácia pre budúci marketing a produktovú inováciu.

Technológie

Serverom je aplikácia na architecture MVC s využitím Web API, založený na architecture Identity Server 3 a plne podporuje protokoly OAuth2 a OpenID Connect. Front-end webová stránka používa HTML5 a knižnice Modenizr, Bootstrap a JQuery. Dáta sú uchované pomocou EntityFrameworku a SQL servera. Systém bol otestovaný nasledovným spôsobom: unit testy pomocou NUnit, integračné testy pomocou Selenium framework a postupné nasadzovanie bolo dosiahnuté pomocou Team City.

Referencie

Pracovať s Edom bolo s veľkou radosťou, pretože je jedným z mála vzácnych vývojárov, ktorí skutočne prepojujú obchodno-technickú priepasť. Z technologického hľadiska sa Ed s ľahkosťou vrhol na neznámu a komplexnú technológiu (riadenie prístupu a bezpečnosti) a odviedol vysoko kvalitnú prácu. Môžem sa na Eda spoľahnúť, že urobí “tú správnu vec” bez toho aby sa neustále museli špecifikovať operatívne detaily.

Z hľadiska podnikateľského porozumenia Ed veľmi rýchlo zobral do úvahy funkčné požiadavky a ich vplyv na technické riešenie. Jeho pripomienky do diskusií boli vždy relevantné a prínosné a s ľahkosťou vie spolupracovať s podnikovými klientmi. Pri popisovaní technických výziev je schopný definovať tieto výzvy s ohľadom na dopad jednotlivých technických riešení na podnikanie.

Nebyť Edovho premiestnenia, tak som presvedčený, že by sme predĺžili jeho zmluvu, pretože je cenným členom nášho tímu.

Rich Tebb - Architekt v oblasti digitálnych technológií

Ed si okamžite vytvoril povesť v rámci pracovnej skupiny a rýchlo sa oboznámil s problematikou. Je ľudský, a svojimi schopnosťami vedel rýchlo pozitívne ovplyvniť projekt.

Jeho technické znalosti sú naozaj na veľmi vysokej úrovni, prirodzene sa vie vyjadrovať a je priateľský – je prínosom do nášho tímu.

James Hobbs - Vedúci vývoja v oblasti digitálnych technológií