?
O que é JBoss
15 Respostas
JBoss e um servidor de aplicação J2EE (agora JEE) open-source
:arrow: Introdução ao JBoss
JBoss é um servidor de aplicação J2EE, ou seja, ele já possui métodos implementados para facilitar a criação do seu sistema.
Administração do JBoss 4 - Introdução ao JBoss
Argo Navis/ Paulo Jerônimo
19/Jul/2005
JBoss???
JBoss (pronuncia Djei Boss) é um servidor de aplicação de código fonte aberto baseado na plataforma J2EE implementada completamente na linguagem de programação Java. Como é baseada em Java, JBoss pode ser usado em qualquer Sistema Operacional que suporte Java. Os desenvolvedores responsáveis estão agora empregados por uma empresa de serviços chamada “JBoss Inc.” fundada por Marc Fleury, o criador da primeira versão do JBoss. O projeto é custeado por uma rede mundial de colaboradores. Em Abril de 2006 foi anunciada sua aquisição pela Red Hat.
* JBoss Inc: “Professional Open Source™”:[/list]
o Tecnologia estável p/ middleware baseada em padrões
o Produtos open source: sem custos de licença
o Suportado por um time de especialistas
o Serviços: suporte profissional, treinamento, consultoria
o Grande comunidade de desenvolvedores ativos
o Diversos parceiros espalhados pelo mundo
JBoss Enterprise Middleware System (JEMS)
* Suite de produtos p/ criação e implantação de aplicações:
o JBoss Application Server (JBoss AS)
o Hibernate
o JBoss Portal
o JBoss Eclispe IDE
o Apache Tomcat
* JBoss AS: Principal produto JBoss Inc
o Servidor de aplicações compatível com a especificação 1.4 do J2EE
o 1999: Primeiro release
o Hoje:
+ Versão developer: JBoss 4.0.3RC1
+ Versão production: JBoss 4.0.2
JBoss AS 4
* Servidor de aplicações production-ready
* É o mais utilizado no mercado
* Código fonte e binários disponíveis a partir de http://sourceforge.net/projects/jboss
* Certificado oficialmente e compatível com a especificação 1.4 do J2EE
* Primeiro produto certificado para esta versão do J2EE
* Construído sobre o JBoss AS 3.2, ampliando a compatibilidade com padrões e a performance
JBoss AS 4 (2)
* Suporte p/ J2EE Web Services e Service Oriented Architecture (SOA)
* Suporte a Aspect-Oriented Programming (AOP): amplia a produtividade do desenvolvedor
* Altamente integrado ao Hibernate (framework p/ persistência de objetos)
* Suporte a clustering e distributed caching
A certificação J2EE
* Garante que o JBoss está conforme com a especificação J2EE
* Permite que os desenvolvedores possam reutilizar seus componentes migrando-os de um servidor de aplicações p/ outro
* Possibilita que o JBoss aceite componentes vindos de outro servidor de aplicações compatível com a especificação
* Comparado com a versão JBoss AS 3.2, a versão 4.0 do JBoss AS implementa as seguintes especificações J2EE p/ se tornar compatível com a versão 1.4 do J2EE:
o J2EE Web Services incluindo JAX-RPC (Java API for XML for Remote Procedure Call)
o JMS 1.1 (Java Messaging Service) ao invés de JMS 1.0
o JCA 1.5 (Java Connector Architecture)
o JAAC (Java Authorization Contract for Containers)
o EJB 2.1 (Enteprise JavaBeans) ao invés de EJB 2.0
+ Altera o contrato de message-driven beans p/ suporte a novos tipos JMS
+ Stateless session beans como web service endpoints
+ EJB timer service
Instalando o JBoss AS
* Requisitos:
o JDK 1.4 ou 1.5 instalado no S.O. Para averiguar:
+ Execute o comando java -version
* Procedimentos de instalação:
o Siga os procedimentos apresentados na montagem do ambiente
* Considerações:
o Evite utilizar nomes de diretórios com espaços quando usar VMs da Sun
o Para executar, não é preciso ser root. Não são abertas portas (na configuração default) na faixa privilegiada (0-1023)
Estrutura de diretórios
Sistema de arquivos após instalação (com o diretório server expandido): Estrutura de diretórios

NOTA: Alguns diretórios são criados dinamicamente quando você começar JBoss. Alguns diretórios podem não existir em versões mais velhas.
* bin: contém vários manuscritos e arquivos associados. Isto é onde a corrida e manuscritos de paralisação de empresas que começam e parada JBoss, resida.
* client: configuração de lojas e arquivos de jarro dos que podem ser precisados por uma Java cliente aplicação ou um recipiente de teia externo. Você pode selecionar arquivos como exigido ou pode usar jbossall-client.jar.
* docs: contém informação útil
o docs/dtd do: contém o XML DTD usou em JBoss para referência (esta também são uma fonte útil de documentação em JBoss configuração particulares).
o exemplos do: contém configurações opcionais:
+ bindingmanager: configuração de exemplo para o serviço que liga para cópias de múltiplo correntes em jboss com portos diferentes na mesma máquina.
+ jca: exemplo configuração de JCA arquiva por montar datasources para bancos de dados diferentes (como MySQL, Oráculo, Postgres) e acesso para legado sistemas de EIS.
+ jms: configurações de exemplo para persistência de jbossmq diferente, gerente estatal e factorys de conexão
# #standalone: um manuscrito para fazer uma configuração de servidor de jbossmq mínima
+ jmx: adicional e desenvolvimentos de administração de legado
+ netboot: uma aplicação de teia usou quando jboss de netbooting
+ remoting: um acesso cedo do serviço de remoting de JBoss4
+ tomcat: manuscritos por instalar versões diferentes de Gato macho
+ varia: serviços adicionais
# #loadbalancer: um desenvolvimento para jboss corrente como um loadbalancer de http
* lib: arquivos de jarro que são precisados correr o microkernel de JBoss. Você nunca deveria somar quaisquer de seus próprios arquivos de jarro aqui.
* server: cada um dos subdiretórios em aqui é uma configuração de servidor diferente. A configuração é selecionada passando a opção - c para o manuscrito de corrida.
o o : uma configuração de servidor começou com o - c opção
+ conf: configuração arquiva inclusive os serviços de bootstrap em jboss-service.xml
# #props: omita arquivos de propriedades de users/roles para o jmx console (de 4.0.2)
# #xmdesc: XMBean descriptors para esse MBeans com descrições estendidas
+ lib: arquivos de jarro estáticos para os serviços
+ deploy: serviços e aplicações que estão quentes desdobraram
+ data: arquivos de dados que sobrevivem reiniciam
+ tmp: arquivos temporários que não sobrevivem reiniciam
+ work: arquivos de trabalho para Gato macho
o o mínimo: um jndi mínimo e núcleo de jmx
o o deixam de comparecer: a configuração de falta (não inclua agrupando ou corba)
o o tudo: tudo consertam incluindo agrupando e corba
+ farm: desenvolvimentos em aqui estão quentes desdobrado pelo agrupamento
+ deploy-hasingleton: só são corridos de cada vez desenvolvimentos em aqui em um nodo no agrupamento
Arquivos da configuração default

* Localizados em JBOSS_DIST/server/default/conf:
o jboss-mininal.xml: versão mínima do arquivo jboss-service.xml
o jboss-service.xml: define a configuração dos serviços principais do jboss
o jndi.properties: define propriedades de configuração do contexto JNDI inicial do JBoss obtidos a partir da criação de um objeto InitialContext com um construtor sem argumentos
o log4j.xml: configurações do framework log4j utilizado pelo JBoss para as mensagens de log
* Localizados em JBOSS_DIST/server/default/conf:
o login-config.xml: configurações de autenticação do lado servidor que são aplicáveis quando utilizado o modelo de segurança JAAS
o server.policy: arquivo de políticas de segurança
o standardjaws.xml: arquivo com configurações p/ o engine CMP do EJB 1.1 (legado)
o standardjboss.xml: arquivo com configurações default p/ o container
* Localizados em JBOSS_DIST/server/default/deploy:
o standardjbosscmp-jdbc.xml: arquvivo com configurações default p/ o engine CMP
o xmldesc/<em>-mbean.xml: descritores p/ diversos XMBean de serviços configurados no arquivo jboss-service.xml
o bsh-deployer.xml: arquivo que configura o bean shell deployer, que implanta scripts bean shell como serviços JBoss
o cache-invalidation-service.xml: configurações p/ o serviço que possibilita a invalidação de caches de EJBs via notificações JMS. Desabilitado por default
</em> Localizados em JBOSS_DIST/server/default/deploy:
o client-deployer-service.xml: configurações p/ o serviço que provê suporte para aplicações clientes J2EE. Gerencia o java:comp/env (Enterprise Naming Context) para aplicações baseadas no descritor application-client.xml
o ear-deployer.xml: configura o serviço responsável pelo deploy de arquivos EAR.
o ejb-deployer.xml: configura o serviço responsável pelo deploy de arquivos EJB jars.
o bsh-deployer.xml: arquivo que configura o bean shell deployer, que implanta scripts bean shell como serviços JBoss
* Localizados em JBOSS_DIST/server/default/deploy:
o cache-invalidation-service.xml: configurações p/ o serviço que possibilita a invalidação de caches de EJBs via notificações JMS. Desabilitado por default
o client-deployer-service.xml: configurações p/ o serviço que provê suporte para aplicações clientes J2EE. Gerencia o java:comp/env (Enterprise Naming Context) para aplicações baseadas no descritor application-client.xml
o ear-deployer.xml: configura o serviço responsável pelo deploy de arquivos EAR.
o ejb-deployer.xml: configura o serviço responsável pelo deploy de arquivos EJB jars.
* Localizados em JBOSS_DIST/server/default/deploy:
o hsqldb-ds.xml: configura o serviço Hypersonic 1.7.1 (banco de dados embutido no JBoss)
o http-invoker.sar: configura o acesso dos serviços RMI e JNDI sobre HTTP
o jboss-aop.deployer: configura o AspectManagerService para a implantação de aplicações JBoss AOP (Aspect Oriented Programming)
o jboss-hibernate.deployer: configuração da implantação de Hibernate archives (arquivos HAR) que suportam aplicações utilizando o Hibernate
* Localizados em JBOSS_DIST/server/default/deploy:
o jboss-local-jdbc.rar: é um adaptador JCA que implementa a interface JCA ManagedConnnectionFactory para drivers que suportam DataSource mas não JCA
o jboss-ws4ee.sar: provê suporte a web services J2EE
o jboss-xa-jdbc.rar: é um adaptador JCA que implementa a interface Managed ConnectionFactory para drivers que suportam a interface XADataSource
o jbossjca-service.sar: é uma aplicação servidora que implementa a especificação JCA. Provê gerenciamento de conexão e facilidades para integração com adaptadores de recursos dentro do servidor JBoss
* Localizados em JBOSS_DIST/server/default/deploy:
o jbossweb-tomcat55.sar: provê um servlet engine (Tomcat 5.5)
o jms/hsqldb-jdbc-state-service.xml: provê gerenciamento de estado JMS utilizando o Hypersonic
o jms/hsqldb-jdbc2-service.xml: configura a persistência e caching JMS utilizanod o Hypersonic. Também contém o MBean DestinationManager que é o principal serviço para a implementação do JMS
o jms/jbossmq-destinations-service.xml: configura o número de filas e tópicos utilizados pelo JMS
* Localizados em JBOSS_DIST/server/default/deploy:
o jms/jbossmq-httpiol.sar: provê uma camada que possibilita o uso de JMS sobre HTTP
o jms/jbossmq-service.xml: configura o serviço JBossMQ JMS
o jms/jms-ds.xml: configura o provedor JBosMQ JMS para uso com o adaptador de recursos JCA jms-ra.ra
o jms/jms-ra.rar: é um adaptador de recursos JCA que implementa a interface ManagedConnectionFactory para JMS
* Localizados em JBOSS_DIST/server/default/deploy:
o jms/jvm-il-service.xml: configura a camada de chamada JMS in-JVM
o jms/uil2-service.xml: configura o JMS version 2 unified invokation layer. É um socket baseado em transporte, rápido e confiável que pode ser utilizado para trafegar mensagens entre JVMs
o jmx-console.war: aplicação que provê acesso para a configuração do servidor MBean
o jmx-invoker-service.sar: serviço MBean que expõe um subconjunto dos métodos da interface MBeanServer como uma interface RMI para habilitar o acesso remoto as principais funções do JMX
* Localizados em JBOSS_DIST/server/default/deploy:
o mail-ra.rar: adaptador de recursos que provê um conector JavaMail
o mail-service.xml: descritor p/ o serviço MBean que provê sessões JavaMail p/ uso no servidor JBoss
o management/console-mgr.sar,web-console.war: fornecem um console web para administração do servidor JMX. Acessível via web através do contexto web-console
o monitoring-service.xml: descritor p/ configuração dos monitores de alerta como o console listener e o email listener utilizados por notificações JMX
* Localizados em JBOSS_DIST/server/default/deploy:
o properties-service.xml: descritor p/ o serviço MBean que possibilita definições de propriedades do sistema
o scheduler-service,schedule-manager-service.xml: descritores que proveêm uma tipo de serviço agendador
o sqlexception-service.xml: descritor p/ o serviço MBean que manipula exceções SQLException dependentes de fabricante
o uuid-key-generator.sar: serviço que provê facilidades para geração de chaves
Iniciando e parando o JBoss
* Coloque JBOSS_DIST/bin no PATH
* Para iniciar:
o run.sh
* Para executar uma configuração específica:
o run -c
o Exemplos:
+ run -c all
* Para parar:
o shutdown.sh -S
Executando o JBoss como serviço
* Veja os scripts de exemplo em JBOSS_DIST/bin:
o jboss_init_redhat.sh
o jboss_init_suse.sh
Nossa! Muito boa essa sua explicação!
Muito obrigado kraus!
falow.
Tenho uma aplicacao j2ee, rodando em tomcat, e gostaria de passar para jboss. Pelo pouco que sei nele é possivel controlar as transacoes nas tabelas. Qual versao do jboss devo utilizar? Poderia me dar algumas dicas.
:thumbup:
valeu pelas informações!!
greaseflog O JBoss está na versão 6.0.0, Mas aqui na empresa agente usa o JBoss 4.2.1, é estável e suporta Hibernate, Struts, JSF, e a maioria das frameworks que está no mercado.
Caraca…este tópico vai ultrapassar eras… a cada dois anos tem um respondendo a pergunda he he he… em 2013 alguém aparece por aqui falando novamente do jboss…kkkk mas já vou continuar o tópico… Qual é o mais usado hoje em empresas… TomCat, JBoss ou GlassFish?
kkkkkkkkkk
Eu acredito que seja o Tomcat…
kkkkkkkkkk
Eu acredito que seja o Tomcat…
O TomCat (Basicamente) é a implementação de WebContainer do JBOSS.
Galera, blz!
Alguém pode fazer uma indicação de um bom livro de Jboss?
Gostaria de aprender mais sobre a estrutura, fazer otimizações, segurança, etc…
Abs
Galera, blz!Alguém pode fazer uma indicação de um bom livro de Jboss?
Gostaria de aprender mais sobre a estrutura, fazer otimizações, segurança, etc…Abs
tem alguns tópicos aqui ja falando sobre isso…
eu nunca li nenhum livro sobre o JBoss… mas eu recomendo ler a documentação dele… ela é bem completa, cara… explica tudo o que você precisar, e tem uma comunidade bem ativa… não sei se é necessário um livro sobre isso…
é todo mundo já respondeu tudo 
Qualquer dúvida é só postar…
abraços.