Darba piezīmes

Viens kodols, daudz lietotņu: kā darbojas whitelabel banku platforma

Whitelabel banku platforma ir viens banku kodols ar nomaināmu priekšgalu. Kodols ir tā daļa, kurai jābūt pareizai: dubultā ieraksta virsgrāmata, klientu konti, KYC un onboarding, karšu izdošana un apstrāde, kripto un stablecoin kanāli un operatoru konsole, kas darbojas aiz tā visa. Lietotne ir tā daļa, ko redz klients — tās nosaukums, krāsas, ekrānu forma, funkciju apakškopa, ko tā ieslēdz. Whitelabel nozīmē, ka viens kodols var valkāt daudz seju, netiekot pārbūvēts zem katras. Viens kodols, daudz lietotņu.

Vienkārši sakot, tas ir apgalvojums par to, kur atrodas šuves. Viss, kas skar naudu, ir kopīgs, auditēts un saskaņots vienreiz; viss, kas skar klientu, tiek konfigurēts katram tenantam. Svarīgākais inženierijas uzdevums ir šo robežu turēt godīgu — ļaut priekšgalam brīvi atšķirties, kamēr kodols, uz kura tas balstās, nekad netiek forkots. Šis ir izklāsts par to, kā šī robeža tiek novilkta un kāpēc to vilkt ar dizaina tokeniem ir labāk nekā ar forku.

Kas nemainās nekad: kodols

Sāksim ar pusi, kurai nav ļauts būt radošai. Pārskaitījums tiek grāmatots vienādi neatkarīgi no tā, vai lietotne to sauc par sūtījumu, maksājumu vai izmaksu: divi ieraksti dubultā ieraksta virsgrāmatā, un nekas netiek dzēsts — virsgrāmata tikai papildinās, tāpēc atmaksa ir pretieraksts, kas atsaucas uz oriģinālu, nevis dzēsums. Šeit dzīvo konti, atlikumi un autorizācijas rezervējumi. Tāpat KYC un onboarding, karšu izdošana un norēķini, kā arī kripto un stablecoin kanāli. Aiz tiem ir viena operatoru konsole, kurā katrai privilegētai darbībai jānorāda iemesls un kas nonāk audita žurnālā.

Katra no šīm lietām ir tieši viena, un tā ir būtība. Norēķinus, saskaņošanu un atbilstību ir grūti izdarīt pareizi un dārgi izdarīt nepareizi, tāpēc tos būvē vienreiz un ļauj katrai lietotnei mantot rezultātu. Kad tenants onboardē klientu, KYC līmenis, ko nosaka kodols, seko klientam uz konsoli neatkarīgi no tā, kuras lietotnes ekrāni pieņēma dokumentus. Kodols nezina un neinteresējas, kā sauc lietotni virs tā — tas redz kontus un ierakstus, nevis zīmolus.

Kas mainās: dizaina valoda, informācijas arhitektūra, funkciju komplekts

Viss virs kodola ir brīvi maināms trīs asīs. Pirmā ir dizaina valoda: krāsa, tipogrāfija, stūru rādiuss, atstarpes, kustība — zīmola vizuālā gramatika. Otrā ir informācijas arhitektūra: kas atrodas sākuma ekrānā, kā plūsmas tiek nosauktas un sakārtotas, kura darbība ir viena pieskāriena attālumā un kura — trīs. Trešā ir funkciju komplekts: kuri moduļi vispār ir ieslēgti. Lakoniska pārskaitījumu lietotne un blīva super-lietotne var darboties uz identiska kodola un nedalīt nevienu ekrānu.

Produkta lapa /products/pay izstaigā piecus izstrādātus virzienus, un tos labāk lasīt kā piemērus bezgalīgai kopai, nevis kā piecu punktu izvēlni. Halcyon ir tīra birža — atturīga, maz virsmu, tirdzniecība priekšplānā. Lumen ir super-lietotne, kurā nauda kustas sarunas iekšienē, un čata maksājumi, abonementi un earn dala sākuma ekrānu. Fern sāk ar pārskaitījumiem — vispirms pakešu izmaksas un uz noteikumiem balstīta FX konvertācija. Volt ir stablecoin tumšā būve ar algas sadalītāju un komandas kartēm. Meridian ir daudzvalūtu: EUR konts blakus USDC, GBP ceļojumu atlikums un BTC konts, kurā nonāk kartes balvas. Pieci zīmoli, piecas informācijas arhitektūras, pieci funkciju komplekti — zem tiem visiem viena virsgrāmata, viens KYC, viens karšu procesors.

Tas nenozīmē, ka produkts ir piecas lietotnes. Šie pieci ir virzieni, kuros var iet viens un tas pats cauruļvads; svarīgais skaitlis nav pieci, bet tik, cik tenantu jūs onboardējat. Katrs ir pierādījums, ka priekšgals var atšķirties līdz pat sākuma ekrāna formai, kamēr zem tā esošais kodols to nemana.

Kodols ir daļa, ko nedrīkst izgudrot no jauna; lietotne ir daļa, ko nedrīkst ierobežot. Whitelabel platforma ir disciplīna, kas abus šos teikumus patur patiesus vienlaikus.
— Protocore · Platformas inženierija

Kāpēc tokenu līmeņa tēmošana pārspēj kodu bāzes forkošanu

Ir divi veidi, kā panākt, lai viens produkts izskatās kā daudzi. Acīmredzamais ir fork: nokopēt kodu bāzi katram klientam, pārstilizēt un izlaist. Tas strādā tieši vienam laidienam. Pēc tam katrs kļūdas labojums un katras regulatīvās izmaiņas jāpiemēro N reižu N attālinošās kopijās, kopijas izkrīt no sinhronizācijas, un drošības virsma, par kuru jādomā, reizinās ar klientu skaitu. Forkošana pārvērš vienu sistēmu, ko saproti, par daudzām, ko nesaproti.

Tokenu līmeņa tēmošana to apvērš. Kodu bāze ir viena. Zīmols ir vērtību kopa — tokeni krāsai, tipogrāfijai, rādiusam un atstarpēm; komponentu konfigurācija; feature flag komplekts —, kas būves laikā tiek pārvērsta zīmolotā lietotnē. Nomaini tokenu, un visi ekrāni, kas to lasa, mainās kopā, jo nekas nav cieti iekodēts tur, kur vērtība jāņem no tokena. Labojums pārskaitījuma plūsmā nonāk pie visiem tenantiem uzreiz, jo labojama ir tikai viena pārskaitījuma plūsma. Zīmoli atšķiras konfigurācijā, nevis pirmkodā.

Kur atrodas dizaina sistēma

Tokeni nav vaļīga ideja; tie ir izlaists artefakts. Protocore Design System — /products/pds — ir 144 dizaina tokeni un 889 utilītklases: vārdnīca, kurā tēmotas visas lietotnes. Tā ir dark-first, tokenu vadīta un pēc noklusējuma ar nulles rādiusu, un tas pats tokenu komplekts tiek izveidots tīmeklim, .NET un native videi, tāpēc vienreiz definēta krāsa nozīmē to pašu krāsu React ekrānā, darbvirsmas konsolē un native mobilajā būvē. Tenanta zīmols tiek izteikts kā pārrakstījumi pret šo vārdnīcu, tāpēc lietotnes pārkrāsošana ir konfigurācijas izmaiņa, nevis pārrakstīšana.

Tieši tas padara priekšgalu patiesi brīvu, nevis brīvu šablona robežās. Tā kā dizaina valoda dzīvo tokenos un utilītklasēs, nevis vienreizējās stila lapās, dizainers var aizvest tenantu tālu no atsauces būves — ar savu paleti, tipogrāfiju, blīvumu un ritmu — neskarot kodolu un neforkojot lietotni. Krāsojums iet dziļi, bet tas joprojām ir tikai krāsojums; santehnika zem tā ir kopīga.

Lietotne ir konfigurācija, nevis būve

Funkciju komplekts seko tam pašam noteikumam. Katrs modulis — čata maksājumi, earn, kripto, kartes, abonementi, komandas kartes, ieteikumi — ir slēdzis, ko pārslēdz katram tenantam, un karogu var izlaist daļai lietotāju, pirms tas tiek atvērts visiem. Operatori tos pārslēdz no konfigurācijas paneļa, nevis ar deploy. Tātad atšķirība starp kailu pārskaitījumu lietotni un pilnu super-lietotni nav divi projekti; tās ir divas viena projekta konfigurācijas. Atsauces lietotne, no kuras sāk katrs tenants, ir neitrāla, ar Protocore zīmolu veidota būve ar visu izvēlni — katrs whitelabel ir šī būve ar pārrakstītiem tokeniem un ieslēgtiem vai izslēgtiem moduļiem.

Godīgā robeža

Viens kodols, daudz lietotņu attaisno mehānismu tikai tad, ja lietotņu tiešām ir daudz — vai arī ir viena lietotne, ko plānojat laika gaitā pārkrāsot, pārkārtot un pārkonfigurēt, katru reizi nepārbūvējot banku. Ja izlaižat vienu fiksētu lietotni, kas nekad nevilks otru zīmolu, whitelabel platforma jums nav vajadzīga; jums vajadzīga lietotne. Tā atmaksājas gadījumā, kam tā ir būvēta: platforma, kas tenantu pēc tenanta ceļ zīmolotus banku produktus, katru redzami savu, nevienu — kā forku. Pilns izklāsts — pieci virzieni, atsauces lietotne un aiz tiem esošā operatoru konsole — ir /products/pay, bet zem tā esošā dizaina sistēma — /products/pds.

Jāveido sistēma?

Pastāstiet par problēmu. Atgriezīsimies ar arhitektūru un plānu.