Salesforce Customer 360 Platform tarjoaa tehokkaan multitenanttien metadataan perustuvan arkkitehtuurin jokaiselle yksittäiselle Salesforce-vuokralaisen esiintymälle (eli organisaatiolle). Tämä arkkitehtuurin perusteet -asiakirja tarjoaa yleiskatsauksen alueista, joihin Salesforce Platformin perustana oleva arkkitehtuuri ottaa tärkeän huomioon sovellusalustan perustana olevien ratkaisujen arkkitehtuurissa.
Arkkitehtuurien suunnittelussa Salesforce Platformissa on kolme tärkeää osa-aluetta, jotka sinun kannattaa ymmärtää:
Transaktio voidaan luoda Salesforce Platformissa suorittamalla koodia ja/tai käyttämällä tietokantaoperaatiota. Salesforcen arkkitehtuurin perusteena on ymmärtää, miten sovellusalusta määrittää ja hallitsee vuokralaisten maksutapahtumia. Salesforce asettaa jokaiselle vuokralaiselle rajoituksia, jotka lasketaan transaktiokohtaisesti ja organisaatiokohtaisesti, jotta resursseja säilytetään kaikille vuokralaisille.
Transaktiotasolla Salesforce määrittää hallinta- ja suoritusrajoitukset varmistaakseen, että yksittäiset koodin suorituskerrat ja tietokantatransaktiot eivät monopolisoi jaettuja laskentaresursseja. Organisaationlaajuisella tasolla Salesforce määrittää rajoitukset version ja ominaisuuden tyypin mukaan. Organisaationlaajuiset rajoitukset sisältävät myös API-käytön laskennan organisaation kaikissa transaktioissa, joihin sovelletaan API-rajoituksia.
Tutustutaanpa tarkemmin Salesforce Platform -transaktioiden kahteen tärkeään osaan: suorituksen kontekstiin ja tietokannan manipulointiin.
Salesforce laskee transaktioiden rajoitukset suorituksen kontekstin perusteella. On tärkeää ymmärtää, että Salesforce-sovelluksissa tämä ei koske yksinomaan mukautetun koodin suorituksia yhdessä Salesforce-organisaatiossa. Suorituksen konteksti perustuu sovellusalustan suorituksen aikaiseen järjestelmään ja kaikkiin suorituksen aikaisen järjestelmän käytettävissä oleviin koodeihin tietylle vuokralaiselle. Tämä tarkoittaa, että vuokralaisen organisaatiossa määritetty mukautettu koodi, organisaation kanssa asennettujen pakettien koodi sekä Salesforce Platform -palveluihin sisältyvä koodi voivat kaikki luoda tapahtuman. Sovellusalusta erottaa erityyppiset Apex toisistaan ja laskee hallintarajoitukset niiden perusteella.
Lisätietoja Apex-transaktioiden rajoituksista on Apex-kehittäjän oppaassa.
Kun transaktio käsittää tietokannan manipuloinnin, sen sisäänrakennettu suoritusjärjestys määrittää, miten organisaatiosi kokoonpanon ja koodin eri osat toimivat. Avain Salesforce-sovelluksesi suoritusjärjestyksen oikeaan käyttämiseen Salesforce-sovelluksissasi on ymmärtää, kuinka vahva datan eheys tämä toimintatapa tarjoaa Salesforce-sovelluksillesi.
Sovellusalusta paljastaa tietokantaoperaatioiden tilan kontekstimuuttujat käynnistimen kontekstimuuttujien muodossa. On tärkeää ymmärtää, että nämä käynnistimen kontekstimuuttujat kuvaavat kaikkien tietokantatransaktioiden suorituksen aikaisia tiloja Salesforce-organisaatiossa — riippumatta siitä, onko organisaatiossa määritetty mukautettuja Apex. Ne ovat käytettävissä deklaratiivisille työkaluille, kuten Salesforce-kululle.
Salesforcessa dataa ei sitouteta (ja datatapahtumia ei ole suoritettu loppuun) ennen kuin suoritusjärjestyksessä kuvatut lopulliset jälkeen-_käynnistimien toiminnot on suoritettu onnistuneesti. Tämä tarkoittaa, että kaikki datatapahtuman aikana tapahtuvat kohtalokkaat virheet tai hylkäävät toiminnot, jotka tapahtuvat asiayhteydestä _ennen tai asiayhteydestä jälkeen, aiheuttavat sen, että sovellusalusta peruuttaa kaikki datatoiminnot tapahtuman sisällä. Tietuedataan pyydettyjä muutoksia ei sitouteta tietokantaan eikä sitoumuksen jälkeistä logiikkaa suoriteta. (Apex paljastaa tietokantamenetelmät salliakseen tallennuspisteiden ja periytymisen toiminnan tarkemman hallinnan).
Salesforce-arkkitehtuurissasi välttämätön tärkeä antikuvio yrittää lyhentää tai korvata sovellusalustan sisäänrakennetun suoritusjärjestyksen.
Lisätietoja näiden sisäänrakennettujen datan eheyden toimintatapojen logiikasta on kohdassa Inside and Out: Transaktiot Salesforce Engineering -blogissa.
Kun valitset, miten mukautat ja laajennat Salesforce-organisaatiossa, on tärkeää ymmärtää, mitä pidetään datana ja mitä pidetään metadatana Salesforce Platformin näkökulmasta. Lisätietoja tämän data/metadata-erottelun perustana olevasta arkkitehtuurista on Platform Multitenant Architecture Fundamentals -asiakirjassa.
Tämä ero vaikuttaa sovelluksesi kehityksen elinkaaren moniin osa-alueisiin, kuten siihen, kopioidaanko esine sandbox-kehitysympäristöihin vai ei, miten se voidaan siirtää muihin ympäristöihin, voiko se olla osa pakettia vai ei.
Alla oleva taulukko tarjoaa nopean vertailun datan ja metadatan suorituskyvystä, kun se liittyy sovelluksen elinkaaren tärkeimpiin osa-alueisiin:
| Toiminta | Data | Metadata |
|---|---|---|
| Kopioidaan tuotantoympäristöstä sandbox-ympäristöön | Ei* | Kyllä |
| Siirtyminen Metadata API:n perusteella | Ei | Kyllä** |
| Siirry tietojen latauksen mukaan | Kyllä | Ei |
| Voidaan sisällyttää paketteihin | Ei | Kyllä** |
| Lasketaan datan tallennusrajoituksiin | Kyllä | Ei |
| *Täysi kopiointi ja osittainen kopiointi -sandboxit sallivat datan replikoinnin tuotantoympäristöstä. **Jotkin metadatatyypit eivät ole käytettävissä Metadata API:n ja/tai pakettien kanssa. Löydät poikkeuksia Metadatan kattavuusraportista. |
||
Joskus tämä ero on melko ilmiselvää. Esimerkiksi Salesforce-organisaation yksittäiset tietueet ovat dataa. Organisaation eri objektit ovat metadataa.
Erot voivat olla monimutkaisempia organisaation kokoonpanojen ominaisuuksissa. Tärkein esimerkki on Mukautetut asetukset vs. Mukautetut metadatatyypit. Molemmat nämä ominaisuudet sallivat sinun määrittää organisaatiosi tietoja siten, että ne ovat helposti käytettävissä suorituksen aikana, ja niitä voidaan manipuloida ja hallita tietokantatietueiden tapaisilla tavoilla. Molemmat ominaisuudet on suunniteltu sallimaan löysästi yhdistetyt ja erittäin joustavat suunnittelukuvioet koodissa ja automaatiossa. Mukautetut asetukset tallennetaan kuitenkin organisaatioon datana ja mukautetut metadatatyypit tallennetaan metadatana.
Voit tarkastaa, onko jokin metadata, tarkastamalla, näytetäänkö se metadatan kattavuusraportissa. Tämä raportti kertoo sinulle myös tärkeimmistä kehitys- ja käyttöönottotoimista tietyntyyppiselle metadatalle.
On olemassa useita Salesforce Platform API -rajapintoja. Salesforce Platform API -rajapinnat tukevat erilaisia datamuotoja ja protokollia, erilaisia toimintotyyppejä ja ajoituksia. Jotkin API-rajapinnat sallivat sinun käyttää dataa Salesforce-organisaatiossa, kun taas toiset tukevat vuorovaikutuksia tietyn organisaation metadatan kanssa. Jotkin API-rajapinnat on suunniteltu käsittelemään suuria transaktioiden määriä, toiset eivät. Salesforce päivittää kaikkien Salesforce Platform API -rajapintojen versionumeron jokaisen julkaisun yhteydessä.
Tärkeä osa äänimuotoista sovellusrakennetta on varmistaa, että sovelluskehittäjät käyttävät oikeaa API-versiota (ja API-versiota) tietylle käyttötarkoitukselle. Sinun täytyy ottaa huomioon Salesforce-organisaatioidesi sisäänrakennetut API-rajoitukset, joista monet riippuvat Edition-versiosta ja ominaisuuksien aktivoinnista. Salesforce Platform API -rajapinnat tukevat taustayhteensopivaa käyttöä, mikä tarkoittaa, että tietyn version toteutusten tulisi toimia vakaasti ja yhdenmukaisesti, vaikka uusia API-versioita julkaistaisiin. Jos haluat lisätä uusia tai muutettuja ominaisuuksia uudesta API-versiosta, sinun täytyy ehkä muuttaa sovellustasi ennen kuin päivität viitteet uuteen API-versioon.
Monet erilaiset Salesforce Platform API -rajapinnat sekä Salesforce API -versioiden nopeus lisäävät merkittävästi monimutkaisuutta kaikkien Salesforce API -rajapintoja käyttävien sovellusten elinkaareen. Sinun täytyy suunnitella Salesforce Platform API -viitteiden säännölliset arvioinnit sovelluksissasi ja priorisoida suunnitellut API-huoltosyklit pitääksesi sovellukset käynnissä ennustetusti ja oikein.