Einführung in die Architektur von Adobe Connect Web Services

Machen Sie sich mit der Architektur von Connect Web Services vertraut und erfahren Sie, wie die APIs funktionieren.

Adobe® Connect™ Web Services ist die Webdienstebene in der Adobe Connect Server-Anwendungssuite.

Mithilfe von Webdiensten können Sie Portale oder Webanwendungen erstellen, die die Funktionen und Berichtinformationen von Adobe Connect in Drittanbietersysteme wie Portale, Verwaltungssysteme für Kundenbeziehungen sowie Ressourcenplanungssysteme für Unternehmen integrieren.

Über die XML-API bietet Adobe Connect Web Services Meeting-, Schulungs- und Veranstaltungsfunktionen für Ihre Anwendungen.
Über die XML-API bietet Adobe Connect Web Services Meeting-, Schulungs- und Veranstaltungsfunktionen für Ihre Anwendungen.

Beispiel: Sie verwenden ein zentrales Benutzermanagementsystem, z. B. ein LDAP-Verzeichnis, Microsoft Active Directory oder ein anderes Drittanbietersystem, das einen integralen Bestandteil Ihrer Geschäftsprozesse darstellt.

Mit Webdiensten können Sie eine Anwendung schreiben, die Benutzer zwischen Ihrem System und Adobe Connect synchronisiert. Die Anwendung kann die J2EE-Plattform oder eine andere Technologie Ihrer Wahl verwenden, um eine Benutzerliste per Pull aus dem Verzeichnis abzurufen, sie mit einer Liste von Adobe Connect-Benutzern zu vergleichen und anschließend angeforderte Updates im Adobe Connect-Benutzerrepository durchzuführen, z. B. Benutzer oder Gruppen hinzuzufügen oder zu löschen.

Datenfluss

Die Datenflüsse zwischen Clientanwendungen und Adobe Connect werden im folgenden Diagramm dargestellt. Von Ihnen geschriebene benutzerdefinierte Anwendungen verwenden die Pfade von 1 nach 2 und von A nach B. Adobe Connect-Anwendungen (wie Adobe Connect Meeting, Adobe Connect Training oder Adobe Connect Events) können beliebige Datenflusspfade verwenden.

Der Datenfluss zwischen Adobe Connect und Clientanwendungen.
Der Datenfluss zwischen Adobe Connect und Clientanwendungen.

Der Datenfluss kann mit SSL verschlüsselt oder unverschlüsselt sein.

Unverschlüsselt

Wenn der Datenfluss unverschlüsselt ist, werden Verbindungen über HTTP und RTMP (Adobe Real Time Messaging Protocol) hergestellt und folgen den in der folgenden Tabelle beschriebenen Pfaden.

Diagrammnummer

Beschreibung

1

Der Client-Webbrowser fordert eine Adobe Connect-Meeting- oder -Material-URL über Port HTTP:80 an (Verbindungspfade können variieren).

2

Der Webserver reagiert mit der Übertragung von Material oder stellt dem Client-Browser Informationen für den Zugriff auf Adobe Connect zur Verfügung.

3

Die Adobe Connect-Desktop-Anwendung fordert eine Verbindung mit Adobe Media Server über RTMP:1935 und HTTP:80 an.

4

Adobe Media Server reagiert und öffnet eine dauerhafte Verbindung, um den Meeting-Datenverkehr an den Browser zu streamen.

3a (alternativ)

In einigen Fällen fordert die Adobe Connect-Desktop-Anwendung eine Verbindung mit Adobe Media Server an, kann aber nur eine getunnelte Verbindung über RTMPT:80 herstellen.

4a (alternativ)

Adobe Media Server reagiert und öffnet eine getunnelte Verbindung, um den Meeting-Datenverkehr an den Browser zu streamen.

Verschlüsselt

Wenn der Datenfluss verschlüsselt ist, werden Verbindungen sicher über HTTPS und RTMPS (Real Time Messaging Protocol over SSL) hergestellt, wie im Folgenden beschrieben.

Diagrammnummer

Beschreibung

A

Der Client-Webbrowser fordert über eine verschlüsselte Verbindung an HTTPS:443 eine sichere Meeting- oder Material-URL an (Verbindungspfade können variieren).

B

Der Web-/Anwendungsserver reagiert mit einer verschlüsselten Materialübertragung oder stellt dem Client Informationen zur Verfügung, mit denen eine verschlüsselte Verbindung mit Adobe Connect hergestellt werden kann.

C

Die Adobe Connect-Desktop-Anwendung fordert eine verschlüsselte Verbindung mit Adobe Media Server über RTMPS:443 an.

D

Adobe Media Server reagiert und öffnet eine dauerhafte Verbindung, um den Meeting-Datenverkehr an den Browser zu streamen.

Benutzerdefinierte Anwendungen

Adobe Connect Web Services stellt eine XML-API bereit, daher muss Ihre Anwendung anhand von XML über HTTP oder anhand von XML über HTTPS mit Adobe Connect kommunizieren können. Ihre Anwendung ruft die API auf, indem sie eine Anforderungs-URL erstellt und einen oder mehrere Parameter entweder als Name/Wert-Paare oder als XML-Dokument übergibt. Web Services gibt eine XML-Antwort zurück, aus der Sie Werte extrahieren können.

Benutzerdefinierte Anwendungen rufen Metadaten aus der Adobe Connect-Datenbank ab. Zu den Metadaten gehören Meeting- oder Kursnamen und -zeiten, Meetingraum-URLs, Material-URLs und Berichtsinformationen.

Der Datenfluss für eine benutzerdefinierte Anwendung, die Metadaten aus der Datenbank abruft, verläuft von einem Client-Webbrowser an den Client-Webanwendungsserver, die XML-API, den Adobe Connect-Webanwendungsserver, die SQL-Datenbank und von dort wieder zurück.

Der Datenfluss zwischen einer benutzerdefinierten Anwendung und Adobe Connect funktioniert folgendermaßen:

  1. Ein Benutzer greift über einen Webbrowser auf Ihre benutzerdefinierte Anwendung zu.

  2. Die Anwendung ruft die XML-API über HTTP:80 oder HTTPS:443 auf.

  3. Der Adobe Connect-Webanwendungsserver autorisiert die Anwendung und ihre Benutzer, ruft Metadaten aus der SQL-Datenbank ab und gibt die Metadaten zurück.

  4. Auf Clientseite wird die Antwort vom Web- oder Anwendungsserver, vom XML-Parser und von den Softwarebibliotheken verarbeitet und dann an Ihre Anwendung zurückgegeben.

  5. Der Benutzer arbeitet weiterhin in Ihrer benutzerdefinierten Anwendung und klickt auf eine Meeting- oder Material-URL. Zu diesem Zeitpunkt greift der Benutzer auf eine Adobe Connect-Anwendung zu, um einen Meetingraum zu betreten. Der typische Datenfluss zwischen einer Adobe Connect-Anwendung und dem Server beginnt.

Adobe Connect-Anwendungen

Adobe Connect-Anwendungen rufen den Server über dieselbe Web Services-XML-API auf, die Sie von einer benutzerdefinierten Anwendung aus verwenden.

Im Allgemeinen wird Material über den HTTP-Port 80 oder den HTTPS-Port 443 übertragen. Material umfasst Folien, HTTP-Seiten, SWF-Dateien und Dateien, die über den FileShare-Pod übertragen werden. Dies sind Standardportnummern, die Sie konfigurieren können. (Weitere Informationen finden Sie unter Migration, Installation und Konfiguration von Adobe Connect Server.)

Die gestreamte Echtzeitkommunikation von Adobe Media Server wird über den RTMP-Port 1935 übertragen. Zur gestreamten Kommunikation gehören Audio, Video (Webcam und FLV), Dateifreigabe und Chat. Auch der Meetingstatus wird über den RTMP-Port 1935 erhalten.

Komponenten von Adobe Connect

Adobe Connect ist mit zwei Serverkomponenten ausgestattet und jeder Server verwendet eine SQL-Datenbank.

Der Webanwendungsserver

Der Webanwendungsserver ist die zentrale Komponente von Adobe Connect. Er enthält die gesamte Geschäftslogik, die zur Materialbereitstellung für Benutzer erforderlich ist, und führt sie aus. Er verwaltet die Zugriffskontrolle, Sicherheit, Kontingente und Lizenzierung sowie Verwaltungsfunktionen wie Clustering, Failover und Replikation.

Zudem übernimmt der Webanwendungsserver auch Adobe Connect Central, die Anwendung, über die Sie die Materialien und Benutzer Ihres Unternehmens anzeigen und verwalten, sofern Sie keine benutzerdefinierte Anwendung und kein integriertes Drittanbietersystem verwenden. Die Metadaten zur Beschreibung von Materialien und Benutzern können in einer oder mehreren replizierten SQL-Datenbanken gespeichert werden. Der Webanwendungsserver ist statuslos, d. h., die Skalierung erfolgt nahezu linear.

Adobe Media Server

Adobe Media Server streamt Audio-, Video- und Rich-Media-Material mithilfe von RTMP. Wenn ein Meeting aufgezeichnet und abgespielt wird, Audio- und Videodaten synchronisiert werden oder Material für die Bildschirmfreigabe in Echtzeit konvertiert und verpackt wird, werden diese Aufgaben von Adobe Media Server übernommen.

Adobe Media Server spielt auch eine entscheidende Rolle bei der Verringerung der Serverlast, indem häufig verwendete Webseiten, Streams und freigegebene Daten zwischengespeichert werden.

Die SQL-Datenbank

Adobe Connect verwendet die Microsoft SQL Server-Datenbank für die dauerhafte Speicherung von Transaktions- und Anwendungsmetadaten, einschließlich Benutzer, Gruppen, Materialien und Berichterstattungsinformationen. Die XML-API ruft die in der Datenbank gespeicherten Metadaten ab. Die Datenbank kann entweder mit MSDE (Microsoft SQL Server Desktop Engine) oder mit der Vollversion von Microsoft SQL Server 2005 implementiert werden.

Durchführen eines ersten API-Aufrufs

Adobe Connect Web Services verwendet ein Servlet-Framework zur Verarbeitung von XML-API-Anforderungen. Im Datenflussdiagramm wird das Servlet-Framework durch die API-Komponente dargestellt. Das API-Servlet empfängt XML-Anforderungen von Clients und gibt XML-Antworten vom Webanwendungsserver und der Datenbank zurück.

Eine Anforderung an die XML-API wird als HTTP-Anforderungs-URL formatiert, die vom API-Servlet verarbeitet wird. Eine Anforderungs-URL verfügt über einen Aktionsnamen und Parameter in Name/Wert-Paaren wie folgt:

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

Wenn Sie Zugriff auf ein Adobe Connect-Konto haben, in dem Sie API-Aufrufe testen können, können Sie experimentieren. Tatsächlich empfiehlt Adobe, API-Aufrufe im Browser zu testen, während Sie die API erlernen und Anwendungen schreiben.

Bevor Sie beginnen, empfiehlt es sich, ein Tool zu installieren, mit dem Sie HTTP-Anforderungs- und -Antwort-Header in Ihrem Browser anzeigen können.

Aufrufen von „common-info“ in einem Browser

  1. (Optional) Aktivieren Sie ein Tool zum Anzeigen von HTTP-Headern in Ihrem Browser.

  2. Öffnen Sie einen Browser und navigieren Sie zu Ihrer Adobe Connect-Anmeldeseite.

  3. Ohne sich anzumelden, löschen Sie den Teil der URL nach dem Domänennamen, und fügen Sie einen Aufruf an common-info hinzu:

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

    In der Antwort von common-info finden Sie Informationen zu Ihrer Sitzung mit dem Server, insbesondere das Cookie, das Ihre Sitzung identifiziert:

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

    Wenn Sie einen Benutzer von einer Anwendung aus anmelden, müssen Sie den Cookie-Wert an den Server zurücksenden, um die Benutzersitzung zu identifizieren. (Informationen hierzu finden Sie unter Anmelden über eine Anwendung.)

Aufrufen von „principal-list“ in einem Browser

Sobald Sie den Cookie-Wert BREEZESESSION aus common-info erhalten haben, fügt der Browser diesen bei Ihrer nächsten Anforderung dem Anforderungsheader hinzu.

  1. Melden Sie sich in einem Webbrowser bei Adobe Connect an. Ändern Sie die Browser-URL, um principal-list aufzurufen:

     https://example.com/api/xml?action=principal-list
  2. Überprüfen Sie den Anforderungsheader. Diesmal wird der Cookie-Wert BREEZESESSION an den Server zurückgesendet:

     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. Überprüfen Sie die Antwort, in der alle Prinzipale auf dem Server jeweils in einem eigenen principal-Element auflistet werden.

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

Hinzufügen von Filtern und Sortierungen

Viele Aktionen in der API ermöglichen Ihnen das Hinzufügen eines Filters, um nur bestimmte Antwortelemente zurückzugeben, oder einer Sortierung, um Antwortelemente in einer bestimmten Reihenfolge anzuzeigen.

Ein Filter ist ein spezieller Parameter, der mit dem Schlüsselwort filter beginnt, gefolgt von einem optionalen Modifizierer, dann einem Feldnamen und einem Wert. Beispiele für Filter:

  • filter-name=jazz doe (entspricht Ergebnissen mit dem genauen Namen jazz doe)

  • filter-like-name=jazz (entspricht Ergebnissen, deren Name jazz enthält)

  • filter-out-type=user (gibt Ergebnisse zurück, die nicht den Typ Benutzer aufweisen)

Dies sind nur einige Filtertypen. Weitere finden Sie unter filter-definition. Überprüfen Sie eine Aktion in der Referenz (unter Aktionsreferenz), um zu ermitteln, ob ihre Antwort gefiltert werden kann. Wenn eine Aktion Filter zulässt, können Sie diese im Allgemeinen für jedes Antwortelement oder Attribut verwenden.

Eine Sortierung ist ein weiterer spezieller Parameter, der mit dem Schlüsselwort sort (bzw. sort1 oder sort2) beginnt, gefolgt von einem Feldnamen und anschließend einem der Schlüsselwörter asc oder desc. Beispiel:

  • sort-name=asc (zum Sortieren nach name in aufsteigender Reihenfolge)

  • sort-group-id=desc (zum Sortieren nach group-id in absteigender Reihenfolge)

Dies sind nur einige Beispiele für Sortierungen. Sie können Sortierungen im Browser testen oder unter sort-definition weitere Informationen erhalten.

Durchführen eines Aufrufs mit Filter und Sortierung

  1. Rufen Sie principal-list erneut auf, zeigen Sie nur Gruppen an und sortieren Sie sie alphabetisch nach Namen:

     https://example.com/api/xml?action=principal-list&filter-type=group &sort-name=asc
  2. Um die Antwort einzugrenzen, wählen Sie eine Gruppe aus der Liste und filtern Sie nach ihrem Namen:

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

    Dieses Mal wird nur eine Gruppe zurückgegeben:

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

Nächste Schritte

An dieser Stelle können Sie weiterhin Anrufe im Browser testen und beobachten, wie sie funktionieren. Dies ist die beste und einfachste Methode, die XML-API zu erlernen. Wenn Sie weitere Informationen benötigen, nutzen Sie eine der folgenden Quellen:

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?