14. augusta 2017

Prečo a ako publikovať Salesforce aplikácie (4 základné kroky)

AppExchange je online trhovisko s aplikáciami, komponentmi a konzultačnými službami. Pomocou jednoduchej inštalácie priamo z webového prehliadača umožňuje rozširovať Salesforce CRM aplikáciami, ktorých je momentálne v ponuke viac ako 3000. Z nášho pohľadu v Salesforce chýba funkcionalita, ktorá by umožňovala jednoduchý import dát z externých systémov ako SAP za využitia webových služieb. 

Momentálne neexistuje riešenie, ktoré by nevyžadovalo custom vývoj na platforme. Preto sme sa rozhodli vyvinúť riešenie umožňujúce prepojenie s externými webovými službami aj bez programátorských znalostí a ponúknuť ho vo forme aplikácie cez AppExchange – Webservicer.

Proces vývoja aplikácie od nápadu po publikáciu

Aj keď začať vyvíjať na Salesforce platforme môže kedykoľvek a ktokoľvek vďaka tomu, že Salesforce ponúka vývojársku edíciu zdarma, v prípade, že má ambíciu publikovať na AppExchange malo by tomu predchádzať pár krokov. 

V prvom rade je potrebné zaregistrovať sa v Partnerskom Programe Salesforce, ktorý okrem iného poskytuje výhody vo forme prístupu do Partner Community a k Environment Hub, ktorý umožňuje vytváranie developerských a testovacích organizácií. Vyvíjať aplikácie pre AppExchange je vhodné v tzv. Partner Developer edícii vytvorenej z Environment Hubu, ktorá má väčšie limity než bežná Developer edícia. Tiež je vhodné rovno zažiadať o Partner Business organizáciu (case v Partner Community), ktorá bude využívaná a má predinštalované aplikácie na management predaja a distribúcie aplikácií.

Prečo a ako publikovať Salesforce aplikácie (4 základné kroky) 1

Ďalšou fázou je (neprekvapivo) samotný vývoj. Už počas designu a vývoja aplikácie sa dá predísť neskorším komplikáciám, ktoré by mohli zdržať jej zverejnenie, ak sa bude priebežne prihliadať na bezpečnosť dát počas celého procesu.

Každá aplikácia totiž pred zverejnením musí prejsť tzv. “security review“. Hodnotou č. 1 spoločnosti Salesforce je dôvera zákazníkov a dôvera vyžaduje zabezpečenie často citlivých dát v prostredí cloudu. Istá úroveň bezpečnosti je garantovaná platformou, no je na vývojároch, aby svoje aplikácie koncipovali spôsobom, ktorý neotvára cestu k neoprávnenému prístupu a manipulácii s dátami. Práve tieto chyby sú predmetom posúdenia.

Prečo a ako publikovať Salesforce aplikácie (4 základné kroky) 2

Security review teda predstavuje zábezpeku pre zákazníkov, že vysoký štandard zabezpečenia ich dát je zachovaný.

Ku koncu vývoja aplikácie a jej testovania vo všetkých cieľových edíciách Salesforce (testovacie organizácie sú prístupné cez Environment Hub) je potrebné postupne aplikáciu začať pripravovať na zverejnenie:

  • spísať inštalačnú a používateľskú príručku, v portáli partner Community v sekcii Publishing pridať organizáciu, ktorá obsahuje managed package s aplikáciou,
  • vytvoriť nový listing pre aplikáciu a od marca 2017 aj získať potvrdenie o tom, že aplikácia je tzv. Lightning Ready (jedna z podmienok začatia security review!). Jedinou podmienkou na jeho získanie je aby aplikácia na 100% fungovala vo všetkých používateľských prípadoch v novom používateľskom prostredí Lightning Experience. Po overení a príp. upravení aplikácie stačí iba submitnúť case (presné znenie je dostupné v Salesforce dokumentácii) s linkom na AppExchange listing, v ktorom treba mať uploadnuté screenshoty aplikácie, ako je zobrazená v Lightning Experience. Lightning Ready označenie sa priznáva na týždennej báze, na čo si treba dať pozor, keďže to môže neočakávane oddialiť začatie security review.

Ďalšou z podmienok začatia security review je vytvoriť finálnu verziu managed package (nie beta verzia) aplikácie a skontrolovať ju pomocou automatizovaného nástroja Force.com Security Source Scanner. Tento nástroj preskenuje zdrojový kód a vyhľadá miesta s bezpečnostnými dierami. Všetky nájdené problémy je nutné opraviť a scanner použiť znova, tak aby výsledkom bol report bez nájdených chýb (pozor, dostupné sú max. 3 skenovania na security review). Treba mať na pamäti, že tento nástroj nie je stopercentný a to, že neidentifikuje žiadne bezpečnostné problémy neznamená, že sa v kóde nenachádzajú (tzv. false negatives). Rovnako sa môže stať, že označí za problematickú časť kódu, ktorá v skutočnosti má bezpečnosť ošetrenú správne (tzv. false positives).

Výstupom security scannera je dokument, ktorý je potrebné priložiť k security review a v prípade, že niektoré chyby vývojár považuje za false positives, treba vypracovať a priložiť aj „false positives document“ (dokument s popisom chyby, predmetnou časťou kódu a vysvetlením, ako je ošetrená bezpečnosť).

V prípade, že si už nie je vývojár vedomý ďalších bezpečnostných chýb, je čas odoslať cez Partner Community portál package na security review. Okrem vyššie uvedených dokumentov treba nakonfigurovať a sprístupniť testovaciemu tímu organizáciu s nainštalovanou aplikáciou pre testovanie. V našom prípade sme priložili aj používateľskú príručku, v duchu odporúčania, že ak sme na pochybách, dodať dokumenty navyše je lepšie než ak by mali testovaciemu tímu chýbať.

Prečo a ako publikovať Salesforce aplikácie (4 základné kroky) 3

Security review je manuálny proces, ktorý podľa oficiálnej dokumentácie môže trvať od  6 do 8 týždňov, čo je ideálny čas na finalizovanie AppExchange listingu – doplnenie textov, grafík, videa… Je však lepšie mať ich pripravené čím skôr, naša aplikácia napríklad prešla cez review už po týždni.

Ak testovací tím objaví akékoľvek bezpečnostné problémy, je nutné ich odstrániť a proces zopakovať.

Ak bola aplikácia schválená a listing je kompletne vyplnený, stačí ju už len publikovať a aplikácia je prakticky okamžite prístupná na AppExchange.

Naša prvá aplikácia, s ktorou sme tento proces absolvovali je Webservicer

S pomocou tejto aplikácie možné integrovať Salesforce s akýmkoľvek iným externým systémom alebo aplikáciou pomocou SOAP webových služieb – bez znalostí programovania a bez použitia middleware.

Stačí iba nahrať súbor definície webovej služby (WSDL), namapovať vstupy a výstupy webových služieb na objekt v Salesforce a aplikácia je pripravená robiť volania na aktualizáciu záznamov tohto objektu. Dáta sa aktualizujú na požiadanie stlačením tlačidla pre jednotlivé záznamy iba vtedy, keď ich potrebujete.

Petra Gottlieberová, App Developer

UložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiťUložiť