JBCAA

JBoss Certified Application Administrator (JBoss EAP 6 / JBoss AS 7) – Parte 2

Postado em Atualizado em

Olá amigos,

Continuando o post anterior hoje vamos aprender os seguintes tópicos cobrados na JBCAA do JBoss EAP 6:

  • Instalar o JBoss EAP em um local específico do sistema.
  • Instalar outras bibliotecas nativas específicas do sistema operacional para aprimorar o desempenho do JBoss EAP

Como eu nao sou profeta e também não conheço todos os recursos do JBoss EAP 6 vou abordar o que acho, repito acho que vai ser cobrado portanto cada um siga o que achar melhor 🙂

Instalar o JBoss EAP em um local específico do sistema

Esse tópico é bem simples. É provável que seja disponibilizado alguns pacotes .zip (Link para baixar esses pacotes) como por exemplo:

  • jboss-eap-6.0.0.zip
  • jboss-eap-native-6.0.0-RHEL6-x86_64.zip
  • jboss-eap-native-utils-6.0.0-RHEL6-x86_64.zip
  • jboss-eap-native-webserver-connectors-6.0.0-RHEL6-x86_64.zip

Conhecimento de Linux não é requerido mas é muito importante pois a prova é realizada em um RHEL 6. Como nao tenho subscription do RHEL, estou utilizando o CentOS 6 que é bem parecido mudando apenas o suporte e os repositórios.

Então vamos lá.

Supondo que os pacotes estejam na home do usuário exam e tenhamos que instalar o JBoss em /opt teríamos que simplesmente copiar o arquivo jboss-eap-6.0.0.zip e descompactá-lo em /opt:

 cp /home/exam/jboss-eap-6.0.0.zip /opt
 cd /opt
 unzip jboss-eap-6.0.0.zip

Inicie o JBoss só para ver se está funcionando e se o arquivo nao está corrompido.

Instalar outras bibliotecas nativas específicas do sistema operacional para aprimorar o desempenho do JBoss EAP

Nesse tópico provavelmente estão se referindo a Native Components (jboss-eap-native-6.0.0-RHEL6-x86_64.zip). São bibliotecas que foram compiladas e foram optimizadas para uma plataforma específica. Então o primeiro passo é descompactar o arquivo jboss-eap-native-6.0.0-RHEL6-x86_64.zip:

 unzip jboss-eap-native-6.0.0-RHEL6-x86_64.zip

Em seguida copie os natives components para o JBoss EAP 6. Execute os seguintes comandos:

 cp -r jboss-eap-6.0/modules/org/jboss/as/web/main/ /opt/jboss-eap-6.0/modules/org/jboss/as/web/main/
 cp -r jboss-eap-6.0/modules/org/hornetq/main/ /opt/jboss-eap-6.0/modules/org/hornetq/main/

O próximo passo é editar o arquivo /opt/jboss-eap-6.0/modules/org/jboss/as/web/main/module.xml e adicionar os natives components <resource-root path=”lib/linux-x86_64″/>, Veja:

...
<resources>
  <resource-root path="jboss-as-web-7.1.2.Final-redhat-1.jar"/>
  <resource-root path="jasper-jdt-7.0.16.Final-redhat-1.jar"/>
  <resource-root path="jbossweb-7.0.16.Final-redhat-1.jar"/>
  <!-- Nós Inserimos aqui a dependencia -->
  <resource-root path="lib/linux-x86_64"/>
</resources>
...

Agora vamos adicionar os natives components para o HornetQ. Edite o arquivo  /opt/jboss-eap-6.0/modules/org/hornetq/main/module.xml e adicione os natives components <resource-root path=”lib/linux-x86_64″/>, Veja:

...
<resources>
  <resource-root path="lib"/>
  <resource-root path="hornetq-core-2.2.16.Final-redhat-1.jar"/>
  <resource-root path="hornetq-jms-2.2.16.Final-redhat-1.jar"/>
  <!-- Insert resources here -->
  <resource-root path="lib/linux-x86_64"/>
</resources>
...

Para verificar se tudo está funcionando corretamente  edite o arquivo standalone.xml ou domain.xml e configure o root
logger level para DEBUG:

...
<root-logger>
 <level name="DEBUG"/>
   <handlers>
     <handler name="CONSOLE"/>
     <handler name="FILE"/>
   </handlers>
</root-logger>
...

Eu vou ser sincero fiquei horas e horas tentando fazer esse negócio funcionar. Não existe documentação para os  procedimentos desse post então aproveitem 🙂

A grande sacada é colocar o subsystem Web como native=”true”:

<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="true">
  <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
  <virtual-server name="default-host" enable-welcome-root="true">
    <alias name="localhost"/>
    <alias name="example.com"/>
  </virtual-server>
</subsystem>

Finalmente inicie o JBoss. Você deverá ver algo parecido com os logs abaixo:

11:00:26,018 DEBUG [org.apache.catalina.core.AprLifecycleListener] (MSC service thread 1-3) Loaded: apr-1
11:00:26,039 DEBUG [org.jboss.modules] (ServerService Thread Pool -- 58) Module org.jboss.xb:main defined by local module loader @d8d9850 (roots: /home/mmagnani/Development/jboss-eap/jboss-eap-6.0/modules)
11:00:26,070 DEBUG [org.apache.catalina.core.AprLifecycleListener] (MSC service thread 1-3) Loaded: z
11:00:26,071 DEBUG [org.apache.catalina.core.AprLifecycleListener] (MSC service thread 1-3) Loaded: crypto
11:00:26,072 DEBUG [org.apache.catalina.core.AprLifecycleListener] (MSC service thread 1-3) Loaded: ssl
11:00:26,079 DEBUG [org.jboss.as.ejb3] (ServerService Thread Pool -- 36) Adding EJB @Asynchronous support
11:00:26,082 DEBUG [org.jboss.as.ejb3] (ServerService Thread Pool -- 36) Configuring timers
11:00:26,092 DEBUG [org.jboss.as.ejb3] (ServerService Thread Pool -- 36) Adding EJB IIOP support
11:00:26,101 FINE  [org.hornetq.core.server.impl.HornetQServerImpl] (MSC service thread 1-6) Starting server HornetQServerImpl::
11:00:26,120 DEBUG [org.apache.catalina.core.AprLifecycleListener] (MSC service thread 1-3) Loaded: tcnative-1
11:00:26,141 DEBUG [org.apache.catalina.core.AprLifecycleListener] (MSC service thread 1-3) Loaded Apache Tomcat Native library 1.1.23.
11:00:26,141 DEBUG [org.apache.catalina.core.AprLifecycleListener] (MSC service thread 1-3) APR capabilities: IPv6 [true], sendfile [true], random [true].

Espero que tenham gostado.

Me digam o que acham!! Se está sendo útil ou não 🙂

Por que se não gostarem eu concentro meus esforços em outros posts.

Abraços

Material de Estudo para a JBCAA no JBoss EAP 5

Postado em Atualizado em

Olá amigos,

Estou deixando aqui alguns artigos e posts que utilizei para passar na JBCAA no JBoss EAP 5. Já está separado pelos tópicos da prova.

https://www.dropbox.com/s/ljrbo6mdxcjhfma/JBCAA.rar

https://www.redhat.com/wapps/training/certification/verify.html?certNumber=120-026-836

Espero que ajude.

Abraços

JBoss Certified Application Administrator (JBoss EAP 6 / JBoss AS 7) – Parte 1

Postado em Atualizado em

Olá amigos.

Hoje vamos começar uma série de posts para nos ajudar a tirar a certificação JBCAA do JBoss EAP 6. Quem acompanha o blog já deve ter visto alguns posts relacionados a isso. No inicio do ano eu conseguir tirar a certificação do JBoss EAP 5. No mês passado a Red Hat disponibilizou em seu site a nova versão da JBCAA (EX248).  Então é isso eu quero tirar essa certificação para me atualizar. Espero que esses posts ajudem vocês a estudarem também. Então vamos lá. O texto abaixo foi  está disponivel no site da Red Hat.

Visão geral

  • Este guia fornece informações que os candidatos podem usar na preparação para realizar o exame JBoss® Certified Application Administrator (JBCAA) sobre aplicativos e administração da JBoss Enterprise Application Platform® 6 (JBoss EAP) em ambientes empresariais e de produção. A Red Hat não se responsabiliza pelo conteúdo ou pela precisão de outros guias, livros, recursos on-line ou qualquer outra informação fornecida por organizações ou indivíduos que façam parte do Treinamento e Certificação da Red Hat. A Red Hat se reserva o direito de alterar este guia conforme apropriado. Recomendamos que os candidatos que se inscreveram nas próximas classes ou exames verifiquem este guia periodicamente para verificar se ocorreram alterações.
  • Empregadores potenciais de um candidato que possua a certificação JBCAA devem verificar todas as reivindicações de pessoas que afirmam possuir essa credencial, solicitando o número do certificado e consultando-o na ferramenta de verificação de certificação da Red Hat.

Exames com base no desempenho

  • O exame JBCAA é uma avaliação baseada no desempenho dos conhecimentos do candidato com relação à administração dos aplicativos empresariais que usam JBoss EAP. Os candidatos executam diversas tarefas rotineiras de administração no sistema e são avaliados para verificar se eles atendem a critérios objetivos específicos. O teste com base no desempenho significa que os candidatos devem realizar tarefas semelhantes às que eles devem realizar no trabalho.

Formato do exame JBCAA

  • O exame JBCAA é interativo e prático, com duração de 4 horas. Não é permitido acessar a Internet durante o exame. Não é permitida a entrada de quaisquer documentos impressos ou eletrônicos. A proibição também veta anotações, livros e outros tipos de material. O acesso à Internet também será controlado rigorosamente. A documentação enviada com o JBoss EAP fica disponível durante o exame. Lembre-se disso ao estudar.
  • A Red Hat se reserva o direito de fazer alterações no formato do exame, inclusive no tempo e nas políticas acima. Tais alterações serão divulgadas antecipadamente através de revisões deste documento.

Preparação para o exame JBCAA

  • A abordagem com base no desempenho da Red Hat significa que a experiência é a melhor forma de se preparar para o exame. No entanto, até mesmo as pessoas mais experientes podem apresentar falhas de conhecimento, então a Red Hat recomenda que todos os candidatos do JBCAA passem pelo curso JB248 JBoss for Administrators I. Este curso oferece uma boa introdução ao tópico, podendo ser um complemento eficaz à experiência, além de um material auxiliar de grande valor na preparação para o exame. A participação nessa aula não é obrigatória, de forma que o candidato pode optar por fazer apenas o exame.
  • Embora a participação nas aulas da Red Hat possa ser uma parte importante da preparação de uma pessoa, ela não garante a aprovação no exame. Experiência prática anterior também é um fator importante que determina o sucesso.

Ambiente do exame JBCAA

  • Você irá trabalhar em um sistema Red Hat Enterprise Linux® 6 durante o exame, portanto, será útil ter experiência anterior com Linux ou UNIX. O objetivo desse exame não é testar as habilidades com administração do sistema operacional, portanto não é necessário possui ampla experiência com Linux/UNIX. Você terá um ambiente de desktop completo no qual trabalhar e nós forneceremos uma lista de comandos básicos para consulta além de páginas principais e outros documentos fornecidos com o Red Hat Enterprise Linux.
  • O Fedora é uma alternativa de ampla disponibilidade para você praticar sua habilidade com o Linux. Está disponível uma versão Live CD com a qual você pode trabalhar no Fedora sem precisar instalá-lo no seu computador. Embora ele não seja exatamente igual ao ambiente do Red Hat Enterprise Linux, é parecido o suficiente para o nível de familiaridade necessário.

Objetivos do exame

  • A Red Hat se reserva o direito de incluir, modificar e remover objetivos. Tais alterações serão divulgadas com antecedência por meio de revisões deste documento.
  • Ao usar o JBoss EAP, os candidatos ao exame JBCAA devem ser capazes de realizar as tarefas abaixo sem assistência. As tarefas foram agrupadas em categorias para ajudá-lo a se preparar.

Instalar e gerenciar o JBoss EAP

  • Instalar o JBoss EAP em um local específico do sistema.
  • Instalar outras bibliotecas nativas específicas do sistema operacional para aprimorar o desempenho do JBoss EAP
  • Configurar os requisitos mínimos de segurança para acessar e gerenciar o JBoss EAP
  • Acessar e gerenciar o JBoss EAP usando as ferramentas fornecidas
  • Configurar e iniciar um domínio multinó e multiservidor do JBoss EAP, com distribuição em pelo menos dois hosts com múltiplos servidores por host

Configurar domínios, hosts e servidores do JBoss EAP

  • Criar e remover domínios, hosts e servidores do JBoss EAP
  • Iniciar, monitorar e parar domínios, hosts e servidores individuais do JBoss EAP
  • Configurar a utilização da memória de Java no nível de hosts, servidores e grupos de servidores

Configurar o JBoss EAP para aceitar operações de cluster e HA

  • Configurar conexões de rede persistentes para serviços JBoss EAP (em endereços e portas)
  • Configurar clustering HA usando redes TCP unicast ou UDP multicast
  • Proteger os canais de comunicação entre os nós do cluster
  • Configurar um equilíbrio de carga com base em Apache para controlar falhas de sessões HTTP em um ambiente HA

Monitorar e gerenciar o JBoss EAP

  • Criar e restaurar as imagens de configuração
  • Configurar o registro em log do JBoss EAP
  • Configurar e proteger a interface do JMX do JBoss EAP para monitoramento externo

Configurar o JMS no JBoss EAP

  • Criar e configurar tópicos e filas no JMS
  • Proteger o acesso a destinos do JMS

Gerenciar aplicativos no JBoss EAP

  • Selecionar os perfis de servidor apropriados do JBoss EAP com base nos requisitos de aplicativos
  • Configurar DataSources (compatíveis ou não com XA)
  • Implantar e remover aplicativos
  • Implantar e remover bibliotecas e drivers adicionais
  • Implantar um aplicativo web no contexto da raiz

Configurar conectores de web no JBoss

  • Ajustar e configurar as propriedades do conector da web do JBoss EAP, conforme solicitado
  • Configurar a integração do Apache com o JBoss EAP
  • Configurar uma conexão criptografada de SSL

Configurar a segurança do JBoss EAP

  • Criar, modificar e usar domínios de segurança
  • Conectar o JBoss EAP a fontes de segurança externas especificadas, como LDAP e DBMS
  • Proteger o acesso aos serviços do JBoss EAP

Fonte: http://br.redhat.com/training/courses/ex248/examobjective

 

A idéia dessa série é abordar cada um dos objetivos acima. Vamos utilizar o JBoss EAP 6 no CentOS 6.2 pois acredito que seja o mais próximo da prova.

Amanha já vou escrever a parte 2, vamos baixar o JBoss EAP 6 e realizar uma instalação básica.

Até.

Abraços

JBoss Certified Application Administrator – JBCAA

Postado em

No utimo dia 23/02, realizei a prova de certificação JBCAA – JBoss Certified Application Administrator, e consegui ser aprovado. A prova possui 4 horas de duração, posso dizer que é tempo suficiente para realizar todas as tarefas propostas. Não é necessário ter realizado o treinamento JB336  e a prova é totalmente prática, baseando-se na performance de cada candidato. A Red Hat disponibiliza no site da certificação, o JBCAA Study Guide onde todo o conteúdo cobrado na prova é citado, além da possuir links para fontes adicionais de estudo. A prova é realizada na própria RedHat e ao final se aprovado é disponibilizado em seu site, a possibilidade de verificação do certificado obtido. No meu caso: https://www.redhat.com/wapps/training/certification/verify.html?certNumber=120-026-836 .

Boa Sorte a todos, uma pena que não terminei meus tópicos sobre a JBCAA aqui no blog, mas fica uma dica: Estudem o JBCAA Study Guide.

Abraços e Boa Sorte a Todos

JBoss Certified Application Administrator (JBCAA) – Parte 2

Postado em Atualizado em

Continuando os meus estudos para JBCAA, hoje vamos abordar mais um tópico.

3 – Configuração dos conectores do JBoss Web (incluindo HTTPS)  ( Configure JBoss Web Connectors (including HTTPS) )

No Study Guide, podemos verificar as seguintes informações para esse tópico:

● JB336 JBoss for Administrators course
● JBoss EAP Administration and Configuration Guide3
● JBoss Web Documentation4
http://community.jboss.org/wiki/SecureTheJmxConsole
http://community.jboss.org/wiki/SSLSetup
● Creating an SSL Keystore Using the Java Keytool5
http://java.sun.com/javase/6/docs/technotes/tools/index.html#security (look for keytool)
● Example configurations included with JBoss EAP

Vamos iniciar abordando a segurança no Jmx-Console, que já é bem conhecida pelos administradores mais experientes.

O primeiro passo é visualizar o web.xml, da app jmx-console.war, e verificar se o atributo  <security-constraint> não está comentado, e com as devidas configurações, abaixo temos uma exemplo em que tudo está correto:

Localização do arquivo:  JBOSS_HOME/server/instance01/deploy/jmx-console.war/WEB-INF/web.xml

<security-constraint>
 <web-resource-collection>
   <web-resource-name>HtmlAdaptor</web-resource-name>
   <description>An example security config that only allows users with the role JBossAdmin to access the HTML JMX console web application
   </description>
   <url-pattern>/*</url-pattern>
 </web-resource-collection>
 <auth-constraint>
    <role-name>JBossAdmin</role-name>
 </auth-constraint>
 <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
 </user-data-constraint>
</security-constraint>

<login-config>
  <auth-method>BASIC</auth-method>
  <realm-name>JBoss JMX Console</realm-name>
</login-config>

<security-role>
  <role-name>JBossAdmin</role-name>
</security-role>

Agora devemos verificar o arquivo jboss-web.xml, o <security-domain>, deve estar sem o  comentário, como abaixo:

Localização do arquivo: JBOSS_HOME/server/instance01/deploy/jmx-console.war/WEB-INF/jboss-web.xml

<!DOCTYPE jboss-web PUBLIC
"-//JBoss//DTD Web Application 5.0//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">

<jboss-web>
<!-- Uncomment the security-domain to enable security. You will need to edit the htmladaptor login configuration to setup the login modules used to authentication users. -->
   <security-domain>java:/jaas/jmx-console</security-domain>
</jboss-web>

Obs: Segundo a security note – CVE-2010-0738, devemos remover do JBOSS_HOME/server/instance01/deploy/jmx-console.war/WEB-INF/web.xml  os métodos HTTP:

  <http-method>GET</http-method>
  <http-method>POST</http-method>

Deve-se ainda adicionar ao JBOSS_HOME/server/instance01/deploy/jmx-console.war/WEB-INF/web.xml , o atributo CONFIDENTIAL que garante o uso de HTTPS, que vamos ativar posteriormente.

<user-data-constraint>
   <transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>

Para finalizar, verificamos se os arquivos aonde estão armazenados os roles e users estão corretos.

Localização do Arquivo: JBOSS_HOME/server/instance01/conf/props/jmx-console-roles.properties

  # A sample roles.properties file for use with the UsersRolesLoginModule
  admin=JBossAdmin,HttpInvoker

Localização do Arquivo: JBOSS_HOME/server/instance01/conf/props/jmx-console-users.properties

  # A sample users.properties file for use with the UsersRolesLoginModule
  admin=admin

Application Policy do Jmx-Console:

 <application-policy name="jmx-console">
   <authentication>
     <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required">
       <module-option name="usersProperties">props/jmx-console-users.properties</module-option>
       <module-option name="rolesProperties">props/jmx-console-roles.properties</module-option>
     </login-module>
   </authentication>
</application-policy>

Como já disse anteriormente, eu nunca fiz a prova e realmente não sei o que vai ser cobrado,  então  a aprenderem o máximo que puderem sobre os assuntos mencionados no study guide. Como recomendação para essa parte eu aconselho que os precedimentos acima sejam repetidos para o web-console e jbossws, qualquer dificuldade nessas tarefas deixem comentários.

Vamos gerar o nosso certificado ( keystore ), e habilitar o connetor HTTPS. Para obter o certificado execute o comando abaixo:

   keytool -genkey -alias example -keystore example.keystore -keypass 123456 -keyalg RSA

Por convenção geralmente o .keystore, fica armazenado no diretório JBOSS_HOME/server/instance01/conf/ .

Para visualizar informações do certificado execute:

  keytool -v -list -keystore example.keystore
Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: example
Creation date: Jan 29, 2012
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Mauricio Magnani, OU=Home, O=Home, L=SP, ST=SP, C=BR
Issuer: CN=Mauricio Magnani, OU=Home, O=Home, L=SP, ST=SP, C=BR
Serial number: 4f25c7bf
Valid from: Sun Jan 29 20:27:11 BRST 2012 until: Sat Apr 28 19:27:11 BRT 2012
Certificate fingerprints:
MD5:  70:2F:D1:5E:23:E2:1A:3C:DF:E4:76:1D:82:28:AE:0A
SHA1: 03:EF:60:BF:2D:33:D1:29:6A:67:44:07:28:4B:09:E5:6F:56:70:D2
Signature algorithm name: SHA1withRSA
Version: 3

*******************************************
*******************************************

Finalmente vamos ativer o connector HTTPS, isso é bem simples, no arquivo JBOSS_HOME/server/instance01/deploy/jbossweb.sar/server.xml, descomente e altere o bloco abaixo:

<!-- SSL/TLS Connector configuration using the admin devl guide keystore-->
<Connector protocol="HTTP/1.1" SSLEnabled="true" port="8443" address="${jboss.bind.address}"
scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.server.home.dir}/conf/example.keystore"
keystorePass="123456" sslProtocol = "TLS" />

Agora acesse a url https://localhost:8443/ , e verifique se tudo está funcionando.

Não percam a próxima parte 🙂

abraços!

JBoss Certified Application Administrator (JBCAA) – Parte 1

Postado em Atualizado em

Hoje vamos iniciar alguns posts, que de certa forma irão me ajudar a me preparar para  a JBCAA.  No seguinte link http://a.ladoservidor.com/servicos/treinamentos/jbas-1/jbcaa.html , podemos encontrar uma ótima introdução sobre o que é a JBCAA e seus objetivos.
Como eu nunca fiz a prova, e realmente não sei o que pode ser cobrado lá, mas vou tentar abordar o máximo de possibilidades conforme o meu conhecimento. Os posts   basicamente  mostrarão os arquivos e parâmetros utilizados. Lembrando que eu não me responsabilizo se cair ou não o conteúdo aqui mencionado ( realmente nunca fiz  a prova, e quem já fez não poder falar sobre a mesma ), vamos abordar 2 tópicos por partes aqui no blog.

Obs: https://jbossdivers.wordpress.com/2011/09/02/gerando-binarios-do-jboss-eap-5-1-a-partir-do-source/

1 – Instalação e execução de uma instância básica de JBoss EAP ( Install and run a basic JBoss EAP instance )

cp -Rap all node1
./run.sh -c node1

2 – Configuração de múltiplas instâncias de JBoss EAP ( Configure multiple JBoss EAP instances )

./run.sh -c node1 -Djboss.server.binding.set=ports-default -Djboss.messaging.ServerPeerID=1
./run.sh -c node2 -Djboss.service.binding.set=ports-01 -Djboss.messaging.ServerPeerID=2

Por Hoje é só 🙂

Abraços!