Vir groepe en verskeie handelsmerke
Verskeie maatskappye, een installasie, geen gedeelde kliënte
Groepe los dit gewoonlik twee keer sleg op: of vyf aparte installasies en vyf aparte alles, of een installasie en 'n plegtige belofte dat die toepassing altyd reg filter. Die eerste is duur. Die tweede is 'n belofte, en beloftes is nie 'n sekuriteitsmodel nie.
As jy meer as een maatskappy bedryf — 'n holding met filiale, 'n franchise, twee merke vir verskillende markte, 'n agentskap en die ding wat die agentskap afgespin het — ken jy al die vorm van die probleem. Die merke deel mense, gereedskap en 'n finansiesafdeling. Hulle deel nie kliënte nie, en hulle mag nie lyk asof hulle dit deel nie.
iKonekt bedryf almal van hulle vanaf een installasie, en die skeiding tussen hulle word deur die databasis gehou eerder as deur die kode. Daardie onderskeid klink akademies tot die dag wat dit nie meer is nie.
Hoekom die laag saakmaak
'n Filter op toepassingsvlak is 'n sin in 'n navraag. Dit werk solank elke navraag wat ooit geskryf gaan word dit bevat — insluitend die een wat haastig geskryf is, die een wat deur die nuwe ontwikkelaar geskryf is, en die een wat geskryf is vir 'n verslag wat net een keer gebruik sou word.
Skuif die grens in die databasis in en die rekenkern keer om. Die beleid loop op elke lees en elke skryf, onder alles. 'n Navraag wat die maatskappy vergeet gee nie die verkeerde rye terug nie; dit gee niks terug nie. Die foutmodus word 'n leë skerm en 'n verwarde ontwikkelaar, en dát is die regte foutmodus.
Leë skerms is 'n funksie. Ons verkies dit om 'n leë skerm aan een van ons eie ingenieurs te verduidelik as 'n kliëntelys aan twee kliënte wat nie verwag het om mekaar te ontmoet nie.
- 1Kliënte & gesprekkeAfgesper. 'n Verkoper in merk A kan nie merk B s'n bereik nie — deur konstruksie eerder as deur konfigurasie.
- 2Eise op 'n kliënt"Ons het hierdie rekening al" is 'n slot wat per maatskappy gehou word — so twee merke kan albei in dieselfde mark werk sonder om te bots.
- 3Prompte & instellingsElke maatskappy redigeer sy eie. Die een plek waar dit ooit gedeel was, was 'n fout — en dit is die fout waarop hierdie stelsel die trotsste is dat ons dit gevind het.
- 4Vennootprogramme'n Module per maatskappy, nie 'n globale een wat almal erf nie.
Grens afgedwing onder die toepassing
Wat 'n groep werklik mag deel
Skeiding is nie isolasie vir die spreekwoordelike daarvan nie. Die dinge wat die moeite werd is om oor 'n groep te deel, word doelbewus gedeel, en dit is meestal die vervelige — en dit is presies reg, want in die vervelige lê die gedupliseerde koste:
- Een installasie om te bedryf en op te dateer. Een ontplooiing, een stel geloofsbriewe om na om te sien, een ding om gepatch te hou.
- Een span mense, met verskillende hoede op. 'n Persoon kan in meer as een maatskappy werk; wat hy nie kan doen nie, is om albei tegelyk te sien deur 'n navraag wat vergeet het om te vra.
- Een stel gewoontes. Die manier waarop 'n lead toegewys word, die manier waarop 'n nota geskryf word, die manier waarop 'n werk by 'n faktuur uitkom — een keer geleer, oral toegepas, wat inleiding tot ongeveer 'n oggend verkort.
- Een verhouding met die res van die gesin. castomAPI onder, dieselfde rekening, dieselfde konnektore — gekonfigureer per maatskappy waar dit saakmaak.
Die vraag wat 'n groep altyd tweede vra
"Kan ons oor almal heen rapporteer?" Ja — vanuit die groep se eie uitkykpunt, doelbewus en uitdruklik, eerder as 'n newe-effek van 'n lek grens. Daardie onderskeid is die hele ontwerp: om oor die lyn te gaan moet 'n handeling wees wat iemand met opset gedoen het, met die bevoegdheid om dit te doen. Dit mag nooit iets wees wat 'n verdwaalde identifiseerder per ongeluk regkry nie.
En die vraag wat hulle derde vra: "wat gebeur as ons een van die merke verkoop?" 'n Grens wat die databasis hou, is ook 'n grens waaruit jy 'n skoon kopie kan uitlig. Dit is geen toeval nie — skeiding en draagbaarheid is dieselfde eienskap, gesien uit twee verskillende vergaderings.
Onder die vloer
Wat spesifiek die lyn hou
Nie 'n bewering, 'n lys nie. As 'n verskaffer nie hierdie lys oor hulle eie produk kan gee nie, is dit die moeite werd om op te let.
26
Tabelle wat hulle maatskappy dra, met die kontrole afgedwing eerder as bloot beskikbaar.
72
Beleide, een vir een uitgeskryf sodat elkeen deur 'n mens gelees is, nie in 'n lus gegenereer nie.
942
Toetse, gedryf teen 'n databasis wat elke keer van nul af herbou word wanneer iets verander.
0
Standaardmaatskappye. 'n Versoek sonder omvang gooi 'n fout voordat dit by die data uitkom — daar is geen terugval om te vergeet om af te skakel nie.

"Vyf maatskappye, vyf installasies, vyf fakture van julle."
Een installasie. Vyf grense wat die databasis hou.
Gedeelde mense, gedeelde gewoontes, gedeelde platform — en nie een gedeelde kliënt nie. Om daardie lyn te oorsteek moet iets wees wat 'n persoon met opset gedoen het, nooit iets wat 'n identifiseerder per ongeluk regkry nie.
Hoe die skeiding gebou word →