iKonekt

For konsern og fleire merkevarer

Fleire selskap, ei installering, ingen delte kundar

Konsern løysar vanlegvis dette dårleg to gonger: anten fem separate installeringar og fem separate alt, eller ei installering og eit høgtideleg løfte om at applikasjonen alltid filtrerer riktig. Det første er dyrt. Det andre er eit løfte, og løfter er ingen sikkerheitsmodell.

Om du driv meir enn eitt selskap — eit holdingselskap med dotterselskap, ein franchise, to merkevarer retta mot ulike marknader, eit byrå og det byrået spunne ut av — kjenner du allereie forma på problemet. Merkevara deler folk, verktøy og ein økonomiavdeling. Dei deler ikkje kundar, og dei må ikkje framstå som om dei gjer det.

iKonekt driv alle frå ei installering, og skiljet mellom dei blir halde av databasen og ikkje av koden. Det skiljet høyrast akademisk ut til den dagen det ikkje gjer det.

Kvifor laget er viktig

Eit filter på applikasjonsnivå er ei setning i ei spørjing. Det fungerer så lenge kvar spørjing som nokonsinne blir skriven inneheld den — inkludert den som blir skriven i ei fart, den som blir skriven av den nye utviklaren, og den som blir skriven for ei rapport som berre skulle brukast éin gong.

Dytt grensa inn i databasen, og aritmetikken snur. Regelet køyrer på kvar lesing og kvar skriving, under alt. Ei spørjing som gløymer selskapet returnerer ikkje feile rader; den returnerer ingen. Feilmodusen blir ein tom skjerm og ein forvirra utviklar, noko som er den riktige feilmodusen.

Tomme skjermar er ein funksjon. Vi heller forklarar ein tom skjerm for ein av våre eigne ingeniørar enn å forklare ei kundeliste for to kunder som ikkje forventa å møtast.

Éi installeringPer selskap
  • 1Kundar & trådarAvgrensa. Ein seljar i merkevare A kan ikkje nå merkevare B si, ved konstruksjon og ikkje ved konfigurasjon.
  • 2Krav på ein kunde«Vi har allereie denne kontoen» er eit lås halden per selskap — slik at to merkevarer kan arbeida i same marknad utan å kollidere.
  • 3Promptar & innstillingarKvart selskap redigerer sine eigne. Den einaste plassen dette nokonsinne var delt, var ein feil, og det er feilen dette systemet er stoltast av å ha funne.
  • 4PartnerprogramEit modul per selskap, ikkje eit globalt som alle arvar.

Grensa håndheva under applikasjonen

Kva eit konsern faktisk får dele

Skilje er ikkje isolasjon for sin eigen skuld. Tinga som er verdt å dele på tvers av eit konsern, blir delte med vilje, og det er stort sett dei kjedelege — noko som er heilt riktig, for det er i dei kjedelege at den dupliserte kostnaden bur:

  • Éi installering å drive og oppdatere. Éi utrulling, eitt sett innloggingsopplysningar å passe på, éi ting å halda oppdatert med sikkerheitsoppdateringar.
  • Eitt team av menneske, med ulike hattar på. Ei person kan arbeida i meir enn eitt selskap; det dei ikkje kan, er å sjå begge samstundes gjennom ei spørjing som gløymer å spørja.
  • Eitt sett vanar. Måten ein førehandsmelding blir tildelt på, måten eit notat blir skrive på, måten eit oppdrag når ein faktura — lært ein gong, brukt overalt, noko som forkortar opplæringa til om lag ein føremiddag.
  • Eitt forhold til resten av familien. castomAPI under, same konto, same koblingane — konfigurert per selskap der det betyr noko.

Spørsmålet eit konsern alltid stiller som det andre

«Kan vi rapportera på tvers av alle?» Ja — frå konsernet sitt eige ståstad, med vilje og eksplisitt, i staden for som ei sideverknad av ei lekkande grense. Skiljet er heile utforminga: å krysse linja må vera ei handling nokon utførde med vilje, med mynde til å gjera det. Det må aldri vera noko eit løpande identifikator kan utrette ved eit uhell.

Og spørsmålet dei stiller som det tredje: «kva skjer om vi sel eit av merkevara?» Ei grense som databasen held, er også ei grense du kan løfta ein rein kopi ut av. Det er ikkje eit samanheng — skilje og flyttbarheit er same eigenskap sett frå to ulike møter.

Under gulvet

Kva som held linja, konkret

Ikkje eit påstand, ei liste. Om ein leverandør ikkje kan produsera denne lista om sitt eige produkt, er det verdt å merka seg.

26

Tabellar som ber med seg selskapet sitt, med kontrollen tvungen på og ikkje berre tilgjengeleg.

72

Reglar, skrivne ut éin om gongen slik at kvar av dei er lest av eit menneske, ikkje generert i ei løkke.

942

Testar, køyrt mot ein database bygd frå null kvar gong noko endrar seg.

0

Standardselskap. Ei førespurnad utan omfang kastar feil før ho når dataa — det finst ingen fallback å gløyme å slå av.

Korleis skiljet er bygd →

«Fem selskap, fem installeringar, fem fakturaer frå dykk.»

Éi installering. Fem grenser databasen held.

Delte menneske, delte vanar, delt plattform — og ikkje éin delt kunde. Å krysse den linja må vera noko eit menneske gjorde med vilje, aldri noko ein identifikator klarte ved eit uhell.

Korleis skiljet er bygd →