iKonekt

Za grupe i više brendova

Više kompanija, jedna instalacija, bez zajedničkih kupaca

Grupe to obično rješavaju dva puta 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 kompanije — holding sa podružnicama, franšizu, dva brenda usmjerena na različita tržišta, agenciju i stvar koju je agencija izdvojila — Već znate oblik problema. Brendovi dijele ljude, alate i finansijski odjel. Ne dijele kupce, i ne smiju se činiti da ih dijele.

iKonekt vodi sve njih iz jedne instalacije, a razdvajanje između njih čuva baza podataka, a ne kod. Ta razlika zvuči akademski dok ne dođe dan kada nije.

Zašto je sloj važan

Filter na nivou aplikacije je rečenica u upitu. Radi dok god svaki upit koji će ikada biti napisan sadrži tu rečenicu — uključujući onaj napisan u žurbi, onaj napisan od strane novog programera, i onaj napisan za izvještaj koji je trebao biti iskorišten samo jednom.

Pomjerite granicu u bazu podataka i aritmetika se obrće. Pravilo se izvršava na svakom čitanju i svakom pisanju, ispod svega. Upit koji zaboravi kompaniju ne vraća pogrešne redove; ne vraća ništa. Način greške postaje prazan ekran i zbunjen programer, a to je ispravan način greške.

Prazni ekrani su funkcija. Radije ćemo objasniti prazan ekran jednom od naših inženjera nego objasniti spisak kupaca dva klijenta koji se nisu očekivali sresti.

Jedna instalacijaPo kompaniji
  • 1Kupci & nitiOgraničeno. Prodavac iz brenda A ne može pristupiti brendu B — po samoj konstrukciji, a ne po konfiguraciji.
  • 2Zahtjevi na kupca„Ovaj račun već imamo
  • 3Promptovi i postavkeSvaka kompanija uređuje svoje. Jedino mjesto na kojem je ovo ikada dijeljeno bila je greška, i to je greška na čije je pronalaženje ovaj sistem najponosniji.
  • 4Partnerski programiModul po kompaniji, a ne globalni koji svi nasljeđuju.

Granica nametnuta ispod aplikacije

Šta grupa zaista može dijeliti

Odvojenost nije izolacija zarad izolacije. Stvari vrijedne dijeljenja unutar grupe dijele se namjerno, a to su uglavnom one dosadne — što je upravo ispravno, jer baš u dosadnim leži udvostručeni trošak:

  • Jedna instalacija za pokretanje i ažuriranje. Jedna implementacija, jedan set pristupnih podataka o kojima se vodi briga, jedna stvar koju treba držati zakrpljenom.
  • Jedan tim ljudi s različitim ulogama. Osoba može raditi u više od jedne kompanije; ono što ne može jeste vidjeti obje istovremeno kroz upit koji je zaboravio pitati.
  • Jedan set navika. Način na koji se dodjeljuje potencijalni klijent, način na koji se piše zapis, način na koji posao postaje faktura — nauči se jednom, primjenjuje svugdje, što uvježbavanje skraćuje na otprilike jedno jutro.
  • Jedan odnos s ostatkom porodice. castomAPI u pozadini, isti račun, isti konektori — podešeni po kompaniji tamo gdje je to bitno.

Pitanje koje grupa uvijek postavlja drugo

„Možemo li izvještavati preko svih njih?“ Da — iz vlastite perspektive grupe, namjerno i eksplicitno, a ne kao posljedica propusne granice. Ta razlika je cijeli dizajn: prelazak preko linije mora biti čin koji je neko svjesno izvršio, s ovlaštenjem da to uradi. Nikada ne smije biti nešto što slučajno učini zalutali identifikator.

A pitanje koje postavljaju treće: „šta se dešava ako prodamo jedan od brendova?“ Granicu koju baza podataka drži moguće je i presjeći tako da se izvadi čista kopija. To nije slučajnost — odvojenost i prenosivost su isto svojstvo gledano s dva različita sastanka.

Ispod poda

Šta konkretno čuva granicu

Nije tvrdnja, nego lista. Ako dobavljač ne može proizvesti ovu listu o vlastitom proizvodu, to vrijedi primijetiti.

26

Tabele koje nose svoju kompaniju, s provjerom nametnutom, a ne samo dostupnom.

72

Pravila, zapisana jedno po jedno tako da je svako pročitao čovjek, a ne generisano u petlji.

942

Testovi, pokrenuti nad bazom podataka izgrađenom od nule svaki put kada se išta promijeni.

0

Zadane kompanije. Zahtjev bez opsega baca grešku prije nego što dopre do podataka — nema rezervne postavke koju neko zaboravi isključiti.

Kako je odvojenost izgrađena →

„Pet kompanija, pet instalacija, pet faktura od vas.“

Jedna instalacija. Pet granica koje baza podataka drži.

Dijeljeni ljudi, dijeljene navike, dijeljena platforma — a nijedan dijeljeni klijent. Prelazak te linije mora biti nešto što je osoba učinila namjerno, nikada nešto što je identifikator uspio slučajno.

Kako je odvojenost izgrađena →