Extend SugarCRM Web Services?

Sorry, this entry is only available in Italian. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

SugarCRM fornisce attraverso delle API esposte come Web Services la possibilità di realizzare integrazioni con altri sistemi, consentendo a questi ultimi la lettura e la scrittura dei dati di SugarCRM. I Web Services di SugarCRM sono implementati tramite il toolkit NuSOAP (sia per SOAP sia per REST). SOAP (Simple Object Access Protocol) è usato per realizzare chiamate di procedura remota tramite il protocollo (utilizzato come trasporto) HTTP per trasmettere messaggi in XML. Le API SugarSoap, costruite sopra la libreria NuSOAP, sono incluse nelle edizioni Community, Professional, Corporate, Enterprise e Ultimate. REST (Representational State Transfer) è utilizzato per effettuare le chiamate di metodo attraverso il protocollo HTTP per l’invio e la ricezione di messaggi in formato JSON. Il framework di SugarCRM supporta l’aggiunta di diversi formati per lo scambio dati REST, i formati supportati out-of-the-box sono JSON e la serializzazione in formato PHP. Ad esempio, è possibile aggiungere formato XML per inviare e ricevere dati. Per maggiori informazioni sul supporto a formati aggiuntivi, rimando all’articolo di John Mertic Extend SugarCRM REST web services to use XML.

Il framework di SugarCRM è stato costruito in modo tale che sia possibile estendere con estrema facilità il set di API predefinite. La documentazione pubblicata da Sugar (Extending Web Services) è molto chiara sul meccanismo d’estensione dei Web Services. E’  davvero necessario estendere i Web Services di SugarCRM?

Tutte le operazioni che l’utente “umano” esegue tramite GUI sull’entità gestite dal CRM possono essere eseguite attraverso le API esposte come Web Services. Attraverso le API native è quindi possibile eseguire le seguenti operazioni elementari (CRUD):

  • Create or add new entries
  • Read, retrieve, search, or view existing entries
  • Update or edit existing entries
  • Delete/deactivate existing entries

Nella maggior parte degli scenari d’integrazione (complessi o semplici che siano) le operazioni elencate in precedenza che SugarCRM espone nativamente sono più che sufficienti per soddisfare i requisiti d’integrazione. Nella figura a seguire un esempio reale di un processo d’integrazione tra Joomla e SugarCRM che prevede diverse interazioni tra i due sistemi e le chiamate ai WS (Web Services) di SugarCRM sono quelle native, nessuna estensione necessaria.

Processo d'integrazione Creazione Nuovo Socio

Processo d’integrazione Creazione Nuovo Socio

Questo livello di granularità dei WS di SugarCRM permette una flessibilità molto ampia soddisfacendo requisiti d’integrazione anche complessi tramite la composizione dei servizi elementari. Lo sviluppo di nuovi servizi su SugarCRM è un caso davvero estremo che ovviamente avrà impatti sul costo del progetto d’integrazione.

Antonio Musarra

I began my journey into the world of computing from an Olivetti M24 PC (http://it.wikipedia.org/wiki/Olivetti_M24) bought by my father for his work. Day after day, quickly taking control until … Now doing business consulting for projects in the enterprise application development using web-oriented technologies such as J2EE, Web Services, ESB, TIBCO, PHP.

You may also like...

Cos'è il progetto CIE/CNS Apache Docker - Developers Italia

In questo video https://youtu.be/TcAzn1POhsM introdurrò il progetto CIE/CNS Apache Docker di Developers Italia (https://developers.italia.it/it/cie/#resourcecontent-3) nato circa due anni fa.

L'obiettivo di questo progetto è quello di fornire un template pronto all'uso che realizza un sistema di autenticazione tramite la Smart Card TS-CNS (o CNS) e la CIE (Carta d'Identità Elettronica) basato su Apache HTTP. Ognuno può poi modificare o specializzare questo progetto sulla base delle proprie esigenze Si tratta di un progetto docker per la creazione di un container che implementa un sistema di mutua autenticazione o autenticazione bilaterale SSL/TLS.

Questo meccanismo di autenticazione richiede anche il certificato digitale da parte del client, certificato che in questo caso risiede all'interno della TS-CNS o della CIE. La particolarità del sistema implementato (attraverso questo container) è quella di consentire l'autenticazione tramite:

  • La TS-CNS (Tessera Sanitaria - Carta Nazionale Servizi), rilasciata dalla regione di appartenenza;
  • La CIE (Carta d'Identità Elettronica), rilasciata dal comune di residenza.

Nella versione 2.0.0 il progetto è stato aggiornato per essere uniforme alle linee guida di Bootstrap Italia. A seguire alcune risorse che possono essere utili.

  • Cos’è il progetto CIE/CNS Apache Docker (http://bit.ly/3aJ5Gbl)
  • CIE Carta d'Identità Elettronica (https://developers.italia.it/it/cie/)
  • Carta Nazionale dei Servizi (https://www.agid.gov.it/it/piattaforme/carta-nazionale-servizi)
  • Raspberry Pi – Un esempio di applicazione della TS-CNS (https://bit.ly/3hkJ8Aj)
  • Pubblicare il servizio CIE/CNS Apache Docker su Azure Cloud (http://bit.ly/3aPoq8V)
  • Come accedere al portale VETINFO tramite TS-CNS e Mac OS (http://bit.ly/2VFMKq7)