Translate

Mostrando postagens com marcador Help Server. Mostrar todas as postagens
Mostrando postagens com marcador Help Server. Mostrar todas as postagens

quarta-feira, 28 de agosto de 2013

Erro Help Server AX2012 R2.

Tarde pessoal!

Hoje vou compartilhar com vocês um erro que enfrentei em um cliente onde estou implementando o AX2012 R2.

Este erro ocorreu quando tentei acessar o menu de ajuda do AX2012 R2 logo após instalar o componente de Help Server.

Veja o erro na imagem abaixo:




Ao verificar os logs do Event Viewer eu localizei a seguinte entrada:

O que mais me chamou a atenção, e me ajudou a resolver o problema esta destacado em vermelho.

Event code: 3008
Event message: A configuration error has occurred.
Event time: 28/08/2013 13:38:18
Event time (UTC): 28/08/2013 16:38:18
Event ID: de1252f8c69748b49b6fbf4581523a36
Event sequence: 1
Event occurrence: 1
Event detail code: 0

Application information:
    Application domain: /LM/W3SVC/1/ROOT/DynamicsAX6HelpServer-5-130221814986138089
    Trust level: Full
    Application Virtual Path: /DynamicsAX6HelpServer
    Application Path: C:\inetpub\wwwroot\DynamicsAX6HelpServer\
    Machine name: SERVER

Process information:
    Process ID: 4544
    Process name: w3wp.exe
    Account name: DOMINIO\REPORTSERVICEACCOUNT

Exception information:
    Exception type: ConfigurationErrorsException
    Exception message: Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
   at System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase)
   at System.Web.Configuration.Common.ModulesEntry.SecureGetType(String typeName, String propertyName, ConfigurationElement configElement)
   at System.Web.Configuration.Common.ModulesEntry..ctor(String name, String typeName, String propertyName, ConfigurationElement configElement)
   at System.Web.HttpApplication.BuildIntegratedModuleCollection(List`1 moduleList)
   at System.Web.HttpApplication.GetModuleCollection(IntPtr appContext)
   at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
   at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
   at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
   at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)

Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName)
   at System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase)
   at System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase)
   at System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase)

Request information:
    Request URL: http://server/DynamicsAX6HelpServer/HelpService.svc
    Request path: /DynamicsAX6HelpServer/HelpService.svc
    User host address: fe80::68eb:6fca:3b27:2ee9/DynamicsAX6HelpServer
    User: 
    Is authenticated: False
    Authentication Type: 
    Thread account name: DOMINIO\REPORTSERVICEACCOUNT

Custom event details:

A possivel causa para este problema:

Inicialmente este servidor seria apenas um servidor de AOS, por esta razão instalamos apenas a role de "Application Server" que instala o .NET Framework 3.5. ao executar o setup do AX para instalar o AOS também foi instalado o .NET Framweork 4.0. Em um segundo momento foi decidido que este servidor também viria a ser o Help Server do sistema e por esta razão foi necessário instalar a Role de "Web Server IIS" neste servidor.

Com todos os componentes acima instalados exatamente na ordem acima citada o setup do AX foi executado e o componente de Help Server do AX foi instalado sem qualquer problema. Mas ao tentar acessar o conteudo de ajuda o erro da imagem acima foi exibido e o log já mencionado foi gerado no Event Viewer.

A solução para o problema:

Executei o comando utilizando o "CMD" como administrador:

aspnet_regiis.exe /iru

Este comando atualizou o application pool utilizado pelo site do Help Server para utilizar o
.NET Framework 4.0.
Após executar este comando o Help Server passou a ser acessado normalmente.

Creio que devido a sequencia na instalação das Roles de Application Server, Web Server IIS e também a instalação dos .NET's tenha causado algum problema no registro do .NET Framework 4.0 no IIS.

Para evitar este problema execute a instalação dos componentes na seguinte ordem:

  1. Role Web Server IIS
  2. Role "Application Server" (.NET 3.5)
  3. .NET Framework 4.0

Espero que esta dica ajude!

terça-feira, 30 de abril de 2013

Dicas para Sizing do Dynamics AX.

Pessoal, publico este artigo afim de discutir com vocês quais os melhores caminhos para se gerar um documento de Sizing o mais correto possível. Espero que o conteúdo abaixo agregue conhecimento a vocês e que, a partir deste, muitas dicas sejam feitas afim de que eu possa entender e aprender como vocês trabalham para criar o Sizing para seus clientes!

Desta forma acredito que teremos um resultado final útil a todos nós!

Creio que o primeiro passo para criarmos um sizing conciso, que faça sentido frente ao cliente e que o faça se sentir seguro do investimento a ser feito, nós precisamos conhecer a arquitetura do Dynamics AX. Não conhecer estes pontos prejudicará o resultado final do sizing.
Sugiro então a leitura dos links abaixo:

http://go.microsoft.com/fwlink/?LinkId=286895
http://go.microsoft.com/fwlink/?LinkId=286896

Após a leitura acima, podemos dizer que o AX2012 trabalha com uma arquitetura de 03 camadas (Three-Tier Architecture). Esta arquitetura separa os componentes de Banco de Dados, Aplicação e Client, que são os 03 componentes básicos para a instalação do Dynamics AX.

O SQL Server fica na camada de banco de dados e armazena os dados da aplicação em tabelas.

A aplicação (AOS) fica na camada de mesmo nome, e é responsável por executar as logicas contidas nos objetos da aplicação, tais como métodos de tabelas e classes.

A ultima camada é o Client, responsável por exibir os objetos da aplicação tais como formulários e relatórios.

Outros componentes como Workflow, BI, Enterprise Portal, AIF e Help Server precisam ser avaliados e levados em consideração.

Tendo o conhecimento da arquitetura do Dynamics AX e de seus componentes, o responsável pela criação do sizing deverá questionar o cliente até entender por completo suas necessidades e caracteristicas para somente após poder criar este documento de sizing.

Algumas perguntas que devem ser feitas:

Qual o volume máximo de transações esperados por hora durante o horário maior utilização do AX?
Toda a arquitetura de sizing do Dynamics AX deve ser desenhada para suportar o maior numero possível de transações por hora no dia de maior movimento da empresa.
Todas as transações abaixo, mas não somente elas, devem ser consideradas:

  • Linhas Ordens de Venda
  • Linhas de Ordem de Compra
  • Linhas de Ordens de Produção
Qual é quantidade de registros no arquivo de dados?
Este dado é de extrema importância, obtendo esta informação poderemos estimar o tamanho inicial do banco de dados do Dynamics AX, e com isso dimensionar corretamento o disco correto para o servidor de banco de dados.

Quais módulos serão utilizados no Dynamics AX?
Obter esta informação nos permite determinar a quantidade ideal de servidores, tendo em vista que cada modulo aumenta a quantidade de transações no AX.

Haverá integração do AX com sistemas terceiros?
Entender as necessidades de integração do AX com programas terceiros é importante na construção do sizing. Algumas perguntas podem ajudar a determinar os requisitos de hardware para uma correta integração com o Dynamics AX:
  • Qual sistema será integrado ao Microsoft Dynamics AX?
  • Qual o método de transporte a ser utilizado?
    • O método de transporte ajudará a definir quantos servidores serão necessários para a integração. Por exemplo, a utilização do sistema de arquivos para um sistema externo talvez exija a utilização de um servidor de FTP. Ou a utilização do AIF vai exigir a utilização de um servidor de IIS.
  • O método de comunicação deverá ser Síncrono ou Assíncrono?
    • Se documentos precisam ser enviados ou recebidos em uma determinada ordem a comunicação síncrona será exigida para que um documento não seja enviado até que o primeiro não seja recebido por completo.
Customizações, desenvolvimentos, serão necessários?
Determinar se customizações serão necessárias ajudará a definir como elas serão implementadas. Vejam este link para entender do que estou falando!

Quantos usuários utilizarão o Microsoft Dynamics AX?
Saber quantos usuários utilizarão o sistema e como eles o acessarão nos ajudará a definir a quantidade correta de servidores de AOS. Também é importante saber se o Enterprise Portal será utilizado e quantas integrações existirão.

O Dynamics AX será acessado de fora da empresa?
Não é recomendado utilizar o Dynamics AX sem a utilização de programas específicos para publicação de aplicações tais como o Remote Desktop Services. Em caso de necessidade de acesso externo, mais servidores serão necessários, e caso existe a necessidade de alta disponibilidade do acesso a este recurso, a quantidade necessária de servidores aumenta.

Obs: Se a latência na rede for maior do que 50ms o uso do Remote Desktop services é aconselhavel.

O Enterprise Portal será utilizado? De que forma?
O Enterprise Portal é utilizado para a exibição do Role Center para o Dynamics AX Client e pode ser utilizado para o acesso a recursos via navegador, Internet Explorer. Analisar a utilização do Enterprise Portal e a necessidade ou não de alta disponibilidade deste recursos é importante.

Haverão muitos trabalhos em lotes?
Dependendo da quantidade de trabalhos em lotes, servidores dedicados serão necessários. também precisamos avaliar qual a disponibilidade requerida para os servidores de lotes do AX. Pode ser necessário a criação de um cluster de AOS para os trabalhos em lotes.

A empresa precisa de um cluster de AOS dedicado?
O Microsoft Dynamics AX permite a criação de cluster de AOS para o balanceamento de carga e alta disponibilidade deste serviço. Para mais informações sobre servidores de Load Balance para AOs consultem este link.

Quantos ambientes serão utilizados na implementação do AX?
Em uma implementação padrão é comum utilizarmos 03 ambientes, Desenvolvimento, Homologação e Produção. Contudo, outros ambientes podem ser uteis e ajudam a evitar problemas. Ambientes como os descritos abaixo podem ser disponibilizados para a implementação caso aprovado pelo cliente.

Treinamento - Ambiente dedicado a treinamento dos usuários. Este é um ambiente simples e limpo, sem customizações ou dados. Este ambiente também é útil para identificar problemas e como o ambiente trabalha de forma nativa.

Pré-Produção - Este é um ambiente idêntico ao ambiente de produção, utilizado para a validação de customizações antes de estar serem migradas em definitivo para a produção. Este também pode servir como um ambiente de testes para identificar problemas em customizações aplicadas em produção de forma errada.

A empresa necessita de alta disponibilidade dos serviços de IIS?
Sabemos que o serviço de IIS é utilizado por vários componentes do AX tais como Web Services, Enterprise Portal e Help Server. Caso a empresa necessite de alta disponibilidade para qualquer destes componentes o numero de servidores aumentará.

A alta disponibilidade de banco de dados é necessária?
Havendo a necessidade de alta disponibilidade de qualquer um dos itens acima, obviamente também será necessário configurar a alta disponibilidade dos serviços de banco de dados! Desta forma deveremos configurar corretamente a quantidade e configuração do hardware para banco de dados. Para mais detalhes sobre alta disponibilidade de SQL Server consultem este link.

Qual o nível de Disaster Recovery exigido pelo cliente?
Todas as implementações do Dynamics AX deveriam incluir um plano de Disaster Recovery. No caso de falha de qualquer dos componentes do Dynamics AX precisamos ser capazes de recuperar as informações e disponibilizar o sistema o quanto antes. O Clustes de SQL Server nos ajuda a ter mais segurança em relação ao banco de dados, mas algumas outras perguntas devem ser feitas:

  • Que tecnologia será utilizada na criação do plano de Disaster Recovery?
  • Qual o intervalo aceitável de perda de dados?
  • Quanto o tempo aceitável para a disponibilização do sistema?
  • Onde serão disponibilizados os dados de backup? Onde será o Disaster Recovery Site?
    • Este local deverá sempre ser fora da infra estrutura da empresa de forma a evitar problemas físicos e desastres naturais! 
Este link nos dará mais detalhes sobre o assunto acima!

Qual a estrategia de backup a ser utilizada?
A estrategia de backup deve incluir qual o melhor tipo de backup (Full, Diferencial ou Transaction Log), a frequência do backup e onde os arquivos de backup serão armazenados. Logicamente a estrategia deve envolver o processo de restore deste backup em um ambiente de testes afim de validar a integridade dos backups. Analise também o espaço em disco necessário para um backup full e se a compressão de arquivo será utilizada nas rotinas de backup. Outras dicas podem ser encontradas neste link.

Para nos ajudar a construir o sizing ideal existem alguns Guidelines que podem nos ajudar. Atenção a este ponto pois cada sizing varia de acordo com as necessidades de cada cliente, os guidelines indicados aqui servem somente como um parâmetro inicial e devem ser considerados como tal.

Database Server Sizing Guidelines
O sizing para o banco de dados do Microsoft Dynamics AX deverá ser baseado no volume de transações concorrentes. É mais importante entender a quantidade e carga das transações do que saber a quantidade de usuários concorrentes.
O guideline para banco de dados inclui o seguinte:

O servidor deverá ser dedicado ao banco de dados do Dynamics AX.

CPU - O servidor deverá possuir um núcleo de processador para cada 4 ou 12 mil transações por hora, com um minimo de 04 núcleos. Por exemplo, uma empresa que insere 48mil transações por hora deverá possuir um servidor com 04 a 12 núcleos de processador.

Memoria - Para cada núcleo de processador é necessário ter de 02 a 04GB RAM. Portanto, em um servidor com 08 núcleos precisaríamos de um minimo de 16GB RAM ou máximo de 32GB.

Storage - Arquivos de dados, logs e tempdb devem ser armazenados em RAID 10. Logicamente o disco deverá possuir espaço o suficiente para suportar o volume de dados do AX.

Application Object Server (AOS) Sizing Guidelines
Este guideline deverá ser utilizado como ponto de partida, mas outros elementos como módulos a serem utilizados, integrações e customizações devem ser levadas em considerações na geração do sizing final.

Assim como o servidor de banco de dados, o AOS Server deve ser configurado tendo como base o volume de transações, logicamente a quantidade de usuários deverá ser levada em consideração.

CPU - O servidor deverá possuir um núcleo de processador para cada 4 ou 12 mil transações por hora. Um núcleo também deverá existir para cada 25/100 usuários concorrentes.
Memoria - 04GB ou 08GB RAM devem ser alocados para cada AOS.

Obs: Uma alternativa é criar servidores de AOS com 04 núcleos de processador e 08GB RAM e adicionar mais servidores de AOS a cada 48mil transações por hora ou a cada 250 usuários concorrentes.

Batch Server - Servidores de AOS utilizados como servidores de lotes devem possuir de 01 a 04 threads alocados para cada núcleo.

Enterprise Portal Sizing Guidelines

CPU - O servidor de Enterprise Portal deverá possuir de 2 a 16 núcleos dependendo do numero de usuários e complexidade das transações. Normalmente 01 núcleo para cada 120 usuários deve ser adicionado.

Memoria - 02GB RAM devem ser alocados para cada núcleo de processador.

Terminal Server Sizing Guidelines
Ao criar o sizing para este serviço é necessário, logicamente, considerar a quantidade de usuários que vão utilizar este serviço para determinar a configuração do servidor. Este servidor possivelmente terá aplicativos como o Microsoft Office e outros e por esta razão a configuração do servidor sofrerá alterações.

CPU - Um minimo de 02 núcleos devem ser alocados para servidores de RDS.

Memoria - Um minimo de 04GB RAM devem ser alocados para este servidor. Deverão ser alocados 200MB para cada usuário a que vai acessar este servidor.

Rede - Caso a latência da rede local seja maior do que 50ms ou seja necessário efetuar o acesso ao AX de fora da rede é indicada a utilização do RDS.

Benchmarks
Para ajudar a construir sizing ideal é indicado a utilização dos documentos de benchmark gerados pela Microsoft. Estes documentos podem ser adquiridos através deste link. A leitura destes documentos é importante!

Espero que este post gere uma discussão saudável e que o final dela seja a melhor pratica para a geração do sizing para o Microsoft Dynamics AX.

Este post foi baseado em diversas documentações da Microsoft, ao encontrar falhas no post como erros de português ou mesmo informações incorretas ficarei grato se me corrigirem! Erros acontecem!

Este post será constantemente atualizado visando melhorar o conteúdo e também meu entendimento sobre os assuntos aqui escritos.

"Este post foi criado baseado em diversas documentações da Microsoft, mas apesar disso este post reflete apenas a minha opinião de forma que a empresa Microsoft nada tem a ver com o que escrevi aqui."

quarta-feira, 30 de janeiro de 2013

Instalação Dynamics AX2012 R2. Parte 6 - Help Server.

Neste post vou demonstrar como instalar o Help Server. Sem este componente os usuários, consultores e desenvolvedores do AX2012 R2 não terão acesso ao menu de ajuda do AX. Se é que algum deles usa isso!!!

Um ponto importante a ser ressaltado é que o conteúdo de ajuda do AX2012 R2 ainda não está completamente traduzido para o idioma PT-BR, desta forma sugiro que o administrator do AX2012 R2 configure as opções do usuário de forma que estes utilizem o menu de ajuda ainda em EN-US ou outro idioma de preferência que não seja o PT-BR. Mostrarei como fazer esta alteração!

Update: Na semana passada encontrei um KB referente ao conteúdo do Help Server para o nosso idioma, consegui tempo para aplica-lo neste fim de semana, após aplica-lo e reiniciar o serviço do AX todo o conteúdo do Help Server do AX2012 R2 foi corretamente traduzido para o idioma PT-BR. Para efetuar donwload do KB utilize o link abaixo. Login no Partner Source é necessário.

KB2585394

Vamos agora executar o setup do AX2012 R2. Lembrando que estamos utilizando a mesma VM, já com Sharepoint e EP instalados.

Clique em "Install Microsoft Dynamics AX componentes".

Clique em Next.

Selecione "Add or modify components".

Seleciona a opção Help Server e clique em Next.

Feita a validação de requisitos foram exibidos erros que impedem a instalação do Help Server. Vamos corrigir estes erros.

Note que existe uma coluna de nome "Configure", marque a caixa de seleção e clique no botão "Configure" depois na tela que será exibida clique em Start.

Este erro se deve ao fato de a feature Windows Search Server do Windows não estar ativada e seu serviço não estar configurado para ser iniciado automaticamente. O wizard do AX2012 R2 vai instalar esta feature e configurar o serviço para ser iniciado automaticamente. Após o fim da configuração clique em close e uma nova validação será feita.

Clique em Next agora que tudo está ok.

Neste servidor não vou alterar as configurações padrões. clique em Next.

O usuário digitado nesta tela será utilizado pelo application pool que será criado no IIS e utilizado pelo site do Help Server que também será criado no IIS. Em ambientes de produção esta deverá ser uma conta dedicada de serviço, ao clicar em next será exibido um warning dizendo exatamente isso. Após digitar usuário e senha clique em Next.

Selecione os idiomas de ajuda a serem instalados, por padrão o idioma EN-US já está selecionado, escolha agora o idioma Portuguese (Brasil) mesmo que este ainda não esteja totalmente traduzido.

Temos um erro na validação, este erro indica que o site do IIS escolhido não está iniciado.

Acesse o Internet Information Services (IIS) Manager, expanda a arvore do lado esquerdo e clique 01 vez no Default web site, note que este esta utilizando a porta 80, precisamos altera-la para que não haja conflitos com o site Sharepoint - 80 do Enterprise Portal que utiliza esta mesma porta.

Clique em "bindings" do lado direito da tela, depois selecione a primeira linha e clique no botão "Edit" e altere a porta para 81 por exemplo. Clique em OK para fechar as janelas e depois clique em Start para iniciar o Defalt Web Site.

Após iniciar o Default Web Site clique no botão "Revalidate" na tela de setup do AX2012 R2, clique em Next caso tudo esteja ok.

Clique em Install.

Note que durante o setup ele busca atualizações, possivelmente quando tivermos o conteúdo de ajuda completamente traduzido o setup trará este conteúdo automaticamente.

Instalação realizada com sucesso!

Para testar vamos abrir o AX2012 R2 2 pressionar o botão F1. Note a mensagem exibida dizendo que talvez o conteúdo não possa ser exibido no idioma selecionado.

Vamos alterar o idioma de ajuda padrão. No cliente do AX clique em "Arquivo" no canto superior esquerdo da tela, e depois clique em ferramentas e por ultimo em opções.
 
Agora em "Idioma de ajuda alternativo" seleciona o idioma EN-US ou outro de sua preferência, feche o cliente do AX, abra-o novamente e pressione F1.
 
Agora temos a ajuda do AX completamente acessível, apesar de esta em Inglês. Nesta altura do campeonato, se ler em inglês é um problema pra você,...
 
 


No próximo post vamos instalar alguns outros componentes para o AX2012 R2 que serão necessários para a instalação dos componentes de BI!
 
Até a próxima!