apostila jboss as 7

Download Apostila Jboss as 7

Post on 26-Nov-2015

274 views

Category:

Documents

7 download

Embed Size (px)

TRANSCRIPT

  • Mauricio Magnani Jr

  • Introduo ao JBoss AS 7 Mauricio Magnani Jr

    2

    Introduo

    Atualmente a plataforma Java uma das mais utilizadas no mundo, muito disso se deve

    capacidade da plataforma de suportar outras linguagens como JRuby, Groovy e Scala por

    exemplo. Milhares de aplicativos para Web e Mobile so desenvolvidos a cada ms utilizando a

    plataforma como base. A plataforma Java mudou muito desde seu incio, e provavelmente vai

    continuar evoluindo nos prximos anos.

    Em paralelo com essas mudanas, visualizamos os servidores de aplicao que cada vez mais

    oferecem recursos de alta complexidade, como componentes de balanceamento de carga

    inteligente, implementao de autenticao (JAAS), troca de mensagens assncronas (JMS),

    controle de transao (JTA), persistncia de objetos (JPA), componentes para criao de

    aplicaes distribudas e clusterizadas (EJB), API Java para processamento de arquivos XML e

    Webservices (JAX-WS e JAX-B) e muitas outras tecnologias facilitando o desenvolvimento e

    padronizao de aplicaes. Eles tambm disponibilizam uma infraestrutura estvel e escalvel

    para aplicaes de misso crtica. Um dos grandes desafios dos servidores de aplicao

    acoplar servios de grande complexidade, deixando-os estveis e flexveis.

    Nas verses iniciais a plataforma ainda conhecida como Java2EE no estava madura e seus

    recursos nos servidores de aplicao eram carregados de forma hierrquica consumindo

    muitos recursos e tornando o statup altamente custoso.

    A arquitetura dos principais servidores de aplicao foi redesenhada para que seus recursos

    possam ser iniciados de modo concorrente ou sob demanda. As melhorias tambm podem ser

    notadas no consumo de memria, onde em uma simples mquina desktop, pode-se facilmente

    configurar servios de alta disponibilidade e escalveis para realizao de testes em tempo de

    desenvolvimento.

    Se voc deseja um ambiente com alta disponibilidade, escalonvel e que seja independente de

    fabricante (::vendor lock-in::) o Java EE e seus servidores de aplicao foram feitos para voc.

  • Introduo ao JBoss AS 7 Mauricio Magnani Jr

    3

    JBoss Application Server 7

    JBoss Application Server 7 ou apenas JBoss AS 7 um servidor de aplicao de cdigo aberto

    que 100% compatvel com a especificao Java EE 6. Em verses anteriores do Java EE

    mesmo utilizando somente algumas tecnologias para o desenvolvimento da aplicao, ramos

    obrigados a lidar como todos os recursos implementados no servidor. Para resolver esse

    problema no Java EE 6 foi inserido o conceito de profile que tem como objetivo criar

    configuraes com responsabilidades especificas como, por exemplo, o Web Profile que possui

    tecnologias para o desenvolvimento web .

    At o momento a verso atual do JBoss AS foi baixada mais de 150 mil vezes. Para mais

    informaes visite o site do projeto http://www.jboss.org/jbossas.

    Recentemente o projeto recebeu um novo nome e futuramente se chamar WildFly. Mais

    informaes podem ser encontradas em: http://www.wildfly.org/faq/

    Requisitos

    Como todo servidor de aplicao o JBoss AS 7 requer um ambiente com JDK 1.6/JDK 1.7

    devidamente configurado e instalado. O Java Development Kit (JDK) um conjunto de

    utilitrios para criao de softwares para plataforma Java. Existem vrias implementaes cada

    qual com a sua finalidade.

    Para baixar o JDK 7 navegue at a pgina de download da Oracle em

    http://www.oracle.com/technetwork/java/javase/downloads/index.html e escolha a opo

    Java Platform (JDK). Em seguida voc ser direcionado para outra pgina onde dever aceitar a

    License Agreement. Baixe a verso jdk-7u21-linux-x64.rpm.

    Para instalar o JDK execute o seguinte comando:

    $ sudo rpm -Uvh jdk-7u21-linux-x64.rpm

    Execute o comando java --version para verificar se o JDK est instalado:

    $ java --version

    java version "1.7.0_21"

    Java(TM) SE Runtime Environment (build 1.7.0_21-b11)

    Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

  • Introduo ao JBoss AS 7 Mauricio Magnani Jr

    4

    Duvidas na instalao? Consulte o link:

    http://docs.oracle.com/javase/7/docs/webnotes/install/index.html

    Instalando o JBoss AS 7

    O JBoss AS 7 pode ser baixado gratuitamente no site da comunidade:

    http://www.jboss.org/jbossas/downloads/ Para instalar basta descompactar o arquivo jboss-

    as-7.1.1.Final.zip utilizando um utilitrio de descompresso.

    Boas Prticas

    Em hiptese alguma inicie o JBoss utilizando o usurio root, pois a plataforma Java oferece

    APIs para execuo de cdigos nativos do sistema operacional e mecanismos de

    gerenciamento remoto. No Linux crie um usurio com privilgios de root para iniciar o servio

    do JBoss. J no Windows crie um usurio com poderes administrativos, mas com privilgios

    reduzidos.

    Uma vez instalado fortemente aconselhvel iniciar o JBoss AS para verificar se existe alguma

    incompatibilidade com a arquitetura do JDK utilizado ou at mesmo se a memria

    disponibilizada suficiente.

    Execute uma simples instncia standalone e acesse a url http://localhost:8080 para verificar se

    o JBoss foi iniciado corretamente.

    $ ./jboss-as-7.1.1.Final/bin/standalone.sh

  • Introduo ao JBoss AS 7 Mauricio Magnani Jr

    5

    Configurando JBoss AS 7 como Servio

    Inicialmente edite o arquivo vim /usr/local/jboss/jboss-as-7.1.1.Final/bin/standalone.conf e

    adicione a propriedade -Djboss.bind.address=0.0.0.0 para que o JBoss fique acessvel

    externamente:

    #sets interface to binding for applications to be accessed from

    outside

    JAVA_OPTS="$JAVA_OPTS -Djboss.bind.address=0.0.0.0"

    O JBoss AS 7 j vem com um exemplo de arquivo para colocar o JBoss como servio precisando

    apenas fazer pequenas alteraes.

    Copie o arquivo jboss-as-standalone.sh para /etc/init.d/ :

    $ sudo cp /usr/local/jboss/jboss-as-7.1.1.Final/bin/init.d/jboss-as-

    standalone.sh /etc/init.d/

    Adicione tambm o diretrio /etc/jboss-as/ que conter o arquivo jboss-as.conf:

    $ sudo mkdir -p /etc/jboss-as

    Agora copie o arquivo de configurao:

    $ sudo cp /usr/local/jboss/jboss-as-7.1.1.Final/bin/init.d/jboss-

    as.conf /etc/jboss-as

    O arquivo de configurao jboss-as.conf deve ser configurado como abaixo:

    JBOSS_USER=jboss

    JBOSS_CONSOLE_LOG=/var/log/jboss-as/console.log

    Para finalizar edite o arquivo /etc/init.d/jboss-as-standalone.sh e altere a propriedade

    JBOSS_HOME deixando exatamente como abaixo:

    JBOSS_HOME=/usr/local/jboss/jboss-as-7.1.1.Final

    Se for necessrio utilizar um perfil personalizado na propriedade

    LAUNCH_JBOSS_IN_BACKGROUND devemos passar o parmetro

    -Djboss.server.base.dir=$JBOSS_HOME/nomeperfil:

    if [ ! -z "$JBOSS_USER" ]; then

    if [ -x /etc/rc.d/init.d/functions ]; then

    daemon --user $JBOSS_USER LAUNCH_JBOSS_IN_BACKGROUND=1

    JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT -c $JBOSS_CONFIG -

    Djboss.server.base.dir=$JBOSS_HOME/nomeperfil 2>&1 >

    $JBOSS_CONSOLE_LOG &

    else

    su - $JBOSS_USER -c "LAUNCH_JBOSS_IN_BACKGROUND=1

    JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT -c $JBOSS_CONFIG -

    Djboss.server.base.dir=$JBOSS_HOME/nomeperfil" 2>&1 >

    $JBOSS_CONSOLE_LOG &

    fi

    fi

    Salve o arquivo.

  • Introduo ao JBoss AS 7 Mauricio Magnani Jr

    6

    Para facilitar altere o nome do arquivo /etc/init.d/jboss-as-standalone.sh para

    /etc/init.d/jboss:

    $ sudo mv /etc/init.d/jboss-as-standalone.sh /etc/init.d/jboss

    D permisso para o script ser executado:

    $ sudo chmod a+x /etc/init.d/jboss

    Adicione o JBoss como servio:

    $ sudo chkconfig --add /etc/init.d/jboss

    $ sudo chkconfig --level 3 /etc/init.d/jboss

    Para iniciar o JBoss execute:

    $ sudo service jboss start

    Starting jboss-as: [ OK ]

    Criando um Novo Perfil

    Em verses anteriores bastava apenas copiar um dos perfis disponveis como all, default ou

    web. No JBoss AS 7 o diretrio JBOSS_HOME/standalone ou JBOSS_HOME/domain deve ser

    duplicado para a criao de um novo perfil, Por exemplo:

    $ sudo cp -Rap JBOSS_HOME/standalone JBOSS_HOME/meuperfil

    Para iniciar o perfil criado execute:

    $ sudo ./standalone.sh -c standalone-full.xml -

    Djboss.server.base.dir=../meuperfil -Djboss.socket.binding.port-

    offset=150

    necessrio definir jboss.server.base.dir com o caminho completo ou como no exemplo acima

    se voc estiver no diretrio JBOSS_HOME/bin.

    O parmetro jboss.socket.binding.port-offset similar ao jboss.service.binding.set com a

    diferena de que no parmetro antigo voc passava os intervalos de portas pr-definidos

    como por exemplo ports-01 e j no novo modelo voc pode passar intervalos de sua

    preferncia como 100, 150, 200, etc.

    Deploy no JBoss AS 7

    Em verses anteriores o arquivo da aplicao WAR/EAR era implantado no diretrio

    ${JBOSS_HOME}/server//deploy e quando era necessrio realizar um BKP, bastava

    apenas copi-lo para outro lugar.