iKonekt
Άνοιγμα της κονσόλας

Για ομίλους και πολλές μάρκες

Πολλές εταιρείες, μία εγκατάσταση, χωρίς κοινούς πελάτες

Οι όμιλοι συνήθως το λύνουν αυτό δύο φορές, άσχημα: είτε με πέντε ξεχωριστές εγκαταστάσεις και πέντε ξεχωριστά πάντα, είτε με μία εγκατάσταση και μια επίσημη υπόσχεση ότι η εφαρμογή φιλτράρει πάντα σωστά. Το πρώτο είναι ακριβό. Το δεύτερο είναι μια υπόσχεση, και οι υποσχέσεις δεν αποτελούν μοντέλο ασφαλείας.

Αν διαχειρίζεστε περισσότερες από μία εταιρείες — έναν όμιλο με θυγατρικές, ένα franchise, δύο μάρκες για διαφορετικές αγορές, ένα πρακτορείο και αυτό που το πρακτορείο απέσπασε — γνωρίζετε ήδη το σχήμα του προβλήματος. Οι μάρκες μοιράζονται ανθρώπους, εργαλεία και λογιστήριο. Δεν μοιράζονται πελάτες, και δεν πρέπει ούτε να φαίνεται ότι τους μοιράζονται.

Το iKonekt λειτουργεί όλες από μία εγκατάσταση, και ο διαχωρισμός μεταξύ τους διασφαλίζεται από τη βάση δεδομένων και όχι από τον κώδικα. Η διάκριση αυτή ακούγεται ακαδημαϊκή μέχρι τη μέρα που παύει να είναι.

Γιατί έχει σημασία το επίπεδο

Ένα φίλτρο σε επίπεδο εφαρμογής είναι μια πρόταση μέσα σε ένα ερώτημα. Λειτουργεί όσο κάθε ερώτημα που θα γραφτεί ποτέ την περιέχει — συμπεριλαμβανομένου εκείνου που γράφτηκε βιαστικά, εκείνου που έγραψε ο νέος προγραμματιστής, και εκείνου που γράφτηκε για μια αναφορά που θα χρησιμοποιούνταν μόνο μία φορά.

Μεταφέρετε το όριο μέσα στη βάση δεδομένων και η αριθμητική αντιστρέφεται. Η πολιτική εκτελείται σε κάθε ανάγνωση και κάθε εγγραφή, κάτω από τα πάντα. Ένα ερώτημα που ξεχάσει την εταιρεία δεν επιστρέφει λάθος γραμμές· δεν επιστρέφει καμία. Η αποτυχία γίνεται μια κενή οθόνη και ένας μπερδεμένος προγραμματιστής, που είναι ο σωστός τρόπος αποτυχίας.

Οι κενές οθόνες είναι χαρακτηριστικό. Προτιμούμε να εξηγήσουμε μια κενή οθόνη σε έναν δικό μας μηχανικό παρά να εξηγήσουμε μια λίστα πελατών σε δύο πελάτες που δεν περίμεναν να συναντηθούν.

Μία εγκατάστασηΑνά εταιρεία
  • 1Πελάτες & συζητήσειςΠεριορισμένοι. Ένας πωλητής στη μάρκα Α δεν μπορεί να φτάσει σε αυτούς της μάρκας Β, εκ κατασκευής και όχι μέσω ρύθμισης.
  • 2Δικαιώματα σε πελάτηΤο «έχουμε ήδη αυτόν τον λογαριασμό» είναι ένα κλείδωμα ανά εταιρεία — ώστε δύο μάρκες να μπορούν να δουλεύουν την ίδια αγορά χωρίς συγκρούσεις.
  • 3Προτροπές & ρυθμίσειςΚάθε εταιρεία επεξεργάζεται τις δικές της. Το ένα σημείο που μοιραζόταν ποτέ ήταν ένα σφάλμα, και είναι το σφάλμα που το σύστημα αυτό καμαρώνει περισσότερο που εντόπισε.
  • 4Προγράμματα συνεργατώνΈνα module ανά εταιρεία, όχι ένα καθολικό που κληρονομούν όλοι.

Το όριο επιβάλλεται κάτω από την εφαρμογή

Τι μοιράζεται πραγματικά ένας όμιλος

Ο διαχωρισμός δεν είναι απομόνωση για τη χάρη της. Τα πράγματα που αξίζει να μοιράζονται σε έναν όμιλο μοιράζονται σκόπιμα, και είναι κυρίως τα βαρετά — που είναι ακριβώς σωστό, γιατί στα βαρετά βρίσκεται το διπλασιασμένο κόστος:

  • Μία εγκατάσταση για λειτουργία και ενημερώσεις. Μία ανάπτυξη, ένα σύνολο διαπιστευτηρίων για φύλαξη, ένα πράγμα για συντήρηση σε ενημερωμένη έκδοση.
  • Μία ομάδα ανθρώπων, με διαφορετικά καπέλα. Ένα άτομο μπορεί να δουλεύει σε περισσότερες από μία εταιρείες· αυτό που δεν μπορεί να κάνει είναι να βλέπει και τις δύο ταυτόχρονα μέσω ενός ερωτήματος που ξέχασε να ρωτήσει.
  • Ένα σύνολο συνηθειών. Ο τρόπος ανάθεσης ενός lead, ο τρόπος γραφής μιας σημείωσης, ο τρόπος που μια εργασία φτάνει σε τιμολόγιο — μαθαίνεται μία φορά, εφαρμόζεται παντού, κάτι που συντομεύει την ενσωμάτωση σε περίπου ένα πρωινό.
  • Μία σχέση με την υπόλοιπη οικογένεια. castomAPI από κάτω, ο ίδιος λογαριασμός, οι ίδιοι σύνδεσμοι — ρυθμισμένοι ανά εταιρεία όπου έχει σημασία.

Η ερώτηση που κάνει πάντα δεύτερη ένας όμιλος

«Μπορούμε να κάνουμε αναφορές σε όλα μαζί;» Ναι — από το δικό του σημείο παρατήρησης του ομίλου, σκόπιμα και ρητά, και όχι ως παρενέργεια ενός διαρρέοντος ορίου. Η διάκριση είναι όλος ο σχεδιασμός: το πέρασμα της γραμμής πρέπει να είναι πράξη που κάποιος έκανε επίτηδες, με την εξουσία να το κάνει. Ποτέ δεν πρέπει να είναι κάτι που μπορεί να πετύχει κατά λάθος ένας αδέσποτος αναγνωριστικός κωδικός.

Και η ερώτηση που κάνουν τρίτη: «τι γίνεται αν πουλήσουμε μία από τις μάρκες;» Ένα όριο που κρατά η βάση δεδομένων είναι και ένα όριο από το οποίο μπορείτε να βγάλετε ένα καθαρό αντίγραφο. Αυτό δεν είναι σύμπτωση — ο διαχωρισμός και η μεταφερόμενη ικανότητα είναι η ίδια ιδιότητα όπως φαίνεται από δύο διαφορετικές συσκέψεις.

Κάτω από το πάτωμα

Τι κρατά τη γραμμή, συγκεκριμένα

Δεν είναι ισχυρισμός, είναι λίστα. Αν ένας προμηθευτής δεν μπορεί να παράγει αυτή τη λίστα για το δικό του προϊόν, αυτό αξίζει προσοχής.

26

Πίνακες που φέρουν την εταιρεία τους, με τον έλεγχο ενεργοποιημένο υποχρεωτικά και όχι απλώς διαθέσιμο.

72

Πολιτικές, γραμμένες μία τη φορά, ώστε καθεμία να έχει διαβαστεί από άνθρωπο και όχι να έχει παραχθεί σε βρόχο.

942

Δοκιμές, που εκτελούνται σε βάση δεδομένων ξαναχτισμένη από το μηδέν κάθε φορά που αλλάζει οτιδήποτε.

0

Προεπιλεγμένες εταιρείες. Ένα αίτημα χωρίς πεδίο εφαρμογής απορρίπτεται πριν φτάσει στα δεδομένα — δεν υπάρχει εναλλακτική που κάποιος να ξεχάσει να απενεργοποιήσει.

Πώς χτίζεται ο διαχωρισμός →

«Πέντε εταιρείες, πέντε εγκαταστάσεις, πέντε τιμολόγια από εσάς.»

Μία εγκατάσταση. Πέντε όρια που κρατά η βάση δεδομένων.

Κοινά άτομα, κοινές συνήθειες, κοινή πλατφόρμα — και ούτε ένας κοινός πελάτης. Η υπέρβαση αυτής της γραμμής πρέπει να είναι κάτι που έκανε κάποιος σκόπιμα, ποτέ κάτι που ένα αναγνωριστικό διαχειρίστηκε κατά λάθος.

Πώς χτίζεται ο διαχωρισμός →