Admins/Synchronisation

De Wiki Expresso V3
Ir para: navegação, pesquisa

Conteúdo

Introdução

Em função da mobilidade, dispositivos móveis e consequente diferentes meios tecnológicos disponíveis aos usuários para acesso ao expresso, o Expresso disponibiliza vários modos de acesso a sua aplicação.

Conexões via Cliente de serviços JSON

Todo acesso neste modo se dá via uma tecnologia denominada provimento de serviços, ou seja o expresso disponibiliza serviços para que outras aplicações manipulem ou consultem seus dados.

Protocolo JSON/XML-RPC

Este é o protocolo usado para provimento de serviços pelo expresso, portanto quaisquer aplicações Web
que queiram falar com o expresso deverão respeitar as regras estipuladas para este protocolo de 
comunicação entre o servidor Expresso e a aplicação que requisitará os dados.
Este tema é melhor abordado em Serviços SOA

Alguns clientes de seus servisos:

* A própria aplicação expresso acessada via browser, Firefox, IE, Chrome,... este é um cliente Javascript que roda no navegador.
* O expresso Lite, que é uma versão bastante simplificada e leve de um client Javascript(Jquery) de browser 
  Mesmo que execute um ambiente desktop, seu objetivo é acesso via dispositivo móvel.
* O Expresso Mobile que é um cliente html5 para execução em dispositivos móveis via aplicação andróid.
* Ainda existe uma versão Javascript que provê acessibilidade.

Conexões com sincronização de dados

Considera-se conexões com sincronização de dados as conexões entre aplicações externas que mantem uma cópia dos dados do expresso e o Expresso. Exemplos de aplicações que sincronizam com o Expresso são as aplicações de dispositivos móveis ou aplicação desktop como o thunderbird.

  Exemplo 1: A agenda do expresso pode ser acessada tanto via smartfone como via expresso em 
  um computador tipo desktop. Tanto no Desktop como no smartfone estes dados serão sincronizados,
  isto é, quando for criado um evento na agenda, esse evento será sincronizado com o smartfone que 
  ficará com uma cópia daquele agendamento e vice-versa, ao ser criado no smartfone também será 
  sincronizado com o Expresso.
  Exemplo 2: Conforme mostrado no exemplo 1, o mesmo poderá acorrer com os emails, contatos e tarefas
  dos usuários, isto é coexistirem entre o dispositivo móvel e o expresso.
  Basicamente existe tre modos(protocolos) de sincronização com dispositivos móveis: 
  * Imap - Cliente thunderbird ou dispositivos móveis
  * Activesync - Dispositivos móveis
  * Dav - Cliente thunderbird ou dispositivos móveis

A seguir iremos abordar cada um destes tipos de acessos ao Expresso(seja via sincronização ou acesso a serviços do Expresso).

Conexões via sincronização de dados IMAP

As conexões IMAP ou Internet Message Access Protocol, permitem que você faça download dos emails do servidor para seu dispositivo móvel. Basicamente esta conexão trata somente com sincronização de EMAILS. Normalmente o dispositivo móvel possui um "programinha" que configura o acesso a este tipo de conexão entre ele e o servidor de emails do Expresso.

Segue um exemplo de configuração de um dispositivo Android(para isso você teve possuir de antemão os endereços necessários de seus servidores IMAP e SMTP(seu administrador deve fornece-lo).

 1 – Nas configurações do aparelho, procure por “Adicionar conta de E-mail”;
 2 – Selecione a opção “IMAP”;
 3 – Preencha os campos “E-mail” e “Senha”;
 4 – O campo “Nome de Usuário” deve ser preenchido com o seu login no expresso.
 5 – Servidor de IMAP: Informe qual é seu servidor Imap(xx.yy.zz)
 6 – Porta(normalmente 993);
 7 – Tipo de Segurança: SSL/TLS (aceitar todos os certificados);
 8 – Servidor de SMTP: Informe qual é seu servidor smtp(xx.yy.zz)
 9 – Porta(normalmente 465);
 10 – Tipo de Segurança: SSL/TLS (aceitar todos os certificados);
 11 – A opção “Requer login” ou “Requer autenticação” deve estar marcada;
 12 – Os campos “Nome de usuário” e “Senha” já devem estar preenchidos
      com as informações fornecidas nos itens 4 e 5.


Conexões via sincronização de dados Activesync

O ActiveSync é um protocolo utilizado para sincronia de e-mails, contatos, calendário e tarefas com dispositivos móveis. Clientes ActiveSync estão presentes em dispositivos como Android, Windows Phone, IPhone e IPad. Para os Nokias com S.O. Symbiam, o cliente MailForExchange pode ser instalado. Na configuração desses dispositivos esses clientes são denominados ActiveSync, Exchange ou Email Corporativo.

Assim como na conexão Imap anterior, existe a necessidade de configurar, tanto no aparelho móvel, como também agora alguns ajustes no servidor Expresso.

Configuração Activesync no Aparelho móvel

Caso o dispositivo ainda não tenha sido testado para o Expresso, primeiro consulte o manual do dispositivo para descobrir como criar uma conta do tipo Exchange ActiveSync e obtenha os endereços necessários a serem configurados com seu administrador do expresso.

Utilize as seguintes informações para realizar a configuração:

 Servidor Exchange ActiveSync: <DOMÍNIO EXPRESSOV3>         (exemplo: expresso.empresa.com.br)
 E-mail: <ENDEREÇO DE EMAIL>                                (exemplo: joaodasilva@empresa.com.br)
 Usuário: <LOGIN_DO_EXPRESSO>                                
 Senha: <SENHA_DO_EXPRESSO>
 Domínio: <DOMÍNIO BASE>                                    (exemplo: empresa.com.br)
 Conexão segura (SSL): <HABILITADO>
 Aceitar todos certificados: <HABILITADO>
Obs 1) Para alguns modelos de aparelhos, é necessário baixar e instalar a cadeia de certificados do Expresso.
Os certificados dos domínios administrados pelo SERPRO estão disponíveis em [1]

Multi domínios

Quando o Multi domínios esta habilitado, ao criar a conta ActiveSync no dispositivo móvel, o campo Usuário deve ser preenchido com o e-mail.

Para ambientes já em produção, quando habilitado o Multi domínios, se faz necessário recriar manualmente a conta ActiveSync em cada dispositivo móvel.


Dispositivos Testados

Segue a relação de dispositivos em que as seguintes operações básicas foram testadas, sincronizando informações do dispositivo para o servidor e vice-versa:

 - E-mails: visualisar, enviar, responder e encaminhar e-mails texto, html, com e sem anexo;
 - Contatos: visualizar, criar, editar e excluir;
 - Calendário: visualizar, criar eventos simples, editar eventos e excluir, criar eventos recorrentes e exceções de recorrência;
 - Tarefas: visualizar, criar, editar e excluir tarefas.

Obs: Caso vc possua algum outro dispositivo, realize os testes e comunique-se no fórum para atualização deste documento.

Dispositivos IOS (Apple)

Modelos testados: IPhone 3GS.

Para adicionar uma conta ActiveSync ao dispositivo IOS, toque em
Ajustes > Mail, Contatos, Calendários > Adicionar Conta > Microsoft Exchange.
1. Na tela seguinte, insira seu endereço de e-mail completo, senha do Expresso e uma
descrição (exemplo: ExpressoV3). Clique no botão "Seguinte".
2. O dispositivo IOS solicitará então o Servidor, Usuário e Domínio. Insira os dados, conforme
descrito acima. Clique no botão "Seguinte". O dispositivo IOS tentará estabelecer uma conexão 
segura (SSL) com o servidor Expresso. Para configurar o ajuste de SSL, acesse:
Ajustes > Mail, Contatos, Calendários, 
selecione a conta Exchange, toque em Dados da Conta e alterne a barra deslizante para usar SSL.
3. Escolha quais dados você deseja sincronizar: Mail, Contatos, Calendários e Tarefas. 
Note que por padrão, somente os e-mails dos últimos três dias serão 
sincronizados. Para sincronizar mais e-mails, vá até Ajustes > Mail, Contatos, Calendários,
selecione sua conta do Exchange e toque em dias do Mail para sincronizar.
4. A primeira sincronização pode demorar um pouco, dependendo do número de e-mails, contatos e eventos de calendário.
Os dados sincronizados com o Expresso estarão disponíveis nos respectivos aplicativos do IOS (Mail, Contatos e Calendário).

Filtrando quais Contêineres de Calendário e Contatos o dispositivo deve sincronizar

Fazer login no Expresso e acessar o Catálogo de Endereços ou o Calendário. Abrir o menu de contexto do contêiner de Calendário ou Catálogo e selecionar Gerenciar permissões. Veja exemplo a seguir.

ASFiltroSincronia1.png

Figura 1: Selecionando Gerênciar permissões de Calendário

Marcar ou Desmarcar a Sincronização do Contêiner para um determinado usuário ou grupo. Veja exemplo na figura 2.

ASFiltroSincronia2.png

Figura 2: Habilitando/Desabilitando a sincronização do Contêiner de Calendário

Por fim sincronizar o Contatos/Calendário do dispositivo móvel e observar que somente os contêineres marcados são sincronizados.

Obs: Para alguns dispositivos, pode ser necessário recriar a conta ActiveSync para que a sincronia seja atualizada.

Configuração Activesync no Servidor(para administradores)

Via browser, acesse o /setup e instale a aplicação ActiveSync.

Faça manualmente alterações nas estruturas de algumas tabelas do BD. Veja https://comunidadeexpresso.serpro.gov.br/mediawiki/index.php?title=Admins/Instala%C3%A7%C3%A3o#ActiveSync_e_ExpressoMail

Faça a seguinte configuração do Apache(adequando o paths para seu ambiente):

 Habilitando modo rewrite:
 a2enmod rewrite 
 Edite o arquivo /etc/apache2/sites-enabled/expressov3 e adicione as linhas:
 RewriteEngine on
 RewriteRule /Microsoft-Server-ActiveSync(.*) /var/www/expressov3/index.php$1 [E=REDIRECT_ACTIVESYNC:true,E=REMOTE_USER:%{HTTP:Authorization}]

Dentro da seção VirtualHost após fechamento do Directory da aplicação expressov3 conforme exemplo abaixo:

 NameVirtualHost *:80
 <VirtualHost *:80>
     ServerAdmin postmaster@prodemge.gov.br
     DocumentRoot /var/www/expressov3
     <Directory /var/www/expressov3/>
        Options FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
     </Directory>
      RewriteEngine on
      RewriteRule /Microsoft-Server-ActiveSync(.*) /var/www/expressov3/index.php$1 [E=REDIRECT_ACTIVESYNC:true,E=REMOTE_USER:%{HTTP:Authorization}]

</pre>


Considerações sobre Performance

A sincronização de dispositios móveis é uma conexão que se dá do dispositivo para servidor expresso. Portanto dependendo da configuração do seu dispositivo e dos dispositivos de outros usuários poderá acarretar sobrecarga no sistema pelo acesso de sincronização, como por exemplo caso um usuário venha configurar seu dispositivo para sincronização a cada segundo. Isto irá gerar um tráfego muito intenso entre o dispositivo e o servidor expresso.


Parametros do config.inc.php

Inclua obrigatoriamente o atributo mailapplication. Para minimizar a carga sobre a infraestrutura pode-se opcionalmente incluir os atributos maxfiltertypeemail, maxfiltertypecalendar e customexpirable no arquivo config.inc.php de sincronia:

  'mailapplication' => 'Expressomail',
  'maxfiltertypeemail' => 5,
  'maxfiltertypecalendar' => 5,
  ...
  'caching' =>
  array (
    'active' => true,
    'customexpirable' => true,'

Tabela de valores para filtro de período de sincronia: ActiveSync estão presentes em dispositivos como Android, Windows Pho

 1 -> Um dia
 2 -> Três dias
 3 -> Uma semana
 4 -> Duas semanas
 5 -> Um mês
 6 -> Três meses
 7 -> Seis meses
 0 -> Tudo
 O parâmetro maxfiltertypeemail pode ser configurado com qualquer dos valores da tabela acima.
 O parâmetro maxfiltertypecalendar pode ser configurado com os valores 4, 5, 6, ou 7.
 A configuração desses dois parâmetros tem prioridade sobre os períodos de sincronia configurados nos dispositivos móveis.
 O customexpirable pode assumir os valores true e false. 
 Quando true, algumas consultas são cacheadas no frontend da aplicação. Esse é um cache não compartilhado,
 onde as informações cacheadas somente são atualizadas após o  cache expirar. 
 Isso faz com que a carga sobre os backends(BD, Ldap) diminua significativamente. Por outro lado, 
 gera um impacto percebido pelo usuário, como por exemplo quando o administrador da um novo direito de acesso a 
 um usuário, esse só começará a funcionar após o cache expirar. Como pré-requisito para habilitar essa funcionalidade,
 a  infraestrutura deve direcionar as requisições de uma mesma sessão do usuário sempre para um mesmo frontend.

Teste de Funcionamento

Para testar, de forma rápida, a conexão de rede e autenticação, no browser da estação de trabalho ou do dispositivo móvel, acesse:

 http://<IP_DO_EXPRESSO>/Microsoft-Server-ActiveSync

Informe seu usuário e senha.


Emulador Android

O ideal para teste de funcionamento seria utilizar um aparelho físico para um teste completo, na impossibilidade pode-se usar um emulador de Android.

Para fazer download do emulador de Android acesse: [2] e faça download da versão ADT Bundle

Descompacte o arquivo. Execute o script android que está na sub-pasta tools e crie um AVD de dispositivo móvel.

Inicie o dispositivo móvel(AVD), abra o Config do dispositivo e adicione uma conta de sincronia corporativa(em alguns dispositivos é chamada de conta Exchange ou ActiveSync).

     
      e-mail: <EMAIL_DO_USUARIO>
      login: <USUARIO_DO_EXPRESSO>
      senha: <SENHA_DO_EXPRESSO>
      servidor: <IP_OU_ENDERECO_DO_SERVIDOR_EXPRESSO>
      SSL: <DESABILITADO>

Após alguns minutos, os dados sincronizados aparecem dos aplicativos do Android. (O emulador é mais lento que um dispositivo real)

Limitações do Sincronização com ActiveSync

Limitações do Sincronização de E-mails com ActiveSync

Pastas de e-mails cujo nome completo (caminho até a pasta) que ultrapassem o limite de 64 caracteres não são sincronizáveis via ActiveSync.

Conexões via CAL/SABREDAV

Falta documentação

Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Ferramentas