OUDirect — Ettevõtte B2B tegevuste portaal — Juhtumiuuring
Kümme aastat vana ettevõtte platvormi moderniseerimine tänapäevaseks Vue 3 ühe lehe rakenduseks — ilma ühegi seisaku päevata
90K+
Tootmiskoodi read, mis on välja saadetud
1000+
Tarbitud komponendid ja moodulid
60+
Funktsioonid, mis on välja saadetud 3,5 aasta jooksul
Ülevaade
See mahukas B2B veebipõhine portaal on online-keskus, kus välised kliendiettevõtted ja sisemine väljasõitude meeskond haldavad kogu oma tegevuse elutsüklit: taotlused ja uuendused, üksikasjalikud kataloogid ja esitamised, ametlike dokumentide genereerimine ja printimine, arveldamine ja maksed, ühine kataloogibaas ning täielik välistegevuste töövoog — kohtadele visiitide ajastamine, tegevusaruannete esitamine ning sõidupäevikute ja kulude haldamine.
See on pikaajaline ettevõttesüsteem, mis on tootmises olnud üle kümne aasta: vana WebFormsi/WCF/.NET Frameworki taustsüsteem SQL Serveril koos NHibernate ja Quartz.NET taustatöödega. Meie peamine fookus oli luua uus Vue 3 + TypeScript ühe lehe rakendus, mida teenindab moodne ASP.NET Core API — asendades järk-järgult vana kasutajaliidese, samal ajal säilitades pideva tootmise kasutajatele, kes seda iga päev kasutavad.
Eesmärk: Asendada 14 aastat vana vana kasutajaliides moodsa ja hooldatava platvormiga — järk-järgult, ilma seisakuteta, jätkates samal ajal uute funktsioonide loomist aktiivsele tootmissüsteemile.
Väljakutsed ja lahendused
Kokkuvõte kuuest põhiprobleemist ja lahendustest, mida me neile pakkusime:
Strangler-fig tüüpi moderniseerimine, null seisakuid — portaal oli 14 aastat vana WebFormsi rakendus, mis haldas igapäevaseid äritegevusi. Me ehitasime uue kasutajaliidese ja uue .NET API kihi, mis toimis proxyna vana teenuste jaoks, võimaldades funktsioonide kaupa migreerimist riskita suurest ümberkirjutamisest — vana ja uus töötasid paralleelselt tootmises.
Vana arenduskogemus — multi-tasandilise süsteemi jaoks lokaalse orkestreerimise puudumise tõttu seadistame Aspire-põhise lokaal arenduse nii, et vana teenuse host joostaks ilma IISita ja Vue arendusserver ühenduks otse, lühendades märkimisväärselt tagasisideahelat.
Autentimise uuendus — viisime platvormi migratsiooni AWS Cognito peale nii veebis kui mobiilirakendustes, pluss avalik API: kohandatud sisselogimis- ja parooli lähtestamise vood, sessioonihaldus, automatiseeritud kasutajate migratsiooni skriptid kiiruspiirangutega, mida kinnitasid tootmistestide komplektid, ning rollipõhine autoriseerimise tugevdamine.
Makseprotsesside moderniseerimine — rakendasime täieliku ACH/kaardi töötlemise integratsiooni (tokeniseerimine, salvestatud makseviisid, ootel oleku haldus, tasude loogika), eemaldasime vana maksetöötluskoodi ning ühendasime arveldusandmed — sealhulgas asendasime aeglase andmebaasivaate optimeeritud salvestatud protseduuriga, mida kinnitasid jõudlustestid.
Kompleksne töövoo digitaliseerimine — tarnitud dünaamilised, konfigureeritavad aruandevormid (kohandatud küsimustikud), sündmuspõhine töötlemine AWS SQS abil, ajastuse funktsioonid ja ümber kujundatud personali määramise kasutajaliides — puudutades platvormi kõige operatiivselt tundlikumat osa.
Turvalisuse tugevdamine — küpsiste poliitika/CSRF leevendus kontrollitud automatiseeritud lõpp-lõpuni rünnakute simulatsioonidega, üürniku tasemel andmete ligipääsu autoriseerimise parandused, minimaalsete õigustega failide allalaadimise teed ja läbistustesti parandused.
Tulemused
Tarniti umbes 90 000-realise Vue 3 + TypeScript rakendus (üle 1 000 komponendi/mooduli), mis on nüüd tootmises sisemistele ja välistele kasutajatele, koos Kendo UI komponendikihiga, Storybook disainisüsteemiga (üle 360 dokumenteeritud looga) ning Cypress + Cucumber (BDD) lõpp-lõpuni testimisega CI-s.
Miljonite kasutajate autentimine migreeritud, kinnitatud tootmise testikomplektidega enne üleminekut.
Arendajakogemuse moderniseerimine (Aspire, minimaalne API, OpenAPI tööriistad) ja jagatud domeenikoodi teisaldamine .NET Standardisse, et pärandi- ja modernsed pinud jagaksid üht tõeallikat.
Umbes 3,5 aastat pidevat tarnimist: üle 2 600 muudatuse 60+ väljalastud funktsiooni ja turvaparanduse kohta — uued funktsioonid ja stabiilsuse parandused täideti aktiivsel tootmissüsteemil paralleelselt.