Um usuário acessa o seu aplicativo personalizado de um navegador da Web.
Entenda a arquitetura dos serviços da Web do Connect e saiba como as APIs funcionam.
Os serviços da Web do Adobe® Connect™ são a camada de serviço da Web sobre o conjunto de aplicativos do Adobe Connect Server.
Os serviços da Web permitem criar portais ou aplicativos da Web que integram a funcionalidade e as informações de relatórios do Adobe Connect com sistemas de terceiros, como portais, sistemas de gerenciamento de relacionamento com o cliente e sistemas de planejamento de recursos empresariais.
Por exemplo, você pode ter um sistema central de gerenciamento de usuários, como um diretório LDAP, Microsoft Ative Diretory ou outro sistema de terceiros, que é parte integrante dos processos de negócios.
Usando os serviços da Web, você pode gravar um aplicativo que sincroniza usuários entre o seu sistema e o Adobe Connect. O aplicativo pode usar a plataforma J2EE ou outra tecnologia de sua escolha para extrair uma lista de usuários do diretório, compará-la com uma lista de usuários do Adobe Connect e, em seguida, executar as atualizações solicitadas no repositório de usuários do Adobe Connect, como adicionar ou excluir usuários ou grupos.
Fluxo de dados
Os fluxos de dados entre aplicativos do cliente e o Adobe Connect são mostrados no diagrama a seguir. Os aplicativos personalizados que você grava usam os caminhos de 1 a 2 e de A a B. Os aplicativos do Adobe Connect (como Adobe Connect Meeting, Adobe Connect Training ou Adobe Connect Events) podem usar qualquer um dos caminhos de fluxo de dados.
O fluxo de dados pode ser criptografado com SSL ou não criptografado.
Não criptografado
Se o fluxo de dados não for criptografado, as conexões serão feitas por HTTP e Real Time Messaging Protocol (RTMP) da Adobe e seguirão os caminhos descritos na tabela a seguir.
Número do diagrama |
Descrição |
---|---|
1 |
O navegador da Web do cliente solicita uma reunião ou um URL de conteúdo do Adobe Connect na porta HTTP:80 (os caminhos de conexão podem variar). |
2 |
O servidor Web responde com transferência de conteúdo ou fornece informações ao navegador do cliente para entrar no Adobe Connect. |
3 |
O aplicativo para desktop do Adobe Connect solicita uma conexão com o Adobe Media Server via RTMP:1935 e HTTP:80. |
4 |
O Adobe Media Server responde e uma conexão persistente é aberta para transmitir o tráfego de reunião para o navegador. |
3a (alternativa) |
Em alguns casos, o aplicativo para desktop do Adobe Connect solicita uma conexão com o Adobe Media Server, mas só pode obter uma conexão em túnel via RTMPT:80. |
4a (alternativa) |
O Adobe Media Server responde e uma conexão em túnel é aberta para transmitir o tráfego de reunião para o navegador. |
Criptografado
Se o fluxo de dados for criptografado, as conexões serão feitas com segurança em HTTPS e RTMPS (Real Time Messaging Protocol via SSL) da seguinte forma:
Número do diagrama |
Descrição |
---|---|
A |
O navegador da Web do cliente solicita um URL seguro de reunião ou conteúdo em uma conexão criptografada em HTTPS:443 (os caminhos de conexão podem variar). |
B |
O servidor Web/aplicativo responde com uma transferência de conteúdo criptografada ou fornece ao cliente informações para fazer uma conexão criptografada com o Adobe Connect. |
C |
O aplicativo Adobe Connect para desktop solicita uma conexão criptografada com o Adobe Media Server via RTMPS:443. |
D |
O Adobe Media Server responde e uma conexão persistente é aberta para transmitir o tráfego de reunião para o navegador. |
Aplicativos personalizados
Os serviços da Web do Adobe Connect fornecem uma API XML para que o seu aplicativo possa se comunicar com o Adobe Connect usando XML via HTTP ou XML via HTTPS. O seu aplicativo chama a API criando um URL de solicitação e passando um ou mais parâmetros, como pares de nome/valor ou como um documento XML. Os serviços da Web retornam uma resposta XML, da qual você pode extrair valores.
Os aplicativos personalizados recuperam metadados do banco de dados do Adobe Connect. Os metadados incluem nomes e horários de reuniões ou cursos, URLs de salas de reuniões, URLs de conteúdo e informações de relatórios.
O fluxo de dados para um aplicativo personalizado que recupera metadados do banco de dados é de um navegador da Web do cliente para o servidor de aplicativo da Web do cliente, a API XML, o servidor de aplicativo da Web do Adobe Connect e o banco de dados SQL — e, em seguida, volta novamente.
O fluxo de dados entre um aplicativo personalizado e o Adobe Connect funciona assim:
-
-
O aplicativo chama a API XML via HTTP:80 ou HTTPS:443.
-
O servidor de aplicativo Web do Adobe Connect autoriza o aplicativo e seus usuários, recupera metadados do banco de dados SQL e retorna os metadados.
-
No lado do cliente, o servidor Web ou do aplicativo, o analisador XML e as bibliotecas de software lidam com a resposta e a devolvem ao aplicativo.
-
O usuário continua a trabalhar no aplicativo personalizado e clica em um URL de reunião ou conteúdo. Nesse ponto, o usuário acessa um aplicativo do Adobe Connect para entrar em uma sala de reuniões e o fluxo de dados típico entre um aplicativo do Adobe Connect e o servidor é iniciado.
Aplicativos do Adobe Connect
Os aplicativos do Adobe Connect chamam o servidor usando a mesma API XML de serviços da Web que você usa de um aplicativo personalizado.
Em geral, o conteúdo é transportado via porta HTTP 80 ou porta HTTPS 443. O conteúdo inclui slides, páginas HTTP, arquivos SWF e arquivos transferidos por meio do pod FileShare. Esses são números de porta padrão que você pode configurar (consulte Migração, Instalação e Configuração do Adobe Connect Server para obter detalhes).
As comunicações em tempo real e em streaming do Adobe Media Server são transportadas via porta RTMP 1935. As comunicações com fluxo contínuo incluem áudio, vídeo (webcam e FLV), compartilhamento de arquivos e bate-papo. O estado da reunião também é mantido via porta RTMP 1935.
Componentes do Adobe Connect
O Adobe Connect foi arquitetado com dois componentes de servidor e cada servidor usa um banco de dados SQL.
O servidor de aplicativos da Web
O servidor de aplicativos da Web é o cérebro do Adobe Connect. Ele contém e executa toda a lógica de negócios necessária para fornecer conteúdo aos usuários. Ele lida com controle de acesso, segurança, cotas e licenciamento, bem como com funções de gerenciamento, como cluster, failover e replicação.
O servidor de aplicativos da Web também lida com o Adobe Connect Central, o aplicativo pelo qual você visualiza e gerencia o conteúdo e os usuários da sua organização, quando você não está usando um aplicativo personalizado ou um sistema integrado de terceiros. Os metadados que descrevem o conteúdo e os usuários podem ser armazenados em bancos de dados SQL replicados únicos ou múltiplos. O servidor de aplicativo da Web é sem estado, o que significa que o dimensionamento é quase linear.
Adobe Media Server
O Adobe Media Server transmite áudio, vídeo e conteúdo de mídia avançada usando RTMP. Quando uma reunião é gravada e reproduzida, o áudio e o vídeo são sincronizados ou o conteúdo é convertido e empacotado para o compartilhamento de tela em tempo real. Em seguida, o Adobe Medium Server faz o trabalho.
O Adobe Media Server também desempenha um papel vital na redução da carga do servidor, armazenando em cache páginas da Web, fluxos e dados compartilhados acessados com frequência.
Banco de dados SQL
O Adobe Connect usa o banco de dados do Microsoft SQL Server para armazenamento persistente de metadados transacionais e de aplicativos, incluindo usuários, grupos, conteúdo e informações de relatório. A API XML recupera os metadados armazenados no banco de dados. O banco de dados pode ser implementado com o Microsoft SQL Server Desktop Engine (MSDE) ou com a versão completa do Microsoft SQL Server 2005.
Fazendo a sua primeira chamada de API
Os serviços da Web do Adobe Connect usam uma estrutura de servlet para processar solicitações de API XML. No diagrama do fluxo de dados, a estrutura do servlet é representada pelo componente da API. O servlet da API recebe solicitações XML de clientes e retorna respostas XML do servidor de aplicativos da Web e do banco de dados.
Uma solicitação à API XML é formatada como um URL de solicitação HTTP que o servlet da API manipula. Um URL de solicitação tem um nome de ação e parâmetros em pares de nome/valor, como este:
https://example.com/api/xml?action=sco-info&sco-id=2006334909
Se tiver acesso a uma conta do Adobe Connect na qual você pode testar chamadas de API, você pode experimentar. Na verdade, a Adobe recomenda testar chamadas de API no navegador enquanto você aprende a API e grava aplicativos.
Antes de começar, é útil instalar uma ferramenta que permite exibir cabeçalhos de solicitação e resposta HTTP no navegador.
Chamar common-info em um navegador
-
(Opcional) Ative uma ferramenta para exibir cabeçalhos HTTP em seu navegador.
-
Abra um navegador e navegue até a página de logon do Adobe Connect.
-
Sem fazer logon, exclua a parte do URL após o nome do domínio e adicione uma chamada a common-info:
https://example.com/api/xml?action=common-info
A resposta de common-info fornece informações sobre a sua sessão com o servidor, especialmente o cookie que identifica a sessão:
<?xml version="1.0" encoding="utf-8"?> <results> <status code="ok"/> <common locale="en" time-zone-id="85"> <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 (compatível; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) </user-agent> </common> </results>
Quando você faz logon de um usuário em um aplicativo, é necessário enviar o valor do cookie de volta ao servidor para identificar a sessão do usuário (consulte Faça logon de um aplicativo).
Chamar principal-list em um navegador
Depois de você ter o valor de cookie BREEZESESSION de common-info, o navegador o adicionará ao cabeçalho da solicitação na próxima solicitação.
-
Em um navegador da Web, faça logon no Adobe Connect. Altere o URL do navegador para chamar principal-list:
https://example.com/api/xml?action=principal-list
-
Verifique o cabeçalho da solicitação. Desta vez, ele envia o valor do cookie BREEZESESSION de volta ao servidor:
GET /api/xml?action=main-list HTTP/1.1 Aceitar: */* Accept-Language: en-us Accept-Enconding: gzip, deflate User-Agent: Mozilla/4.0 (compatível; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Host: conexão example.com: Keep-Alive Cookie: BREEZESESSION=breezbryf9ur23mbokzs8
-
Verifique a resposta, que lista todos os principais no servidor, cada um em seu próprio elemento principal.
<?xml version="1.0" encoding="utf-8"?> <results> <status code="ok"/> <principal-list> <principal principal-id="624526" account-id="624520" type="user" has-children="false" is-primary="false" is-hidden="false"> <name>joe harrison</name> <login>jharrison@example.com</login> <email>jharrison@example.com</email> </principal> <principal principal-id="624550" account-id="624520" type="user" has-children="false" is-primary="false" is-hidden="false"> <name>bob jones</name> <login>bjones@example.com</login> <email>bjones@example.com</email> </principal> ... </principal-list> </results>
Adicionar filtros e classificações
Muitas ações na API permitem adicionar um filtro para retornar apenas determinados elementos de resposta ou uma classificação para exibir elementos de resposta em uma determinada ordem.
Um filtro é um parâmetro especial que começa com a palavra-chave filter, seguida por um modificador opcional, depois um nome de campo e um valor. Estes são todos exemplos de filtros:
filter-name=jazz doe (que corresponde aos resultados com o nome exato jazz doe)
filter-like-name=jazz (que corresponde a quaisquer resultados que contenham jazz no nome)
filter-out-type=user (que retorna quaisquer resultados que não tenham um tipo de usuário)
Esses são apenas alguns tipos de filtro, e você pode encontrar mais em filter-definition. Verifique uma ação na referência (em Referência de ação) para ver se a resposta pode ser filtrada. Em geral, se uma ação permitir filtros, você pode usá-los em qualquer elemento de resposta ou atributo.
Uma classificação é outro parâmetro especial que começa com a palavra-chave sort (ou sort1 ou sort2), seguida de um nome de campo e, em seguida, uma das palavras-chave asc ou desc, por exemplo:
sort-name=asc (para classificar em ordem crescente por nome)
sort-group-id=desc (para classificar em ordem decrescente por group-id)
Estes são apenas alguns exemplos. Você pode testar classificações no navegador ou ver sort-definition para obter mais.
Fazer uma chamada com um filtro e classificar
-
Chame principal-list novamente, exibindo apenas grupos e classificando-os em ordem alfabética por nome:
https://example.com/api/xml?action=principal-list&filter-type=group &sort-name=asc
-
Para limitar a resposta, escolha um grupo na lista e filtre em seu nome:
https://example.com/api/xml?action=principal-list&filter-name=developers
Desta vez, apenas um grupo é retornado:
<?xml version="1.0" encoding="utf-8"?> <results> <status code="ok"/> <principal-list> <principal principal-id="2007105030" account-id="624520" type="group" has-children="true" is-primary="false" is-hidden="false"> <name>desenvolvedores</name> <login>desenvolvedores</login> </principal> </principal-list> </results>
Para onde ir a partir daqui
Neste ponto, você pode continuar testando chamadas no navegador e observar como elas funcionam. É a melhor e mais fácil maneira de aprender a API XML. Quando precisar de mais informações, acesse qualquer uma destas fontes:
A referência da API em Referência de ação.
Faça logon e solicite informações sobre como fazer logon de usuários nos aplicativos.
Noções básicas para aprender os três conceitos básicos subjacentes à API.
Reuniões se você deseja criar e gerenciar reuniões a partir de um aplicativo.
Treinamento se você estiver criando um aplicativo de treinamento.