Introducción a la arquitectura de servicios web de Adobe Connect

Conozca la arquitectura de servicios web de Adobe Connect y cómo funcionan las API.

Los servicios web de Adobe® Connect™ son el nivel de servicios web del conjunto de aplicaciones de Adobe Connect Server.

Los servicios web le permiten crear portales o aplicaciones web que integran las funciones y los detalles de informes de Adobe Connect en sistemas de terceros, como portales, sistemas de gestión de relaciones con los clientes y sistemas de planificación de recursos empresariales.

Los servicios web de Adobe Connect proporcionan a sus aplicaciones funciones de reuniones, formación y eventos a través de su API XML.
Los servicios web de Adobe Connect proporcionan a sus aplicaciones funciones de reuniones, formación y eventos a través de su API XML.

Por ejemplo, puede tener un sistema central de administración de usuarios, como un directorio LDAP, Microsoft Active Directory u otro sistema de terceros, que forme parte integral de sus procesos empresariales.

Con los servicios web, puede escribir una aplicación que sincronice usuarios entre su sistema y Adobe Connect. La aplicación puede utilizar la plataforma J2EE u otra tecnología de su elección para extraer una lista de usuarios del directorio, compararla con una lista de usuarios de Adobe Connect y, a continuación, realizar las actualizaciones solicitadas dentro del repositorio de usuarios de Adobe Connect, como añadir o eliminar usuarios o grupos.

Flujo de datos

En el diagrama siguiente, se muestran los flujos de datos entre aplicaciones cliente y Adobe Connect. Las aplicaciones personalizadas que escribe utilizan las rutas de 1 a 2 y de A a B. Las aplicaciones de Adobe Connect (como Adobe Connect Meeting, Adobe Connect Training o Adobe Connect Events) pueden utilizar cualquiera de las rutas de flujo de datos.

El flujo de datos entre Adobe Connect y las aplicaciones cliente
El flujo de datos entre Adobe Connect y las aplicaciones cliente

El flujo de datos puede cifrarse con SSL o dejarse sin cifrar.

Sin cifrar

Si el flujo de datos no está cifrado, las conexiones se realizan a través de HTTP y Adobe Real Time Messaging Protocol (RTMP) y siguen las rutas descritas en la tabla siguiente.

Número del diagrama

Descripción

1

El navegador web del cliente solicita una dirección URL de reunión o contenido de Adobe Connect a través del puerto HTTP:80 (las rutas de conexión pueden variar).

2

El servidor web responde con una transferencia de contenido o proporciona al navegador de cliente información para acceder a Adobe Connect.

3

La aplicación de Adobe Connect para escritorio solicita una conexión a Adobe Media Server a través de RTMP:1935 y HTTP:80.

4

Adobe Media Server responde y se abre una conexión persistente para transmitir el tráfico de la reunión al navegador.

3a (alternativo)

En algunos casos, la aplicación de Adobe Connect para escritorio solicita una conexión con Adobe Media Server, pero solo puede obtener una conexión de túnel a través de RTMPT:80.

4a (alternativo)

Adobe Media Server responde y se abre una conexión de túnel para transmitir el tráfico de la reunión al navegador.

Cifrado

Si el flujo de datos está cifrado, las conexiones se realizan de forma segura a través de HTTPS y RTMPS (Real Time Messaging Protocol over SSL), como se indica a continuación.

Número del diagrama

Descripción

A

El navegador web de cliente solicita una dirección URL de contenido o reunión segura a través de una conexión cifrada en HTTPS:443 (las rutas de conexión pueden variar).

B

El servidor web/de aplicaciones responde con una transferencia de contenido cifrada o proporciona al cliente información para establecer una conexión cifrada a Adobe Connect.

C

La aplicación de Adobe Connect para escritorio solicita una conexión a Adobe Media Server a través de RTMPS:443.

D

Adobe Media Server responde y se abre una conexión persistente para transmitir el tráfico de la reunión al navegador.

Aplicaciones personalizadas

Los servicios web de Adobe Connect proporcionan una API XML, por lo que la aplicación debe ser capaz de comunicarse con Adobe Connect mediante XML a través de HTTP o XML por HTTPS. La aplicación llama a la API mediante la creación de una dirección URL de solicitud y la transferencia de uno o más parámetros, ya sea como pares de nombre/valor o como un documento XML. Los servicios web devuelven una respuesta XML, de la que se pueden extraer valores.

Las aplicaciones personalizadas recuperan los metadatos de la base de datos de Adobe Connect. Los metadatos incluyen nombres y horas de reuniones o cursos, direcciones URL de salas de reuniones y contenido, y detalles de informes.

El flujo de datos de una aplicación personalizada que recupera metadatos de la base de datos va desde el navegador web de cliente al servidor de aplicaciones web de cliente, la API XML, el servidor de aplicaciones web de Adobe Connect y la base de datos SQL y, a continuación, empieza de nuevo desde el principio.

El flujo de datos entre una aplicación personalizada y Adobe Connect funciona así:

  1. Un usuario accede a la aplicación personalizada desde un navegador web.

  2. La aplicación llama a la API XML a través de HTTP:80 o HTTPS:443.

  3. El servidor de aplicaciones web de Adobe Connect autoriza la aplicación y sus usuarios, recupera los metadatos de la base de datos SQL y los devuelve.

  4. En el cliente, el servidor web o de aplicaciones, el analizador XML y las bibliotecas de software gestionan la respuesta y la devuelven a la aplicación.

  5. El usuario sigue trabajando en la aplicación personalizada y hace clic en una dirección URL de reunión o contenido. En este punto, el usuario accede a una aplicación de Adobe Connect para entrar en una sala de reuniones y comienza el típico flujo de datos entre una aplicación de Adobe Connect y el servidor.

Aplicaciones de Adobe Connect

Las aplicaciones de Adobe Connect llaman al servidor mediante la misma API XML de servicios web que utiliza en una aplicación personalizada.

Por lo general, el contenido se transporta a través de los puertos HTTP 80 o HTTPS 443. El contenido incluye diapositivas, páginas HTTP, archivos SWF y archivos transferidos mediante el pod para compartir archivos. Estos son los números de puerto predeterminados que puede configurar (consulte Migración, instalación y configuración de Adobe Connect Server para obtener información).

Las comunicaciones transmitidas en tiempo real desde Adobe Media Server se transportan a través del puerto RTMP 1935. Las comunicaciones transmitidas incluyen audio, vídeo (cámara web y FLV), uso compartido de archivos y chat. El estado de la reunión también se conserva a través del puerto RTMP 1935.

Componentes de Adobe Connect

Adobe Connect se ha diseñado con dos componentes de servidor y cada servidor utiliza una base de datos SQL.

El servidor de aplicaciones web

El servidor de aplicaciones web es el cerebro de Adobe Connect. Contiene y ejecuta toda la lógica empresarial necesaria para ofrecer contenido a los usuarios. Administra el control de acceso, la seguridad, las cuotas y las licencias, así como funciones de gestión, como tecnología de clústeres, conmutación por errores y replicación.

El servidor de aplicaciones web también gestiona Adobe Connect Central, la aplicación a través de la cual se ve y se gestiona el contenido y los usuarios de la organización cuando no se utiliza una aplicación personalizada o un sistema integrado de terceros. Los metadatos que describen el contenido y los usuarios se pueden almacenar en una o varias bases de datos SQL replicadas. El servidor de aplicaciones web no tiene estado, lo que significa que la escala es casi lineal.

Adobe Media Server

Adobe Media Server transmite audio, vídeo y contenido multimedia enriquecido mediante RTMP. Cuando se graba y se reproduce una reunión, el audio y el vídeo se sincronizan o el contenido se convierte y se empaqueta para el uso compartido de pantalla en tiempo real; Adobe Media Server se encarga de esta tarea.

Adobe Media Server también desempeña un papel fundamental en la reducción de la carga del servidor mediante el almacenamiento en caché de las páginas web a las que se accede con frecuencia, las transmisiones y los datos compartidos.

La base de datos SQL

Adobe Connect utiliza la base de datos Microsoft SQL Server para el almacenamiento persistente de los metadatos de aplicaciones y transacciones, incluidos los usuarios, los grupos, el contenido y los detalles de informes. La API XML recupera los metadatos almacenados en la base de datos. La base de datos se puede implementar con Microsoft SQL Server Desktop Engine (MSDE) o con la versión completa de Microsoft SQL Server 2005.

Realizar la primera llamada de API

Los servicios web de Adobe Connect utilizan una estructura de servlets para gestionar las solicitudes de la API XML. En el diagrama de flujo de datos, la estructura de servlets se representa mediante el componente de API. El servlet de API recibe solicitudes XML de los clientes y devuelve respuestas XML del servidor de aplicaciones web y de la base de datos.

Una solicitud a la API XML tiene el formato de URL de solicitud HTTP que gestiona el servlet de API. Una dirección URL de solicitud presenta un nombre de acción y parámetros en pares de nombre/valor, como se muestra a continuación:

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

Si tiene acceso a una cuenta de Adobe Connect en la que puede probar las llamadas de API, puede experimentar con ellas. De hecho, Adobe recomienda probar las llamadas de API en el navegador mientras aprende el uso de la API y escribe aplicaciones.

Antes de comenzar, es útil instalar una herramienta que le permita ver los encabezados de solicitud y respuesta HTTP en el navegador.

Llamar a "common-info" en un navegador

  1. (Opcional) Active una herramienta para ver encabezados HTTP en el navegador.

  2. Abra un navegador y vaya a la página de inicio de sesión de Adobe Connect.

  3. Sin iniciar sesión, elimine la parte de la dirección URL que aparece después del nombre de dominio y añada una llamada a common-info:

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

    La respuesta de common-info le proporciona información sobre la sesión con el servidor, sobre todo, la cookie que identifica la sesión:

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

    Cuando un usuario inicia sesión desde una aplicación, debe devolver el valor de cookie al servidor para identificar la sesión del usuario (consulte Iniciar sesión desde una aplicación).

Llamar a "principal-list" en un navegador

Una vez que tenga el valor de la cookie BREEZESESSION de common-info, el navegador lo añadirá al encabezado de la solicitud en la siguiente solicitud.

  1. En un navegador web, inicie sesión en Adobe Connect. Cambie la dirección URL del navegador para llamar a principal-list:

     https://example.com/api/xml?action=principal-list
  2. Compruebe el encabezado de la solicitud. Esta vez devuelve el valor de la cookie BREEZESESSION al servidor:

     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. Compruebe la respuesta, que enumera todos los principales del servidor, cada uno en su propio 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>

Añadir filtros y ordenaciones

Muchas acciones de la API permiten añadir un filtro para devolver solo determinados elementos de respuesta o una ordenación para visualizar los elementos de respuesta en un orden determinado.

Un filtro es un parámetro especial que comienza con la palabra clave filter, seguido de un modificador opcional, y, a continuación, un nombre de campo y un valor. A continuación, se muestran ejemplos de filtros:

  • filter-name=jazz doe (que proporciona los resultados con el nombre exacto jazz doe).

  • filter-like-name=jazz (que proporciona los resultados que contienen jazz en el nombre).

  • filter-out-type=user (que devuelve los resultados que no tienen un tipo de usuario).

Estos son solo algunos tipos de filtro; puede encontrar más información en filter-definition. Compruebe una acción en la referencia (en Action reference) para ver si su respuesta se puede filtrar. En general, si una acción permite filtros, puede utilizarlos en cualquier elemento o atributo de respuesta.

Una ordenación es otro parámetro especial que comienza con la palabra clave sort (o sort1 o sort2), seguida de un nombre de campo, y, a continuación, las palabras clave asc o desc como, por ejemplo:

  • sort-name=asc (para ordenar de forma ascendente por nombre).

  • sort-group-id=desc (para ordenar de forma descendente por ID de grupo).

Estos son solo algunos ejemplos. Puede probar la ordenación en el navegador o consultar sort-definition para obtener más información.

Realizar una llamada con un filtro y una ordenación

  1. Vuelva a llamar a principal-list, mostrando solo los grupos y ordenándolos alfabéticamente por nombre:

     https://example.com/api/xml?action=principal-list&filter-type=group &sort-name=asc
  2. Para ajustar la respuesta, seleccione un grupo de la lista y filtre por su nombre:

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

    Esta vez, solo se devuelve un grupo:

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

Próximos pasos

En este punto, puede continuar probando las llamadas en el navegador y observar cómo funcionan. Es la forma más eficaz y sencilla de aprender a usar la API XML. Si necesita más información, consulte cualquiera de estas fuentes:

  • La referencia de API en Action reference.

  • Login and requests para obtener información sobre cómo los usuarios pueden iniciar sesión desde aplicaciones.

  • Basics para obtener información sobre los tres conceptos básicos de la API.

  • Meetings para obtener información sobre cómo crear y gestionar reuniones desde una aplicación.

  • Training para obtener información sobre cómo crear una aplicación de formación.

Logotipo de Adobe

Inicia sesión en tu cuenta