Za grupe i više brendova
Nekoliko tvrtki, jedna instalacija, bez zajedničkih kupaca
Grupe to obično rješavaju dvostruko loše: ili pet odvojenih instalacija i pet odvojenih svega, ili jedna instalacija i svečano obećanje da će aplikacija uvijek ispravno filtrirati. Prvo je skupo. Drugo je obećanje, a obećanja nisu sigurnosni model.
Ako vodite više od jedne tvrtke — holding s podružnicama, franšizu, dva brenda usmjerena na različita tržišta, agenciju i ono što je agencija izdvojila — Već znate oblik problema. Brendovi dijele ljude, alate i financijski odjel. Ne dijele kupce, i ne smiju se činiti da ih dijele.
iKonekt pokreće sve njih iz jedne instalacije, a razdvajanje među njima održava baza podataka, a ne kod. Ta razlika zvuči akademski dok ne dođe dan kada nije.
Zašto je sloj važan
Filtar na razini aplikacije rečenica je u upitu. Radi dok svaki upit koji će ikada biti napisan sadrži tu rečenicu — uključujući onaj napisan u žurbi, onaj koji je napisao novi razvojni inženjer i onaj napisan za izvještaj koji je trebao poslužiti samo jednom.
Pomaknite granicu u bazu podataka i aritmetika se obrne. Pravilo se izvršava pri svakom čitanju i svakom pisanju, ispod svega. Upit koji zaboravi tvrtku ne vraća pogrešne retke; ne vraća nijedan. Način otkazivanja postaje prazan zaslon i zbunjeni razvojni inženjer, a to je ispravan način otkazivanja.
Prazni zasloni su značajka. Radije bismo prazan zaslon objasnili vlastitom inženjeru nego popis kupaca dvojici klijenata koji se nisu očekivali susresti.
- 1Kupci & razgovoriOgraničeno. Prodavač u brendu A ne može doći do brenda B, po konstrukciji, a ne po konfiguraciji.
- 2Potraživanja od kupca"Ovaj račun već imamo" zaključava se po tvrtki — tako dva brenda mogu raditi na istom tržištu bez sudaranja.
- 3Upiti i postavkeSvaka tvrtka uređuje svoje. Jedino mjesto na kojem je je to ikada bilo dijeljeno bila je greška, i to je greška na čije je otkrivanje ovaj sustav najponosniji.
- 4Partnerski programiModul po tvrtki, a ne globalni koji svi nasljeđuju.
Granica provedena ispod aplikacije
Što grupa zapravo može dijeliti
Odvajanje nije izolacija radi izolacije. Stvari vrijedne dijeljenja unutar grupe dijele se namjerno, a to su uglavnom one dosadne — što je točno kako i treba, jer upravo u dosadnim leži udvostručeni trošak:
- Jedna instalacija za pokretanje i ažuriranje. Jedna implementacija, jedan skup vjerodajnica za održavanje, jedna stvar koju treba zakrpati.
- Jedan tim ljudi s različitim ulogama. Osoba može raditi u više tvrtki; ne može je vidjeti obje istovremeno kroz upit koji je zaboravio pitati.
- Jedan skup navika. Način dodjele potencijalnog kupca, način pisanja bilješke, način na koji posao postaje faktura — nauči se jednom, primjenjuje svugdje, što uvod u posao skraćuje na otprilike jedno jutro.
- Jedan odnos s ostatkom obitelji. castomAPI u pozadini, isti račun, isti konektori — konfigurirano po tvrtki tamo gdje je to važno.
Pitanje koje grupa uvijek postavlja drugo
"Možemo li izvještavati preko svih njih?" Da — iz vlastite perspektive grupe, namjerno i izričito, a ne kao nusprodukt propusne granice. Ta je razlika cijeli dizajn: prijelaz granice mora biti čin koji je netko namjerno izveo, s ovlaštenjem da to učini. Nikada ne smije biti nešto što zalutali identifikator može slučajno postići.
A pitanje koje postavljaju treće: "što se dogodi ako prodamo jedan od brendova?" Granica koju čuva baza podataka također je granica iz koje možete izvući čistu kopiju. To nije slučajnost — odvajanje i prenosivost su isto svojstvo gledano s dva različita sastanka.
Ispod površine
Što točno čuva granicu
Ne tvrdnja, nego popis. Ako dobavljač ne može dati ovaj popis o vlastitom proizvodu, to vrijedi primijetiti.
26
Tablice koje nose svoju tvrtku, s provjerom nametnutom, a ne samo dostupnom.
72
Pravila, zapisana jedno po jedno tako da je svako pročitao čovjek, a ne generirano u petlji.
942
Testovi, pokrenuti nad bazom podataka obnovljenom od nule svaki put kad se bilo što promijeni.
0
Zadane tvrtke. Zahtjev bez opsega odbija se prije nego što dođe do podataka — nema zamjenskog ponašanja koje netko može zaboraviti isključiti.

"Pet tvrtki, pet instalacija, pet faktura od vas."
Jedna instalacija. Pet granica koje čuva baza podataka.
Dijeljeni ljudi, dijeljene navike, dijeljena platforma — i nijedan dijeljeni kupac. Prijelaz te granice mora biti nešto što je osoba namjerno učinila, nikada nešto što je identifikator slučajno uspio.
Kako je odvajanje izgrađeno →