Salesforce iz ugla programera

Često slušamo o Salesforce-u kao odličnom alatu koji koriste mnoge svetski poznate firme, kao CRM-u koji je prvi u Gartner-ovom magičnom kvadrantu, firmi koja broji 150.000 klijenata i ostale marketinške priče… Kako sve to izgleda iz ugla programera koji radi na implementaciji ili prilagođavanju konkretne Salesforce instance?

Za početak, vrlo je bitno napraviti razliku između termina Salesforce.com i Force.com. Salesforce.com označava CRM (Customer Relationship Management) dok Force.com (takođe nazivan i Force.com platform i Lightning platform) označava platformu za brzi razvoj aplikacija (aPaaS – application Platform as a Service) koja može biti povezana sa Salesforce.com ili se koristiti individualno. Takođe je važno napomenuti da se i Salesforce.com i Force.com SaaS (Software as a Service) rešenja nalaze se u cloud-u i zasnovana su na modelu pretplate. Shodno tome, ova tema će se baviti Force.com platformom i njenom povezanošću sa Salesofrce.com.

Dualni razvoj

Force.com platforma nije mnogo zanimljiva kada se koristi bez Salesforce-a jer je ona zapravo i nastala sa ciljem da proširi mogućnosti Salesforce-a i uvede novu dimenziju prilagođavanja prema sopstvenim potrebama. Jedna od glavnih odlika Force.com platforme jeste postojanje dualnog razvoja – pisanje koda i deklarativni metod (Point and click development).

Deklarativni razvoj veoma je moćan i može značajno da olakša i ubrza sam proces razvoja. Deklarativnim putem je, primera radi, veoma lako obezbediti slanje e-mail notifikacija ukoliko su zadati uslovi zadovoljeni, uvesti proces odobrenja promena, lančano ažuriranje međuzavisnih vrednosti, pravljenje jednostavnijih formi za unos i slično.

Ni deklarativni razvoj nije svemoguć, pa se upotpunjuje kodiranjem. Force.com platforma poseduje svoj programski jezik Apex koji je objektno orijentisan i sličan je Javi. Poseduje relacionu bazu podataka koja je apstrahovana za jedan nivo više nalik na ORM (Object Relational Mapping), tako da se u Salesforce svetu tabela naziva objektom. Takođe, postoji i upitni jezik nalik na SQL koji se naziva SOQL (Salesforce Object Query Language). Za korisnički interfejs koristi se Visualforce koji je zasnovan na HTML-u s dodatnim Force.com tagovima. Poslednja dopuna Force.com platformi je Lightning Components Framework, Salesforce-ov pandan Google Polymer-u ili Facebook React-u, tj. frejmvork za razvoj jednostraničnih aplikacija za telefone i Web.

Pročitajte i:  PC Press na IFA 2018: U znaku Moto Z3 Play smartfona

Prava vrednost Force.com platforme

Sve ovo zvuči lepo, ali ne i preterano zanimljivo niti jedinstveno. Prava vrednost platforme leži u mogućnosti da se poslovni zahtevi realizuju u što kraćim intervalima, u kvalitetu koji se može porediti s ostalim rešenjima u cloud-u. Ako vam je jasno da se svi podaci o vašim kupcima, odnosno klijentima, nalaze u istoj bazi kojoj možete pristupati i iz Force.com plaforme, onda je zaključak da se dopunski moduli, na primer modul za pravljenje ponuda, marketinški alati za promociju ili računovodstvo mogu dodati relativno brzo bez prevelike potrebe za integracijom i sinhronizacijom više razuđenih sistema. Takođe, nije potrebno brinuti o autentifikaciji korisnika i njihovoj potrebi da se loguju u više sistema da bi obavili različite poslove.

Salesforce je mislio i o programerima, tako da je pisanje koda jednostavno i to je jedina stvar o kojoj programeri treba da razmišljaju. Dakle, nema podizanja virtuelnih mašina, instaliranja IDE alata (Integrated Development Environment), podešavanja sistema i petljanja po konzoli da biste podesili okruženje i krenuli s radom. Uz produkcionu instancu obično se dobija i par razvojnih okruženja (Salesforce Sandbox) u kojima se piše softver, a svi alati su dostupni preko browser-a.

Nemaju sve firme potrebu za prilagođenim softverom. Za neke prostije operacije, a pogotovu za praćenje klijenata, prodaje i marketing, Salesforce.com CRM je odličan za nekoga ko hoće brzo da krene i nadograđuje kasnije. Vrlo bitan aspekt implementacije jeste da se postavi dobra osnova i da se time bavi neko sa iskustvom i odgovarajućim sertifikatima. Klasičnim programerima koji su se bavili mainstream tehnologijama veoma je lako da se izgube u Salesforce svetu jer je logika malo drugačija, pa nije racionalno rešavati sve kodiranjem. Takođe je bitno da se sami poslovni procesi temeljno analiziraju pre implementacije i nađu iznuđeni kompromisi kako bi implementacija bila jednostavnija. Salesforce se nalazi na deljenoj arhitekturi (Multi-tenant), tako da ima vrlo rigorozne limite koje treba imati na umu pri projektovanju arhitekture sistema. Salesforce poseduje prodavnicu AppExchange gde je moguće kupiti ili preuzeti besplatno aplikacije i komponente koje mogu ubrzati implementaciju, bez potrebe za kodiranjem.

Pročitajte i:  SwiftKey za Android nudi prevođenje poruka u realnom vremenu

Salesforce na primeru GCOMM-a

U GCOMM-u koristimo Salesforce više od šest godina i sami smo radili na implementaciji i prilagođavanju sistema koje još uvek traje jer se CSP (Communication Service Provider) biznis stalno menja. GCOMM-ova vizija je da naši zaposleni treba da imaju samo jedan login i jedan sistem u kome treba raditi, čemu još uvek težimo, a na centralno mesto postavljamo Salesforce. Pre Salesforce-a korišćeno je više različitih sistema (dva sistema za ponude, dva sistema za podršku, jedan sistem za računovodstvo) i svi su u sebi sadržali informacije o našim klijentima, ali nijedan nije bio potpun i sinhronizovan s ostalima. Sa Salesforce-om dobili smo pregled svih aspekata poslovanja u 360 stepeni.

Da bismo sve ovo postigli, kombinovali smo kupljene aplikacije i module koje smo pravili sami (koji preovladavaju u našem sistemu). I jedan i drugi pristup imaju svojih prednosti i mana. Razlog zašto je GCOMM odabrao više prilagođeno rešenje jeste to što je Salesforce osnova naše digitalne platforme i osnova vizije za digitalni, odnosno algoritamski biznis koji će eliminisati potrebu za ljudskom interakcijom u obavljanju ponavljajućih zadataka.

Neke od prednosti kupljenih aplikacija jesu te što je sve već napravljeno i jedino ih treba instalirati i početi s radom. Mane su uglavnom dodatna cena na već postojeće licence za korišćenje Salesforce-a, kao i to što su te aplikacije zaštićene i ne mogu se menjati, a ponekad je potrebna samo mala izmena da bi sve funkcionisalo perfektno. Za razliku od kupljenih aplikacija, pravljenje modula ne iziskuje dopunske troškove licenci, ali tu je inicijalni trošak razvoja i činjenica da je period razvoja i stavljanja modula u upotrebu duži. Prednosti su velike mogućnosti prilagođavanja poslovnim procesima. Postoji i treća opcija, a to je nadogradnja oko kupljene aplikacije, s njom kao osnovom. To se uglavnom dešava kada kupljena aplikacija ne može više da izađe u susret potrebama biznisa, ali to je loš pristup jer se veoma lako može desiti da se prepravi veći deo aplikacije, a da vi i dalje ostanete zavisni od inicijalne aplikacije jer ona predstavlja temelj.

Pročitajte i:  Instagramov sledeći poduhvat bi mogao da bude zasebna aplikacija za kupovinu

GCOMM ima interni tim za razvoj koji čini više sertifikovanih Salesforce administratora i developera. Generalno je u Srbiji teško naći ljude sa Salesforce iskustvom, tako da GCOMM uglavnom zapošljava ljude s programerskom ili tehničkom pozadinom i dalje ih obučava da postanu Salesforce developeri i administratori.

Neki od interesantnih primera iz GCOMM-ove prakse, koji takođe govore o veličini Force.com platforme, jesu postojanje SDK za pravljenje mobilnih aplikacija, zasnovanom na Codrova frejmvorku koji se dalje prevodi u aplikacije za Android i iOS i korisničkih portala pomoću kojih se jednostavno mogu predstaviti selektovani Salesforce podaci krajnjim klijentima.

Iskustva i izazovi

Salesforce i Force.com platforma mogu biti zabavni i interesantni za rad, pružajući malo drugačiji pristup programiranju i pravljenju aplikacija. Mogu biti i veoma izazovni, pogotovu kada je reč o zaobilaženju limita koje nameće deljena arhitektura.

Salesforce i Force.com platforma nisu bez mana. Jedna od najvećih, da kažemo, više prepreka nego mana jeste cena licenci, koje se kupuju po svakom korisniku sistema na mesečnom nivou. Takođe, Force.com platforma predstavlja zatvoreni ekosistem, tako da se napravljene aplikacije i komponente ne mogu prenositi na druge platforme. Lično svakako koristim Force.com platformu i koristiću je i dalje, ali za kompanije koje već nemaju implementiran Salesforce sistem, ona možda ne bi trebalo da bude prvi izbor za aPaaS.

Autor: Ilija Filipović, Information Service Manager u GCOMM-u

Facebook komentari:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.