Inleiding tot de architectuur van Adobe Connect-webservices

De architectuur van Connect-webservices begrijpen en leren hoe de API’s werken.

Adobe® Connect™-webservices is de webservicelaag boven de toepassingensuite van Adobe Connect Server.

Met webservices kunt u portals of webtoepassingen bouwen waarbij de functies en rapportgegevens van Adobe Connect worden geïntegreerd met systemen van derden, zoals portals en systemen voor customer relationship management en enterprise resource planning.

Met Adobe Connect-webservices voegt u functies voor vergaderingen, training en evenementen toe aan uw toepassingen via de XML API.
Met Adobe Connect-webservices voegt u functies voor vergaderingen, training en evenementen toe aan uw toepassingen via de XML API.

U hebt bijvoorbeeld misschien een centraal gebruikersbeheersysteem, zoals een LDAP-adreslijst, Microsoft Active Directory of een ander systeem van derden dat integraal onderdeel uitmaakt van uw zakelijke processen.

Met webservices kunt u een toepassing schrijven voor de synchronisatie van gebruikers tussen uw systeem en Adobe Connect. Die toepassing kan via het J2EE-platform of een andere technologie naar keuze een lijst gebruikers uit de adreslijst ophalen en deze vergelijken met een lijst van Adobe Connect-gebruikers. Vervolgens kan het aangevraagde bijwerkingen uitvoeren in de gebruikersopslagplaats van Adobe Connect, bijvoorbeeld gebruikers of groepen toevoegen of verwijderen.

Gegevensstroom

In onderstaand diagram wordt de gegevensstroom tussen een clienttoepassing en Adobe Connect weergegeven. Aangepaste toepassingen die u schrijft, gebruiken de paden 1 naar 2 en A naar B. Adobe Connect-toepassingen (zoals Adobe Connect-vergadering, Adobe Connect-training of Adobe Connect-evenementen) kunnen alle gegevensstroompaden gebruiken.

De gegevensstroom tussen Adobe Connect en clienttoepassingen.
De gegevensstroom tussen Adobe Connect en clienttoepassingen.

De gegevensstroom kan zowel gecodeerd met SSL als niet gecodeerd zijn.

Niet-gecodeerd

Als de gegevensstroom niet gecodeerd is, worden verbindingen tot stand gebracht via HTTP en Adobe Real Time Messaging Protocol (RTMP) en volgen ze de paden die in de onderstaande tabel wordt beschreven.

Diagramnummer

Beschrijving

1

De clientwebbrowser vraagt om een Adobe Connect-vergaderings- of inhouds-URL via de poort HTTP:80 (verbindingspaden kunnen variëren).

2

De webserver reageert met de inhoudsoverdracht of stuurt de clientbrowser gegevens voor het betreden van Adobe Connect.

3

Adobe Connect-desktoptoepassing vraagt om een verbinding met Adobe Media Server via RTMP:1935 en HTTP:80.

4

Adobe Media Server reageert en een blijvende verbinding wordt geopend om vergaderverkeer naar de browser te streamen.

3a (alternatief)

In sommige gevallen vraagt Adobe Connect-desktoptoepassing om een verbinding met Adobe Media Server, maar is er alleen een tunnelverbinding via RTMPT:80 beschikbaar.

4a (alternatief)

Adobe Media Server reageert en een tunnelverbinding wordt geopend om vergaderverkeer naar de browser te streamen.

Gecodeerd

Als de gegevensstroom gecodeerd is, worden verbindingen op veilige wijze tot stand gebracht via HTTPS en RTMPS (Real Time Messaging Protocol over SSL). Dit gebeurt op de volgende manier.

Diagramnummer

Beschrijving

A

De clientwebbrowser vraagt om een veilige vergaderings- of inhouds-URL via een gecodeerde verbinding op HTTPS:443 (verbindingspaden kunnen variëren).

B

De webserver of toepassingsserver reageert met een gecodeerde inhoudsoverdracht of stuurt de client gegevens voor het tot stand brengen van een gecodeerde verbinding met Adobe Connect.

C

Adobe Connect-desktoptoepassing vraagt om een gecodeerde verbinding met Adobe Media Server via RTMPS:443.

D

Adobe Media Server reageert en een blijvende verbinding wordt geopend om vergaderverkeer naar de browser te streamen.

Aangepaste toepassingen

Adobe Connect-webservices geeft u een XML API, dus uw toepassing moet met Adobe Connect kunnen communiceren met XML via HTTP of met XML via HTTPS. Uw toepassing roept de API aan door een aanvraag-URL te bouwen en deze een of meer parameters mee te geven als naam/waarde-paren of als een XML-document. Webservices geeft een XML-reactie waaruit u waarden kunt halen.

Aangepaste toepassingen halen metadata op uit de Adobe Connect-database. Metadata zijn bijvoorbeeld namen en tijden van vergaderingen of cursussen, URL’s van vergaderruimten of van inhoud en rapportgegevens.

De gegevensstroom waarmee een aangepaste toepassing metadata ophaalt uit de database loopt van een clientwebbrowser via de clienttoepassingsserver naar de XML API, de Adobe Connect-webtoepassingsserver en de SQL-database – en dan weer terug.

De gegevensstroom tussen een clienttoepassing en Adobe Connect werkt als volgt:

  1. Een gebruiker benadert uw aangepaste toepassing vanaf een webbrowser.

  2. De toepassing roept de XML API aan via HTTP:80 of HTTPS:443.

  3. De Adobe Connect-webtoepassingsserver geeft toestemming aan de toepassing en de gebruikers, haalt de metadata op uit de SQL-database en retourneert de metadata.

  4. Aan de kant van de client verwerken uw web- of toepassingsserver, XML-parser en softwarebibliotheken de reactie en retourneren deze naar uw toepassing.

  5. De gebruiker blijft werken in uw aangepaste toepassing en klikt op de URL voor een vergadering of inhoud. De gebruiker krijgt nu toegang tot een Adobe Connect-toepassing om een vergaderruimte te betreden en de gebruikelijke gegevensstroom tussen een Adobe Connect-toepassing en de server komt op gang.

Adobe Connect-toepassingen

Adobe Connect-toepassingen roepen de server aan met dezelfde webservices-XML API die u gebruikt vanaf een aangepaste toepassing.

Over het algemeen wordt inhoud overgebracht via HTTP-poort 80 of HTTPS-poort 443. Inhoud kan bestaan uit dia’s, HTTP-pagina’s, SWF-bestanden en bestanden die worden overgebracht via de pod Bestand delen. Dit zijn de standaardpoortnummers die u kunt configureren (zie voor meer informatie Migratie, installatie en configuratie van Adobe Connect Server).

Gestreamde realtime communicaties van Adobe Media Server worden overgebracht via RTMP-poort 1935. Gestreamde communicaties zijn bijvoorbeeld audio, video (webcam en FLV), bestandsdeling en chat. De vergaderingsstatus wordt ook bijgehouden via RTMP-poort 1935.

Adobe Connect-onderdelen

De architectuur van Adobe Connect bestaat uit twee serveronderdelen en elke server gebruikt een SQL-database.

De webtoepassingsserver

De webtoepassingsserver is het brein van Adobe Connect. Deze server bevat alle nodige bedrijfslogica om inhoud aan gebruikers te leveren en voert deze uit. Hij regelt toegangsbeheer, beveiliging, quota en licenties, evenals beheerfuncties zoals clustering, overname bij storing en replicatie.

De webtoepassingsserver bestuurt ook Adobe Connnect Central, de toepassing waarmee u de inhoud en gebruikers van uw organisatie kunt zien en beheren, tenzij u een aangepaste toepassing of een geïntegreerd systeem van derden gebruikt. De metadata die de inhoud en gebruikers beschrijven kunnen worden opgeslagen in een of meerdere gerepliceerde SQL-databases. De webtoepassingsserver is staatloos, wat betekent dat schaling bijna lineair is.

Adobe Media Server

Adobe Media Server streamt audio, video en uitgebreide media-inhoud met behulp van RTMP. Wilt u een vergadering opnemen en afspelen, audio en video synchroniseren of inhoud converteren en inpakken om in realtime via uw scherm te delen? Dat kan allemaal met Adobe Media Server.

Adobe Media Server is ook van essentieel belang voor het verlagen van de serverbelasting door veel gebruikte webpagina’s, streams en gedeelde inhoud in een cache op te nemen.

De SQL-database

Adobe Connect slaat transactie- en toepassingsspecifieke metadata permanent op in de Microsoft SQL Server-database, zoals gegevens over gebruikers, groepen, inhoud en rapporten. De XML API haalt de metadata op die in de database zijn opgeslagen. De database kan worden geïmplementeerd met de Microsoft SQL Server Desktop Engine (MSDE) of met de volledige versie van Microsoft SQL Server 2005.

De eerste API-aanroep maken

Adobe Connect-webservices verwerkt XML API-aanvragen met een servletframework. In het diagram met de gegevensstromen is het servletframework weergegeven door het API-onderdeel. De API-servlet ontvangt XML-aanvragen van clients en retourneert XML-reacties van de webtoepassingsserver en de database.

Een aanvraag aan de XML API is geformuleerd als een URL voor een HTTP-aanvraag en de API-servlet verwerkt dit. Een aanvraag-URL heeft een actienaam en parameters uitgedrukt in naam/waarde-paren, bijvoorbeeld:

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

U kunt hiermee experimenteren als u toegang hebt tot een Adobe Connect-account waarin u API-aanroepen kunt testen. Adobe raadt u aan API-aanroepen in de browser te testen terwijl u leert hoe de API werkt en toepassingen schrijft.

Voordat u begint is het om een hulpprogramma te installeren waarmee u de headers van HTTP-aanvragen en -reacties kunt bekijken in uw browser.

Common-info aanroepen in een browser

  1. (Optioneel) Schakel een hulpprogramma in om HTTP-headers in uw browser te kunnen bekijken.

  2. Open een browser en ga naar uw aanmeldpagina in Adobe Connect.

  3. Log niet in. Verwijder het gedeelte van de URL na de domeinnaam en voeg een aanroep naar common-info toe:

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

    De reactie van common-info geeft u informatie over uw sessie met de server, met name het cookie dat uw sessie identificeert:

     <?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>

    Als u een gebruiker inlogt vanuit een toepassing, moet u de cookiewaarde terugsturen naar de server om de sessie van de gebruiker te identificeren (zie Inloggen vanuit een toepassing).

Principal-list aanroepen in een browser

Als u de BREEZESESSION-cookiewaarde van common-info hebt ontvangen, voegt de browser deze toe aan de aanvraagheader van uw volgende aanvraag.

  1. Meld u aan bij Adobe Connect in een webbrowser. Wijzig de browser-URL om principal-list aan te roepen:

     https://example.com/api/xml?action=principal-list
  2. Controleer de aanvraagheader. Nu stuurt deze de BREEZESESSION-cookiewaarde terug naar de server:

     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. Controleer de reactie, waarin alle principals op de server staan, elk in een apart principal-element.

     <?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>

Filters en sorteringen toevoegen

Bij veel acties in de API kunt u een filter of een sortering toevoegen. Met een filter worden alleen bepaalde reactie-elementen geretourneerd. Met een sortering worden reactie-elementen in een bepaalde volgorde weergegeven.

Een filter is een speciale parameter die begint met het trefwoord filter gevolgd door een modificator (optioneel), een veldnaam en een waarde. Dit zijn allemaal voorbeelden van filters:

  • filter-name=jazz doe (die zoekt naar resultaten met de exacte naam jazz doe)

  • filter-like-name=jazz (die zoekt naar resultaten waarbij jazz voorkomt in de naam)

  • filter-out-type=user (die resultaten retourneert die geen type user bevatten)

Dit zijn maar een paar filtertypes. U kunt er meer vinden in filter-definition. Controleer een actie in de referentie (bij Actiereferentie) om te zien of de reactie ervan kan worden gefilterd. Als een actie filters toestaat, kunt u die over het algemeen op alle reactie-elementen of attributen toepassen.

Een sortering is ook een speciale parameter die begint met het trefwoord sort (of sort1 of sort2) gevolgd door een veldnaam en een van de trefwoorden asc of desc, bijvoorbeeld:

  • sort-name=asc (om oplopend te sorteren op name)

  • sort-group-id=desc (om aflopend te sorteren op group-id)

Dit zijn maar een paar sorteervoorbeelden. U kunt sorteringen testen in de browser of bij sort-definition kijken voor meer mogelijkheden.

Een aanroep doen met een filter en sortering

  1. Roep principal-list weer aan en geef alleen groepen weer, in alfabetische volgorde op naam:

     https://example.com/api/xml?action=principal-list&filter-type=group &sort-name=asc
  2. Kies om de reactie nog verder te beperken een groep uit de lijst en filter op de naam:

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

    Nu wordt er slechts een groep geretourneerd:

     <?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>

Verder gaan

Nu kunt u doorgaan met het testen van aanroepen in de browser en bekijken hoe ze werken. Dat is de beste en gemakkelijkste manier om te leren omgaan met de XML API. Als u meer informatie nodig hebt, kunt u een van deze bronnen raadplegen:

Krijg sneller en gemakkelijker hulp

Nieuwe gebruiker?