Histórico da Página
Objetivo
Pre-requisitos
- Configuração da infraestrutura para fornecer um nome de rede, dominio ou sudominio para cada Tenant.
Ex.: cliente1.totvs.com.br, cliente2.totvs.com.br, clienteN.totvs.com.br
Todos estes direcionando para o mesmo ambiente de instalação. - Utilizar o configurador global.
- Utilizar o TOTVS Update.
Informações | ||
---|---|---|
| ||
As configurações de Portal e HOST são totalmente independentes, ou seja, uma não implica absolutamente nada na outra. Portanto pode-se utilizar somente o multi tenancy do portal, sem nenhuma configuração adicional no host. |
Configurando o HOST como Multi Tenancy
- Fazer a instalação do Server do RM no servidor e configurá-lo como servidor de atualização conforme documentação disponível neste link.
- Criar um alias de banco para cada Tenant e dar um nome que possa ser inserido em um domínio, subdomínio ou nome de recurso de rede.
- Criar o arquivo de configuração global contendo a tag SubDomainMask respeitando os seguintes critérios:
Vamos supor que você possui dois Tenants onde seus respectivos Alias são: cliente1 e cliente2.
- Se o seus subdomínios forem: cliente1.empresa.com e cliente2.empresa.com então a tag SubDomainMask deve ser [ALIAS].empresa.com
- Se o seus domínios forem: www.cliente1.com e www.cliente2.com então a tag SubDomainMask deve ser www.[ALIAS].com
- Se o seus nomes de rede forem: cliente1 e cliente2 então a tag SubDomainMask deve ser somente [ALIAS] - Os arquivos de .config de cada aplicação devem conter apenas a tag configpath, conforme documentação acima relacionada.
- Seguem exemplos de como devem ficar os arquivos de configuração: RM.exe.config , RM.Host.exe.config, ConfiguracaoRM.config
- As tags UpdateServer e ServicesHostName devem direcionar para um endereço padrão ou para qualquer um Tenant, pois não faz nenhuma diferença, por ser uma tag relacionada à ambiente e infraestrutura,
- Os arquivos acima devem ficar no diretório de instalação do RM (RM.Net) no servidor.
- Feito isso os domínios, subdomínios ou nomes de rede devem ser criados de forma compatível com a configuração acima.
- Feito isso basta acessar normalmente as URLs de serviço, como por exemplo:
- http://empresa1.totvs.com.br:8051/wsUpdate - Este para baixar o SmartClient e utilizar já com o alias correto de forma transparente.
- http://empresa1.totvs.com.br:8051/wsReport - Este para gerar relatórios via web service.
- Após baixar o Smart Client, basta executá-lo que ele já estará configurado corretamente para o Tenant correto.
Configurando o Portal Corpore.NET e FrameHTML como Multi Tenancy
- Fazer a instalação do Portal RM no servidor.
- Criar um alias de banco para cada Tenant e dar um nome que possa ser inserido em um domínio, subdomínio ou nome de recurso de rede.
- Em todos os alias será necessário deixar em branco o parâmetro URL do Portal em Parâmetros Globais.
- Configurar a tag SubDomainMask nos arquivos Web.config dos diretórios Corpore.Net e FrameHTML respeitando os seguintes critérios:
Vamos supor que você possui dois Tenants onde seus respectivos Alias são: cliente1 e cliente2.
- Se o seus subdomínios forem: cliente1.empresa.com e cliente2.empresa.com então a tag SubDomainMask deve ser [ALIAS].empresa.com
- Se o seus domínios forem: www.cliente1.com e www.cliente2.com então a tag SubDomainMask deve ser www.[ALIAS].com
- Se o seus nomes de rede forem: cliente1 e cliente2 então a tag SubDomainMask deve ser somente [ALIAS] - A Tag dos arquivos web.config devem ficar desta forma, por exemplo: <add key="SubDomainMask" value="[ALIAS].totvs.com" />
- A Tag FrameHtmlUrl do web.config do Corpore.Net deve ser preenchida normalmente, sem se preocupar com o tenant, por exemplo: <add key="FrameHtmlUrl" value="http://localhost:8080/RM" />
- Feito isso basta acessar os portais normalmente. O seletor de alias não estará mais disponível para selecionar o Tenant, pois o mesmo será resolvido de forma transparente.
Informações | ||
---|---|---|
| ||
Para adicionar um novo tenant no ambiente de instalação, basta criar o Alias de banco e criar um dominio, subdomínio ou nome de rede que respeite as regras definidas no parâmetro SubDomainMask!! |
Informações | ||
---|---|---|
| ||
As configurações de Portal e HOST são totalmente independentes, ou seja, uma não implica absolutamente nada na outra. Portanto pode-se utilizar somente o multi tenancy do portal, sem nenhuma configuração adicional no host. |
Como funciona?
Com o ambiente configurado, o Portal Corpore.NET, FrameHTML, Web Services (somente expostos pelo HOST, conforme recomendado) e RM.exe farão a escolha do Tenant de forma transparente. Exemplo:
- Criamos apenas UMA instalação do RM e configuramos a tag SubDomainMask com a informação [ALIAS].totvs.com.br nos arquivos de confguração, confirme orientação acima.
- Neste exemplo considero que temos os portais e o servidor de aplicação (HOST) instalado no ambiente.
- O primeiro cliente vai utilizar o ambiente, então chamaremos ele de cliente1.
- Criamos um alias de nome cliente1 no ambiente.
- Criamos um subdomínio público, direcionado para o ambiente de instalação, chamado cliente1.totvs.com.br.
- O cliente agora pode acessar o endereço http://cliente1.totvs.com.br:8051/wsUpdate para baixar o SmartClient.
- O SmartClient não dará opção para selecionar alias, pois será resolvido de forma transparente.
- Os WebServices podem ser listados através do endereço http://cliente1.totvs.com.br:8051/wsPageIndex.
- Não será necessário configurar nenhum alias Default.
- O portal pode ser acessado pelo endereço http://cliente1.totvs.com.br/Corpore.Net e também não terá opção para selecionar alias.
- O segundo cliente vai utilizar o ambiente, então chamaremos ele de cliente2.
- Criamos um alias de nome cliente2 no ambiente.
- Criamos um subdomínio público, direcionado para o ambiente de instalação, chamado cliente2.totvs.com.br.
- Basta isso e o cliente2 pode acessar da mesma forma que o cliente1, porem com o endereço cliente2.totvs.com.br.
- Em resumo, os dois clientes estão utilizando o mesmo ambiente de forma tranparente e sem a necessidade de se preocupar em selecionar o alias.
Informações |
---|
Os servidores de portal e servidor de aplicação (HOST) não precisam ser os mesmos, basta fazer as configurações devidas em ambientes separados e criar os sudomínios dirrecionando-os corretamente. |