Introduzione all’architettura di Adobe Connect Web Services

Comprendi l’architettura di Connect Web Services e scopri come funzionano le API.

Adobe® Connect™ Web Services è il livello del servizio web sulla suite di applicazioni Adobe Connect Server.

I servizi web ti consentono di creare portali o applicazioni web che integrano la funzionalità e le informazioni di reporting di Adobe Connect con sistemi di terze parti, come portali, sistemi di gestione delle relazioni con i clienti e sistemi di pianificazione delle risorse aziendali.

Adobe Connect Web Services fornisce funzionalità per riunioni, corsi di formazione ed eventi alle tue applicazioni tramite la sua API XML.
Adobe Connect Web Services fornisce funzionalità per riunioni, corsi di formazione ed eventi alle tue applicazioni tramite la sua API XML.

Ad esempio, potresti avere un sistema centrale di gestione degli utenti, come una directory LDAP, Microsoft Active Directory o un altro sistema di terze parti, che è parte integrante dei tuoi processi aziendali.

Utilizzando i servizi web, puoi scrivere un’applicazione che sincronizza gli utenti tra il tuo sistema e Adobe Connect. L’applicazione può utilizzare la piattaforma J2EE o un’altra tecnologia di tua scelta per estrarre un elenco di utenti dalla directory, confrontarlo con un elenco di utenti Adobe Connect ed eseguire quindi gli aggiornamenti richiesti all’interno del repository degli utenti Adobe Connect, ad esempio aggiungendo o eliminando utenti o gruppi.

Flusso di dati

I flussi di dati tra le applicazioni client e Adobe Connect sono illustrati nel diagramma seguente. Le applicazioni personalizzate che scrivi utilizzano i percorsi da 1 a 2 e da A a B. Le applicazioni Adobe Connect, ad esempio Adobe Connect Meeting, Adobe Connect Training o Adobe Connect Events, possono utilizzare uno qualsiasi dei percorsi di flusso dei dati.

Flusso di dati tra applicazioni client e Adobe Connect.
Flusso di dati tra applicazioni client e Adobe Connect.

Il flusso di dati può essere crittografato con SSL o non crittografato.

Non crittografato

Se il flusso di dati non è crittografato, le connessioni vengono effettuate tramite HTTP e RTMP (Real Time Messaging Protocol) di Adobe e seguono i percorsi descritti nella tabella seguente.

Numero diagramma

Descrizione

1

Il browser web client richiede un URL di riunione o contenuto Adobe Connect sulla porta HTTP:80 (i percorsi di connessione possono variare).

2

Il server web risponde con il trasferimento di contenuti o fornisce al browser client le informazioni per accedere ad Adobe Connect.

3

L’applicazione Adobe Connect per desktop richiede una connessione ad Adobe Media Server tramite RTMP:1935 e HTTP:80.

4

Adobe Media Server risponde e viene aperta una connessione permanente per lo streaming del traffico delle riunioni nel browser.

3a (alternativa)

In alcuni casi, l’applicazione Adobe Connect per desktop richiede una connessione ad Adobe Media Server, ma può ottenere solo una connessione con tunnel su RTMPT:80.

4a (alternativa)

Adobe Media Server risponde e viene aperta una connessione con tunnel per lo streaming del traffico delle riunioni nel browser.

Crittografato

Se il flusso di dati è crittografato, le connessioni vengono effettuate in modo sicuro tramite HTTPS e RTMPS (Real Time Messaging Protocol over SSL), come indicato di seguito.

Numero diagramma

Descrizione

A

Il browser web client richiede un URL di riunione o contenuto protetto tramite una connessione crittografata su HTTPS:443 (i percorsi di connessione possono variare).

B

Il server web/applicazione risponde con un trasferimento di contenuto crittografato o fornisce al client informazioni per effettuare una connessione crittografata ad Adobe Connect.

C

L’applicazione Adobe Connect per desktop richiede una connessione crittografata ad Adobe Media Server tramite RTMPS:443.

D

Adobe Media Server risponde e viene aperta una connessione permanente per lo streaming del traffico delle riunioni nel browser.

Applicazioni personalizzate

Adobe Connect Web Services fornisce un’API XML, quindi la tua applicazione deve essere in grado di comunicare con Adobe Connect tramite XML via HTTP o XML via HTTPS. L’applicazione chiama l’API creando un URL di richiesta e passandogli uno o più parametri, come coppie nome/valore o come documento XML. Web Services restituisce una risposta XML da cui puoi estrarre i valori.

Le applicazioni personalizzate recuperano i metadati dal database Adobe Connect. I metadati includono i nomi e gli orari delle riunioni o dei corsi, gli URL delle stanze riunioni, gli URL dei contenuti e le informazioni sui rapporti.

Il flusso di dati per un’applicazione personalizzata che recupera i metadati dal database va da un browser web client, al server applicazioni web client, all’API XML, al server applicazioni web Adobe Connect e al database SQL, quindi torna indietro.

Il flusso di dati tra un’applicazione personalizzata e Adobe Connect funziona nel modo seguente:

  1. Un utente accede alla tua applicazione personalizzata da un browser web.

  2. L’applicazione chiama l’API XML via HTTP:80 o HTTPS:443.

  3. Il server applicazioni web Adobe Connect autorizza l’applicazione e i suoi utenti, recupera i metadati dal database SQL e restituisce i metadati.

  4. Dal lato client, il server web o il server applicazioni, il parser XML e le librerie software gestiscono la risposta e la restituiscono alla tua applicazione.

  5. L’utente continua a lavorare nell’applicazione personalizzata e fa clic su un URL di riunione o contenuto. A questo punto, l’utente accede a un’applicazione Adobe Connect per entrare in una stanza riunioni e inizia il flusso di dati tipico tra un’applicazione Adobe Connect e il server.

Applicazioni Adobe Connect

Le applicazioni Adobe Connect chiamano il server utilizzando la stessa API Web Services XML che usi da un’applicazione personalizzata.

In generale, il contenuto viene trasportato via porta HTTP 80 o HTTPS 443. Il contenuto include diapositive, pagine HTTP, file SWF e file trasferiti tramite il contenitore di condivisione file. Questi sono i numeri di porte predefiniti che puoi configurare (per ulteriori informazioni, consulta Migrazione, installazione e configurazione di Adobe Connect Server).

Le comunicazioni in streaming e in tempo reale da Adobe Media Server vengono trasportate via porta RTMP 1935. Le comunicazioni in streaming includono audio, video (webcam e FLV), condivisione di file e chat. Lo stato della riunione viene mantenuto anche sulla porta RTMP 1935.

Componenti di Adobe Connect

Adobe Connect è dotato di due componenti server e ogni server utilizza un database SQL.

Server applicazioni web

Il server applicazioni web è il cervello di Adobe Connect. Contiene ed esegue tutta la logica di business necessaria per distribuire i contenuti agli utenti. Gestisce il controllo degli accessi, la sicurezza, le quote e le licenze, nonché funzioni di gestione quali il clustering, il failover e la replica.

Il server applicazioni web gestisce anche Adobe Connect Central, l’applicazione attraverso cui visualizzi e gestisci il contenuto e gli utenti dell’organizzazione, quando non utilizzi un’applicazione personalizzata o un sistema integrato di terze parti. I metadati che descrivono il contenuto e gli utenti possono essere memorizzati in database SQL duplicati singoli o multipli. Il server applicazioni web è senza stato, il che significa che il ridimensionamento è quasi lineare.

Adobe Media Server

Adobe Media Server esegue lo streaming di contenuti audio, video e multimediali tramite RTMP. Quando una riunione viene registrata e riprodotta, audio e video vengono sincronizzati o il contenuto viene convertito e compresso per la condivisione dello schermo in tempo reale, è Adobe Media Server a eseguire il lavoro.

Adobe Media Server svolge inoltre un ruolo essenziale nella riduzione del carico del server mediante la memorizzazione nella cache di pagine web, flussi e dati condivisi a cui si accede di frequente.

Database SQL

Adobe Connect utilizza il database di Microsoft SQL Server per la memorizzazione permanente dei metadati transazionali e delle applicazioni, inclusi utenti, gruppi, contenuti e informazioni di reporting. L’API XML recupera i metadati memorizzati nel database. Il database può essere implementato con Microsoft SQL Server Desktop Engine (MSDE) o con la versione completa di Microsoft SQL Server 2005.

Esecuzione della prima chiamata API

Adobe Connect Web Services utilizza un framework servlet per gestire le richieste API XML. Nel diagramma del flusso di dati, il framework servlet è rappresentato dal componente API. Il servlet API riceve richieste XML dai client e restituisce risposte XML dal server applicazioni web e dal database.

Una richiesta all’API XML viene formattata come URL di richiesta HTTP gestito dal servlet API. Un URL di richiesta ha un nome azione e parametri in coppie nome/valore, come indicato di seguito:

 https://example.com/api/xml?action=sco-info&sco-id=2006334909

Se hai accesso a un account Adobe Connect in cui puoi testare le chiamate API, puoi sperimentare. In effetti, Adobe consiglia di provare le chiamate API nel browser mentre apprendi l’API e scrivi applicazioni.

Prima di iniziare, è utile installare uno strumento che ti consenta di visualizzare le intestazioni di risposta e richiesta HTTP nel browser.

Chiamare common-info in un browser

  1. (Facoltativo) Attiva uno strumento per visualizzare le intestazioni HTTP nel browser.

  2. Apri un browser e vai alla pagina di login di Adobe Connect.

  3. Senza effettuare l’accesso, elimina la parte dell’URL dopo il nome del dominio e aggiungi una chiamata a common-info:

     https://example.com/api/xml?action=common-info

    La risposta di common-info ti fornisce informazioni sulla sessione con il server, in particolare il cookie che identifica la sessione:

     <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <results> <status code=&quot;ok&quot; /> <common locale=&quot;en&quot; time-zone-id=&quot;85&quot;> <cookie>breezbryf9ur23mbokzs8</cookie> <date>2008-03-13T01:21:13.190+00:00</date> <host>https://example.com</host> <local-host>abc123def789</local-host> <url>/api/xml?action=common-info</url> <version>connect_700_r641</version> <user-agent> Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) </user-agent> </common> </results>

    Quando fai accedere un utente da un’applicazione, devi restituire il valore del cookie al server per identificare la sessione dell’utente (consulta Accesso da un’applicazione).

Chiamare principal-list in un browser

Una volta ottenuto il valore del cookie BREEZESESSION da common-info, il browser lo aggiunge all’intestazione della richiesta nella richiesta successiva.

  1. In un browser web, accedi ad Adobe Connect. Modifica l’URL del browser per chiamare principal-list:

     https://example.com/api/xml?action=principal-list
  2. Controlla l’intestazione della richiesta. Questa volta restituisce al server il valore del cookie BREEZESESSION:

     GET /api/xml?action=principal-list HTTP/1.1 Accept: */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Host: example.com Connection: Keep-Alive Cookie: BREEZESESSION=breezbryf9ur23mbokzs8
  3. Controlla la risposta, che elenca tutte le entità sul server, ciascuna nel proprio elemento principal.

     <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <results> <status code=&quot;ok&quot; /> <principal-list> <principal principal-id=&quot;624526&quot; account-id=&quot;624520&quot; type=&quot;user&quot; has-children=&quot;false&quot; is-primary=&quot;false&quot; is-hidden=&quot;false&quot;> <name>joe harrison</name> <login>jharrison@example.com</login> <email>jharrison@example.com</email> </principal> <principal principal-id=&quot;624550&quot; account-id=&quot;624520&quot; type=&quot;user&quot; has-children=&quot;false&quot; is-primary=&quot;false&quot; is-hidden=&quot;false&quot;> <name>bob jones</name> <login>bjones@example.com</login> <email>bjones@example.com</email> </principal> ... </principal-list> </results>

Aggiunta di filtri e ordinamenti

Molte azioni nell’API ti consentono di aggiungere un filtro per restituire solo alcuni elementi di risposta o un ordinamento per visualizzare gli elementi di risposta in un determinato ordine.

Un filtro è un parametro speciale che inizia con la parola chiave filter, seguita da un modificatore opzionale, quindi da un nome di campo e un valore. Questi sono tutti esempi di filtri:

  • filter-name=jazz doe (che corrisponde ai risultati con il nome esatto jazz doe)

  • filter-like-name=jazz (che corrisponde ai risultati che contengono jazz nel nome)

  • filter-out-type=user (che restituisce i risultati privi di un tipo di user)

Questi sono solo alcuni tipi di filtri e ne puoi trovare altri in filter-definition. Controlla l’azione nel riferimento (in Riferimento azione) per verificare se la risposta può essere filtrata. In generale, se un’azione consente l’uso dei filtri, puoi utilizzarli su qualsiasi elemento o attributo di risposta.

Un ordinamento è un altro parametro speciale che inizia con la parola chiave sort (o sort1 o sort2), seguita da un nome di campo e da una delle parole chiave asc o desc, ad esempio:

  • sort-name=asc (ordinamento crescente in base a name)

  • sort-group-id=desc (ordinamento decrescente in base a group-id)

Questi sono solo alcuni esempi di ordinamento. Puoi provare gli ordinamenti nel browser oppure consulta sort-definition per ulteriori informazioni.

Eseguire una chiamata con un filtro e ordinare

  1. Chiama nuovamente principal-list visualizzando solo i gruppi e ordinandoli alfabeticamente per nome:

     https://example.com/api/xml?action=principal-list&filter-type=group &sort-name=asc
  2. Per ridurre la risposta, scegli un gruppo dall’elenco e filtra in base al suo nome:

     https://example.com/api/xml?action=principal-list&filter-name=developers

    Questa volta viene restituito un solo gruppo:

     <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <results> <status code=&quot;ok&quot; /> <principal-list> <principal principal-id=&quot;2007105030&quot; account-id=&quot;624520&quot; type=&quot;group&quot; has-children=&quot;true&quot; is-primary=&quot;false&quot; is-hidden=&quot;false&quot;> <name>developers</name> <login>developers</login> </principal> </principal-list> </results>

Operazioni successive

A questo punto, puoi continuare a testare le chiamate nel browser e osservarne il funzionamento. È il modo migliore e più semplice per apprendere l’API XML. Se hai bisogno di ulteriori informazioni, consulta una di queste risorse:

  • Il riferimento API in Riferimento azione.

  • Login e richieste per informazioni su come far accedere gli utenti dalle applicazioni.

  • Nozioni di base per apprendere i tre concetti fondamentali alla base dell’API.

  • Riunioni se vuoi creare e gestire riunioni da un’applicazione.

  • Training se stai creando un’applicazione di formazione.

Ottieni supporto in modo più facile e veloce

Nuovo utente?