14. srpna 2017

Proč a jak publikovat Salesforce CRM aplikace (4 základní kroky)

AppExchange je online tržiště s aplikacemi, komponenty a konzultačními službami. Pomocí jednoduché instalace přímo z webového prohlížeče umožňuje rozšiřovat Salesforce CRM aplikacemi, kterých je momentálně v nabídce více než 3000. z našeho pohledu v Salesforce chybí funkcionalita, která by umožňovala jednoduchý import dat z externích systémů jako SAP za využití webových služeb. 

Momentálně neexistuje řešení, které by nevyžadovalo custom vývoj na platformě. Proto jsme se rozhodli vyvinout řešení umožňující propojení s externími webovými službami i bez programátorských znalostí a nabídnout ho ve formě aplikace přes AppExchange – Webservicer.

 

Proces vývoje aplikace od nápadu po publikaci

I když začít vyvíjet na Salesforce platformě může kdykoli a kdokoli díky tomu, že Salesforce nabízí vývojářskou edici zdarma, v případě, že má ambici publikovat na AppExchange mělo by tomu předcházet pár kroků.

V první řadě je třeba zaregistrovat se v Partnerském Programu Salesforce, který mimo jiné poskytuje výhody ve formě přístupu do Partner Community a k Environment Hubu, který umožňuje vytváření developerských a testovacích organizací. Vyvíjet aplikace pro AppExchange je vhodné v tzv. Partner Developer edici vytvořené z Environment Hubu, která má větší limity než běžná Developer edice. Také je vhodné rovnou zažádat o Partner Business organizaci (case v Partner Community), která bude využívána a má předinstalované aplikace na management prodeje a distribuce aplikací. Salesforce Partner Community, zdroj: Salesforce.com
Proč a jak publikovat Salesforce CRM aplikace (4 základní kroky) 1

Další fází je samotný vývoj. Už během designu a vývoje aplikace se dá předejít pozdějším komplikacím, které by mohly zdržet její zveřejnění, pokud se bude průběžně přihlížet na bezpečnost dat během celého procesu.

Každá aplikace totiž před zveřejněním musí projít tzv. „security review“. Hodnotou č. 1 společnosti Salesforce je důvěra zákazníků a důvěra vyžaduje zabezpečení často citlivých dat v prostředí cloudu. Jistá úroveň bezpečnosti je garantována platformou, ale je na vývojářích, aby své aplikace koncipovali způsobem, který neotvírá cestu k neoprávněnému přístupu a manipulaci s daty. Právě tyto chyby jsou předmětem posouzení.

Proč a jak publikovat Salesforce CRM aplikace (4 základní kroky) 2

Security review tedy představuje jistotu pro zákazníky, že bude zachován vysoký standard zabezpečení jejich dat.

Ke konci vývoje aplikace a jejího testování ve všech cílových edicích Salesforce (testovací organizace jsou přístupné přes Environment Hub) je třeba postupně aplikaci začít připravovat na zveřejnění:

  • sepsat instalační a uživatelskou příručku, v portálu partner Community v sekci Publishing přidat organizaci, která obsahuje managed package s aplikací,
  • vytvořit nový listing pro aplikaci a od března 2017 také získat potvrzení o tom, že aplikace je tzv. Lightning Ready (jedna z podmínek zahájení security review!). Jedinou podmínkou pro jeho získání je, aby aplikace na 100 % fungovala ve všech uživatelských případech v novém uživatelském prostředí Lightning Experience. Po ověření a příp. upravení aplikace stačí pouze submitnout case (přesné znění je dostupné v Salesforce dokumentaci) s linkem na AppExchange listing, ve kterém třeba mít uploadnout screenshoty aplikace, jako je zobrazena v Lightning Experience. Lightning Ready označení se přiznává na týdenní bázi, na co si třeba dát pozor, protože to může neočekávaně oddálit zahájení security review.


Další z podmínek zahájení security review je vytvořit finální verzi managed package
(ne beta verze) aplikace a zkontrolovat ji pomocí automatizovaného Force.com Security Source Scanner. Tento nástroj vyhledává zdrojový kód a vyhledá místa s bezpečnostními dírami. Všechny nalezené problémy je nutné opravit a scanner použít znovu tak, aby výsledkem byl report bez nalezených chyb (pozor, dostupné jsou max. 3 skenování na security review).  Je třeba mít na paměti, že tento nástroj není stoprocentní, a to, že neidentifikuje žádné bezpečnostní problémy neznamená, že se v kódu nenacházejí (tzv. false negativy). Rovněž se může stát, že označí za problematickou část kódu, která ve skutečnosti má bezpečnost ošetřenou správně (tzv. false positives).

Výstupem security scanneru je dokument, který je třeba přiložit k security review a v případě, že některé chyby vývojář považuje za false positives, je třeba vypracovat a přiložit i „false positives document“ (dokument s popisem chyby, předmětnou částí kódu a vysvětlením, jak je ošetřena bezpečnost).

V případě, že si již není vývojář vědom dalších bezpečnostních chyb, je čas odeslat přes Partner Community portál package na security review. Kromě výše uvedených dokumentů třeba nakonfigurovat a zpřístupnit testovacímu týmu organizaci s nainstalovanou aplikací pro testování. v našem případě jsme přiložili i uživatelskou příručku, v duchu doporučení, že pokud jsme na pochybách, dodat dokumenty navíc je lepší, než kdyby měly testovacímu týmu chybět.

Proč a jak publikovat Salesforce CRM aplikace (4 základní kroky) 3


Security review je manuální proces, který podle oficiální dokumentace může trvat od 6 do 8 týdnů, což je ideální čas na finalizaci AppExchange listingu – doplnění textů, grafik, videa …

Je však lepší je mít připravené dříve, například naše aplikace prošla přes review již po týdnu. Pokud testovací tým objeví jakékoli bezpečnostní problémy, je nutné je odstranit a proces zopakovat.

Pokud byla aplikace schválena a listing je kompletně vyplněný, stačí ji již jen publikovat a aplikace je prakticky okamžitě přístupná na AppExchange

 

Naše první aplikace, se kterou jsme tento proces absolvovali, je Webservicer

S pomocí této aplikace lze integrovat Salesforce s jiným externím systémem nebo aplikací pomocí SOAP webových služeb – bez znalostí programování a bez použití middlewaru.

Stačí pouze nahrát soubor definic webové služby (WSDL), namapovat vstupy a výstupy webových služeb na objekt v Salesforce a aplikace je připravena dělat hlášky na aktualizaci záznamů tohoto objektu. Data se aktualizují na požádání stisknutím tlačítka pro jednotlivé záznamy pouze tehdy, když je potřebujete.

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ť